Trigger price source (pxs=, sls=, tps=), by exchange
A stop or trigger order waits for a price, and exchanges can watch more than one: the last trade, the mark price, or an index built from several venues. pxs= tells Autoview which one to ask for. The values are last, mark and index. sls= and tps= do the same for a stop loss and a take profit, but only one exchange reads them.
This page comes from the Autoview integrations code that runs on our servers today. We read the code; we did not send these orders live for this guide.
What each value becomes
| Exchange | Read on | last | mark | index |
|---|---|---|---|---|
| Binance Futures, Binance Delivery | The order's trigger (sl=, tp=, ts=) | Contract price | Mark price | Contract price (index is not mapped) |
| Bitget futures | px= and ts= plan orders | Fill (last) price | market_price, see below | Fill (last) price (index is not mapped) |
| BitMEX | px=, sl=, tp=, ts= | Last price | Mark price | Index price |
| Bybit | px= (pxs=), sl= (sls=), tp= (tps=) | Last price | Mark price | Index price |
| Bybit copy trading | sl= and tp=, both from pxs= | Last price | Mark price | Index price |
| Crypto.com | px= stop orders | Last price | Mark price | Index price |
| Gate.io Futures | px= trigger orders and ts= trailing orders | Last price | Mark price | Index price |
| KuCoin Futures | sl= and tp= | Last trade price | Mark price | Index price |
| KuCoin Futures copy trading | sl= and tp= | Last trade price | Mark price | Refused with an error |
A value Autoview does not know, such as a typo, is treated like last on every exchange in the table, except Crypto.com, where it is treated like mark.
When you leave it off
Leaving pxs= off does not always mean the exchange picks. On Bitget, BitMEX, Bybit, KuCoin Futures and Gate.io Futures price triggers, Autoview sends its own default, which is the last price. On Crypto.com it sends the mark price. On Binance Futures, Binance Delivery and Gate.io Futures trailing orders, Autoview sends nothing, so the exchange's own default applies.
Exchange by exchange
- Binance Futures and Binance Delivery. An Autoview line here is one order.
sl=,tp=orts=turns that order into a stop, take profit or trailing stop, andpxs=markmakes it trigger on the mark price. Onlymarkis mapped, sopxs=indexquietly becomes the contract price. Autoview attaches the setting wheneverpxs=is on the line, also on a plain limit or market order; we have not checked what Binance does with it there. - Bitget futures. Read on a
px=trigger order and ats=trailing order.pxs=markis sent to Bitget asmarket_price. We have not confirmed against Bitget's documentation that this value selects the mark price, so check one small order on the exchange before you rely on it. Attached stops are not given a trigger source. Bitget spot never readspxs=. - BitMEX. All three values work, on
px=,sl=,tp=andts=. - Bybit. The only exchange with three separate settings.
pxs=is the trigger for apx=conditional order,sls=for the stop loss andtps=for the take profit. Sopxs=markalone does not move your stop loss to the mark price; you needsls=mark. The same applies when ac=positionline sets stops on an open position. See the Bybit command reference. - Bybit copy trading. Reads
pxs=for both the stop loss and the take profit.sls=andtps=are not read. - Crypto.com. Read on
px=stop orders, with the mark price as the default. See the Crypto.com command reference. - Gate.io Futures. Read on
px=trigger orders and onts=trailing orders. Gate.io spot never reads it. - KuCoin Futures. Read on
sl=andtp=. On the copy trading connection,pxs=indexis refused with an error rather than swapped for another price. See the KuCoin Futures command reference.
Where pxs= does nothing
Every other connection never reads pxs=, sls= or tps=: Alpaca, Binance spot, Binance.US, Bitfinex, Bitget spot and copy trading, Capital.com, Charles Schwab, Coinbase Advanced, Deribit, Gate.io spot, Gemini, HTX (Huobi), Hyperliquid, Kraken, Kraken Futures, KuCoin spot, OANDA, OKX, TradeStation and Tradovate. The line is accepted and the order goes out, but the exchange decides which price its stops watch.
An example
e=bybit s=BTCUSDT b=buy t=market q=0.001 sl=-2% sls=mark tp=4% d=1That is a Bybit market buy with a stop 2% below that triggers on the mark price, and a target 4% above that triggers on the last price, the default. Swap sls=mark for pxs=mark and the stop would trigger on the last price instead.
Test it once before you rely on it
Add d=1 and send the line. The log shows the order Autoview would send, including the trigger setting. Then place one small order and check the trigger type on the exchange's open orders. For the trigger orders themselves, see trigger orders (px=) by exchange, and for stops and targets in general, stop loss, take profit and trailing stop.