Knowledge · Terms · Stop Loss

Stop Loss

Indicator concept
Stop Loss Order
Automatic exit order that closes a position when price moves against the trader. The only reliable risk-management tool.

Why

Without a stop-loss, every trade is an unbounded bet. Markets can move further than you think possible — and hoping is not a strategy. Van Tharp and Ed Seykota agree on one point: the most important thing is to keep losses small.

Mechanics in Botty

Botty places entry and stop grouped atomically via bulk_orders(grouping="normalTpsl"). As a result, a position never exists without a stop — not even for a few seconds.

execution/ensure_stop_loss() additionally checks on every tick whether an open position has an associated reduce-only stop. If not → an emergency stop is placed immediately.

How is the stop positioned?

  1. Structure-based — below the last swing low / above the last swing high.
  2. ATR-based — entry − n · ATR. Botty default: ATR_STOP_MULTIPLIER (config.py).
  3. Percentage-based — fixed distance (e.g. 2%).
  4. Time-based — close the position after X candles without profit (less classical).

Risk per trade

risiko_usd = Account-Value × Risk%. Choose the position size so that exactly this amount is lost on a stop hit. Usually 0.5–2% per trade (Botty: see config.py → POSITION_SIZE_PCT and MAX_POSITION_USD).

Common beginner mistakes

  • Moving the stop further away as soon as it threatens to trigger. → turns small losses into catastrophes.
  • Stops at obvious levels (round numbers, recent highs/lows). → high probability of getting spiked out.
  • No stop on volatile assets, justified with "it always wicks around briefly anyway" → no.