> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intention.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# My TP/SL did not trigger

> Why a take-profit or stop-loss did not fire, or fired at a price you did not expect.

Take-profit and stop-loss orders trigger on the **mark price**, not the last traded price. That single fact explains most of what looks wrong.

## It did not fire, but the price got there

**The last trade reached your level. The mark price did not.**

Mark price is a smoothed reference, deliberately harder to move than the last print — precisely so a single trade cannot trigger stops across the venue. A wick on the chart that touches your level is not necessarily a mark price that touched it.

Check the mark price history rather than the candle chart. See [Mark price](/trading/mark-price).

**Why it works this way:** if stops triggered on last trade, one trader could push a thin book for a moment and harvest every stop below. Triggering on mark price makes that attack far more expensive.

## It fired at a worse price than I set

The trigger price and the fill price are different things.

Your trigger fires an order into the book. What that order gets is whatever liquidity exists at that moment. In a fast move, the book at your trigger price can be gone before your order arrives.

A stop-loss is not a guaranteed exit price. It is a guaranteed *attempt* at the moment the trigger is reached.

**To bound it:** use a stop-limit rather than stop-market, and accept the trade-off — a stop-limit will not fill at all if the market gaps past your limit, leaving you in the position you were trying to exit. Neither choice is free. See [TP/SL](/trading/tp-sl).

## It fired but the position is still open

**The order was smaller than the position.** A partial TP/SL closes part of it and leaves the rest.

**Something else consumed the size first.** If you closed part manually, the remaining trigger may now exceed what is left.

## It vanished

**The position closed.** A TP/SL attached to a position it no longer has is cancelled — including when [liquidation](/trading/liquidations) got there first.

**The position flipped.** A stop attached to a long is meaningless once you are short.

## Liquidation reached it first

Your stop-loss is your order at your price. [Liquidation](/trading/liquidations) is the protocol closing you when margin no longer covers the position, and it does not wait for your stop.

If your stop is *beyond* your liquidation price, it will never fire — you will be liquidated first, at a worse outcome with a penalty. Check both numbers in the ticket before you rely on a stop: if your liquidation price sits between the current price and your stop, the stop is decorative.

<Warning>
  A stop-loss placed further from entry than your liquidation price provides no protection at all. This is a common and expensive misconfiguration. Reduce leverage to push liquidation away, or move the stop closer.
</Warning>

## When it is worth a ticket

Raise it if the **mark price** demonstrably crossed your trigger and nothing happened. Include the market, the trigger price and direction, the UTC time you believe it should have fired, the order ID, and what you observed instead.

Send it to `contact@intention.xyz`.

## Where to go next

<CardGroup cols={2}>
  <Card title="TP/SL" href="/trading/tp-sl">
    How triggers are evaluated.
  </Card>

  <Card title="Mark price" href="/trading/mark-price">
    Why triggers do not use the last trade.
  </Card>

  <Card title="Liquidations" href="/trading/liquidations">
    The close that does not wait for your stop.
  </Card>

  <Card title="Conditional orders" href="/trading/conditional-orders">
    The wider family of triggered orders.
  </Card>
</CardGroup>
