Stops & exits

Trailing stop (modifier)

Stop follows price by a fixed callback percent once a profit activation level is reached.

1 min readUpdated Jun 19, 2026

A trailing stop adjusts upward (for longs) as price makes new highs, never moving against the trade. The result: when price finally reverses, the position closes at the high-water mark minus the callback distance.

Shape

"trailing_stop": {
  "enabled": true,
  "activation_pct": 1.5,
  "callback_pct": 0.5
}

Params

  • enabled - toggle on/off.
  • activation percent - the trailing stop arms only after unrealized profit reaches this percent. Below activation, the original stop applies.
  • callback percent - once armed, the stop trails the high-water mark by this percent.

Usage

Best for trend-following strategies that want to capture the bulk of a long move without picking a specific exit target. Pairs naturally with a wide initial stop and no fixed take profit.

Native vs client-side

If your exchange supports native trailing stops (BitMEX, Binance, ByBit), the engine sends the trail to the exchange. Hyperliquid + LNMarkets don't - the engine emulates the trail client-side using the WebSocket fill stream. Either way, the configuration is the same in the strategy JSON.

Pitfalls

  • Tight callback in chop = constantly stopped out at the high-water mark with most of the profit unrealized.
  • Activation too high = trailing never kicks in for short bursts that don't reach activation.
  • Multi-leg strategies: trailing fights with native SL/TP for the same position. The engine routes around this, but expect to see "trailing replaced existing stop" log entries.
Trailing stop (modifier) | Help Center | LucraX · LucraX