Skip to main content

Trailing Stop & TP Optimizer

TRADEOS.tech continuously adapts stop-loss and take-profit levels using historical trade outcomes, current volatility regime, and live market microstructure. Static stops are a starting point — the system tunes them as it learns what actually works for each strategy.


Why dynamic stops matter

A stop set in a calm ranging market is the wrong stop in a high-volatility or crash regime. Applied without adjustment, it will get hit by noise before the trade has a chance to work. The optimizer widens stops when the market demands breathing room and tightens them when conditions are favorable — automatically, without operator intervention.

The same principle applies to take-profit targets. A strategy's optimal exit point shifts with market conditions. The optimizer tracks realized outcomes per strategy and adjusts targets to improve reward-to-risk ratios over time.


How adjustments are computed

For each strategy with sufficient trade history, the optimizer evaluates a set of performance signals from recent outcomes. These signals inform whether stops are too tight (getting hit prematurely), whether take-profit targets are undershooting realized move potential, and whether the current win rate supports tighter or looser parameters.

The adjustments are then scaled by a volatility regime scalar derived from the current market regime classification. The scalar widens stops in high-volatility and crisis regimes and tightens them in stable, ranging environments — ensuring that stop placement reflects the actual noise level of the market rather than a static assumption.

An additional override applies when the Bayesian change-point detector signals a recent regime transition. During regime transitions, stop widening is enforced regardless of the current regime label — because the previous stop calibration was tuned to the old regime, not the new one.

All adjustments are bounded by hard safety limits and capped at a maximum change per cycle. Specific bounds, scalars, and triggers are proprietary and calibrated continuously from live performance data.


Trailing tighten on strength

When a position is in profit and live signal health is confirmed strong, the optimizer computes a tighter trailing stop proportional to the unrealized profit. Greater profit enables a tighter ratchet — the system locks in gains more aggressively as a position runs.

Two guards prevent premature tightening:

  • Regime transition guard — if a regime change is detected, tightening is suspended. A tight stop during a regime transition invites whipsaw against the incoming volatility.
  • Order flow conviction modifier — the Hawkes order flow model provides a directional conviction signal. When flow is strongly aligned with the position, the tighten rate increases. When flow is counter-directional, it decreases. The system locks in profit faster when the tape confirms the position and more cautiously when it doesn't.

The trailing stop is a ratchet — it only moves in the favorable direction. A stop once tightened cannot be loosened by a subsequent calculation.


Integration with the Live Signal Monitor

The trailing tighten is triggered by the Live Signal Monitor when it determines a position is in a confirmed-strong state with positive P&L. The two systems work together: the monitor watches for thesis degradation and exits early when conditions collapse, while the trailing stop optimizer locks in gains when the thesis is confirmed intact.


Persistence and auditability

Adjusted stop and TP levels are written to the state store keyed by strategy and expire automatically to prevent stale values from persisting across regime changes. The execution service reads these values when placing stops for new entries.

Every adjustment record includes a human-readable reason string explaining what drove the change — which performance signal triggered it, which regime scalar was applied, and whether any safety bounds were activated. The full adjustment history is available in the audit trail.