For traders

Targets & Stops

A signal names the trade; targets and stops price it. For every actionable signal the Suite can project three derived levels — magnitude (the measured target), exhaustion (the extended target), and a stop — plus a shaded Take Action Window between trigger and target. This doc covers what each level means in TheStrat method, how the Suite computes it, how it renders, and every setting that touches it.

Bar-type notation is defined in bar-types.md; signal types and in-force rules in signals.md — this doc assumes both.


The levels at a glance

Level Price Label Default One line
Trigger C1 high / low combo (2d-1-2u) per family Entry — covered in signals.md
Magnitude C2 high / low MAG (TARGET) On The measured move: traverse the range the setup formed against
Exhaustion Nearest untested swing beyond EXH (FINAL) On Where the move may structurally finish
Stop Opposite extreme of CC or C1 STOP Off Where the signal's premise is dead
Take Action Window trigger → target, shaded — On The zone where entering still leaves room

Labels in parentheses are the Universal-mode names. All levels are computed per timeframe slot from that timeframe's own candles — a 1H magnitude and a Daily magnitude are independent levels that happen to share a chart.


Magnitude — the measured move

TheStrat's target logic is mechanical: a triggered signal is expected to traverse the range it broke out against. Enter a 2d-1-2u over the inside bar's high, and the target is the high of the 2d bar — C2's extreme on the break side. No projection math, no multipliers; the level already printed.

The Suite snapshots C2's high and low at period open (served from completed bars — see ../engineering/repaint-prevention.md for why that matters). The line draws from C2's candle forward to the projected end of the current period, in the signal color, solid.

When magnitude doesn't draw, it's one of these — each is deliberate:

The full gate battery, with the engineering rationale for each, is in ../engineering/drawing-decisions.md (Stage 4).


Exhaustion — where the move may be done

Exhaustion is the closest prior swing high (or low) that price hasn't been back through since it printed — the nearest level that still holds untested structure beyond the magnitude. A move that reaches it has taken out every nearer extreme; expecting more from the same signal is asking a lot.

findExhaustionLevels runs inside each timeframe's own bar context: it scans up to ~48 completed bars back for the first pivot (an extreme higher than both neighbors) that also stands beyond every bar between it and now. Each side is independent, and either can legitimately not exist — price near its recent extreme has no untested swing above it, and the Suite draws nothing rather than inventing a level. Wherever the Suite needs "the far target" and no exhaustion exists, magnitude serves the same role (break-even triggers, the Advanced exhaustion behaviors below).

Details that follow from the definition:


Hit levels turn grey, not off

When price touches a magnitude or exhaustion level, a per-period latch sets and the line changes to the Crossed color (Style → Bullish/Bearish Levels; grey by default). The level stays on the chart for the rest of the period — including exhaustion levels whose trigger line is already gone. A target you reached is a record, not clutter; removing it would hide the most important fact of the session.

The latches are monotone — once crossed, crossed for the period — and they feed everything downstream: line color, Take Action Window removal, break-even stops, and the Advanced exhaustion behaviors.


Take Action Windows

The shaded box between the trigger and the target is the take-action zone: while price is inside it, entering still leaves room to the objective. The box is drawn from the setup candle forward, filled and bordered in the signal color at low opacity (Fill 8 / Border 30 by default).

Behavior worth internalizing:

Each direction's box checks only its own trigger line — the opposite trigger is often legitimately suppressed exactly when a signal is in force (FIX TAW-1).


Stops

Off by default — the Suite doesn't presume to manage your risk until asked (Stops → Stop Levels → Enable). When on, a stop draws on the opposite side of every signal that goes in force, as a solid line from the current period's open.

Reference — the one setting to actually think about:

Mode Stop price Character
CC (default) The breakout bar's own opposite extreme — tracks live while the candle forms, final when it closes Tighter. Invalidated when the breakout candle itself is fully reversed
C1 The prior bar's opposite side, locked the moment the signal goes in force Wider. Invalidated when the whole setup range is taken out

Failing 2s always use CC regardless of the setting — the failed candle is the trade, so its extreme is the only honest invalidation.

The rules that make stops trustworthy:

  1. Sticky for the period. The stop latches the first time the signal goes in force and persists to period end even if the signal falls back out of force — price dipping under the trigger doesn't mean your fill went away. Surviving a chart reload with this lock intact is FIX P1-a in ../engineering/repaint-prevention.md.
  2. Immune to exhaustion gating. The latch keys off raw in-force before the "Exhaustion Disables In Force" behavior is applied — an Advanced display preference can never unhook a protective stop.
  3. Never cosmetically hidden. Stop lines are excluded from cross-timeframe price-collision suppression (see the comment in collectLinesFromTF, and ../DESIGN_CONSTRAINTS.md). The only thing that removes a stop mid-period is the Lead Signal filter suppressing the counter-trend side it belongs to — a stop never vanishes on its own.

Break even (both off by default): move the stop to the entry trigger when price crosses magnitude or exhaustion respectively. Each falls back to the other level when its own doesn't exist, so "break even at magnitude" still works on a signal that only has an exhaustion target. At break even the stop coincides with the trigger line, so the separate stop line and label fold away and the trigger label gains a + STOP suffix.

Color: Opposite Signal (default — a long's stop wears the bearish color, which reads correctly: crossing it is the bearish event), Match Signal, or Custom with a single color.


Targets and "in force"

Three interactions, all opt-in:


Detection vs signal nuances

signals.md defers these; here they are:


Every setting that touches these levels

Group Setting Default
Targets — Magnitude & Exhaustion Show Magnitude Levels / Only When In-Force On / Off
Targets — Magnitude & Exhaustion Show Exhaustion Levels / Only When In-Force / Only After Magnitude Hit On / Off / Off
Targets — Take Action Windows Show Take Action Windows / Only When In-Force On / On
Targets — Take Action Windows Extend to Exhaustion / Only When In-Force / Fill & Border Opacity On / On / 8 & 30
Stops — Stop Levels Enable / Reference / Break Even at Mag / at Exh / Color Mode / Custom Color Off / CC / Off / Off / Opposite Signal / white
Style — Bullish & Bearish Levels Crossed colors (hit-level grey) greys
Advanced — Exhaustion Behavior Exhaustion Disables 'In Force' / Excludes from FTFC Off / Off
Advanced — Outside Bars Show Magnitude / Show Exhaustion for Outside Bars On / On
Advanced — Take Action Windows Include Failing 2s / Include Outside Bars On / On
Alerts — Detailed MAG / EXH / STOP fields appended to the consolidated alert Off

One performance note: with both target toggles off, the exhaustion pivot scan doesn't run at all (see ../engineering/performance.md).


Why a specific level isn't drawing: the gate-by-gate walkthrough and diagnostic table in ../engineering/drawing-decisions.md. Why none of these levels move on reload: ../engineering/repaint-prevention.md.