Skip to main content

Documentation Index

Fetch the complete documentation index at: https://uncoded.ch/docs/llms.txt

Use this file to discover all available pages before exploring further.

Stop-losses and trailing stops are the per-position protection layer. While the kill switch is a global pause, stops are per-trade — bounding the worst-case outcome on any individual position. Configured correctly, they ensure no single trade can do catastrophic damage.

The two types of stops

Hard stop-loss

A fixed price level (typically -15% to -25% from entry, mode-specific). When hit, the position closes at market. Bounds the worst-case per-trade loss.

Trailing stop

A dynamic level that follows the highest price observed since arming. Once armed, the trailing stop locks in profit by closing if price retraces by the trailing distance. Captures trend rides.

Hard stop-loss — the worst-case bound

Every shipped mode has a hard stop-loss configurable per mode. When the price falls to the configured level (e.g., -20% from average entry), the position closes at market.The stop-loss does not wait for the sell ladder to fill. It overrides the sell ladder when triggered. Once triggered, the position closes at whatever fill price the market currently provides.
Each mode has its own default stop-loss. Conservative modes (BasicMode, LowMoney) have stricter stops; patient modes (LongTimeLong) have looser stops to accommodate their wider drawdown tolerance.The Modes panel in the Dashboard shows the exact stop-loss configuration for each active mode.Operators can tighten or loosen the stop-loss per mode. Tightening protects against deeper drawdowns at the cost of more frequent stop-outs (small losses); loosening accommodates larger drawdowns at the cost of larger worst-case losses.
A market-order close at the stop-loss level. The TradingBot:
  1. Cancels any open sell-ladder rungs.
  2. Places a market sell for the full position.
  3. Records the closure with the stop-loss flag in the trade ledger.
  4. Sends Telegram notification of the closed trade (showing the loss).
Stop-loss triggers a market order. In fast-moving markets, the actual fill price can be worse than the stop level. Typical slippage on majors at moderate size: 0.05% to 0.5%. On thin altcoins or during volatility spikes: can be much higher.The stop-loss bounds the trigger level, not the actual fill price. Real worst-case includes slippage on top.Operator implication: factor slippage into your worst-case planning. A -20% stop-loss may produce a -21% realized loss after slippage on a bad day.
You can disable the per-mode stop-loss in the Modes panel. This is strongly discouraged.Without a stop-loss, a position with deep drawdown has no automatic exit. Operator vigilance is the only safety net. For 99% of operators, that’s not sufficient.Keep the stop-loss enabled. Tightening or loosening is fine; disabling is not.

Trailing stop — protecting profit

The trailing stop is a dynamic price level that follows the highest price observed since the position became profitable. Once armed, the trailing stop sits at a configured distance below the highest price.As price makes new highs, the trailing stop moves up with it. As price retraces by the trailing distance from a peak, the position closes.This locks in profit on trending positions while letting them ride.
The trailing stop doesn’t activate immediately on a buy fill. It arms once the position has reached a configured profit level (e.g., +2% profit).Until armed, the position behaves under the regular sell ladder. Arming threshold prevents a fast-and-sharp bounce immediately after entry from tripping the stop too early.
The distance the price has to retrace from its peak to trigger the stop. Typical values: 1.5% to 5%.Tighter distance: locks in more profit but exits earlier on minor pullbacks. Wider distance: gives the position more room to breathe but exits at lower retraced levels.Mode defaults are calibrated for typical regime behavior. Tune carefully based on observed instrument behavior.
  • BasicMode (Mode 4): NO trailing stop. Pure sell ladder.
  • FullBullMarket (Mode 1): YES.
  • LongTimeLongMoreProfit (Mode 2): YES.
  • LongTimeLong (Mode 3): YES.
  • LowMoney (Mode 5): NO.
  • MinimalMoney (Mode 6): NO.
  • Tsl2Sell (Mode 7): YES — and trailing-dominant (the primary exit).
  • MarketMaker (Mode 1001), MarketMakerMinimal (Mode 1002): N/A (different exit mechanism).

The downtime weakness — important caveat

Trailing stops are locally re-priced. The bot tracks the highest observed price internally; the trailing stop reference advances as new highs are made. This works perfectly while the bot is running.The weakness: while the bot is offline (VPS reboot, network blip, container restart), the trailing-stop reference does NOT advance. On reboot, the stop is at its last server-side level, not at the highest price during the gap.If the price made new highs during the offline period AND price subsequently retraced past those new highs, the bot may not exit at the level it would have under continuous operation. The exit price can be lower than expected.Operational implications:
  • Minimize bot downtime — quick restart cycles, stable VPS.
  • Use NTP-synced clocks to avoid timestamp-related rejections that cause indirect downtime.
  • Run on quality VPS providers — restart frequency matters for trailing-stop modes.
  • Plan VPS reboots during quieter market sessions if running tight trailing stops.
For BasicMode (no trailing stop), this weakness is irrelevant. For trailing-stop modes, it’s a real consideration.

Stop-loss vs sell ladder — interaction

The stop-loss and the sell ladder coexist on every position:
  • Sell ladder: +0.25% to +5% (BasicMode example) — captures profit as price rises.
  • Stop-loss: e.g., -20% from entry — bounds worst-case loss.
A position can exit via either mechanism. Most positions exit via the sell ladder (price moves up, rungs fill). The stop-loss is the “safety net” for positions that go badly against you. In well-functioning modes, stop-loss triggers should be rare — perhaps 5–15% of all closures. If you see consistently high stop-loss-trigger rates, the mode-symbol combination is mismatched and needs review.

Tuning stop-loss values

The shipped defaults err toward worst-case-bounded. Operators sometimes want tighter stops for their risk tolerance.Tightening from -20% to -15%: more frequent stop-outs (more small losses), but smaller worst-case per-trade loss.Loosening from -20% to -25%: fewer stop-outs (more positions ride through drawdowns), but larger worst-case per-trade loss.
Stop-loss tuning has substantial impact on equity curve. Before changing live, backtest the new value against your historical regime.A tighter stop might dramatically reduce max drawdown but also reduce total return (because stops trigger on dips that would have recovered). Trade-off.
The right stop-loss value is the one you can live with seeing trigger. If a -25% stop-out makes you panic-close adjacent positions, that’s a real cost — your tighter stop should reflect your actual stress tolerance.Operator emotion is part of the system. Configure the stops to keep you in the system, not for theoretical optimum.

Common stop-loss mistakes

“I want to ride through any drawdown to capture the eventual recovery.”Reality: not all drawdowns recover. Symbols delist, projects fail, regimes shift permanently. A position with -50% drawdown and no stop-loss is a position that may go to zero.Fix: keep the stop-loss enabled. If you want to override on a specific position, do it manually (close earlier or later as you see fit) but keep the automatic safety net.
-5% stop-loss on BasicMode is too tight — normal drawdowns will trigger it constantly, and you’ll never let trades work.Fix: the default values are tuned for the modes’ designed behavior. Tighten only with backtest evidence.
-50% stop-loss is essentially no stop-loss. By the time it triggers, the damage is done.Fix: stay within -15% to -25% for most operators. Tighter for risk-averse, looser for explicitly-patient modes.
BTC, ETH, SOL move together in many regimes. Different stop-losses across them can produce inconsistent risk exposure.Fix: similar stop-losses on similar-correlation pairs. The diversification value comes from picking different correlation profiles, not from inconsistent stops.

Best practices

  • Keep the stop-loss enabled on every active mode.
  • Verify stop-loss values are sane during weekly review — -15% to -25% is typical.
  • Backtest stop-loss changes before applying live.
  • Don’t override stop-loss values without specific reason — defaults are calibrated.
  • For trailing-stop modes, minimize bot downtime — tight VPS reboots, NTP-synced clocks.
  • Don’t run aggressive trailing stops on volatile pairs — the downtime weakness compounds with volatility.
  • Watch stop-loss trigger frequency — high frequency suggests mode-symbol mismatch.
  • For BasicMode operators: no trailing stop is by design. Don’t try to add one.
  • Plan for slippage at stop-out — the realized loss can exceed the trigger level.
  • Stop-losses are necessary but not sufficient — the kill switch and capital allocation matter equally.

What’s next

Kill switch

Global pause — works alongside per-position stops.

Capital allocation

Sizing per pair determines absolute stop-loss exposure.

Reserves

The buffer that absorbs accumulated drawdowns.

Mode-specific stops

Per-mode stop-loss defaults.
Last modified on May 3, 2026