Invalidation¶
When a Setup Is Invalidated¶
A previously valid setup can become invalid during the session. Invalidation is permanent for the current session direction -- once invalidated, the strategy does not re-enter in the same direction. It either finds a new setup (rare in V1, which favors one trade per session) or reports no-trade.
Invalidation Conditions¶
1. Both Sides Swept (INVALID Hunt)¶
Source: Session Hunt AI
When both the session high and session low are swept, the hunt state transitions to INVALID. This means both sides of the liquidity pool have been taken, and there is no clear directional draw remaining.
Exception: If a re-extension range forms after both sides are swept, the re-extension creates a new range. If only one side of the re-extension is swept, the hunt is valid again using the re-extension levels. See condition 6 for double invalidation.
2. Target OB Fully Mitigated¶
Source: OB AI
The order block that was the basis for the entry is fully mitigated -- price broke through both OB boundary lines, and OB AI has deleted the lines from the chart.
INVALIDATED WHEN:
target_ob no longer appears in data_get_pine_lines results
OR target_ob no longer appears in data_get_pine_boxes results
Partial mitigation (OB spent, dotted lines) also invalidates the entry at that specific OB, but the setup may survive if another unspent OB exists in the path. Full mitigation (lines deleted) means the zone is completely gone.
When the target OB is mitigated:
- Check if another unspent OB exists in the path between price and DOL.
- If yes, the setup shifts to the next OB. New entry levels are computed.
- If no, setup condition 4 fails. No-trade.
3. Daily Bias Flips¶
Source: Bias AI
A new daily candle close changes the Bias AI table state. If the daily bias flips from the direction that initiated the setup, the foundational premise is gone.
INVALIDATED WHEN:
setup.direction == "long" AND bias.daily changed to "bearish" or "neutral"
OR
setup.direction == "short" AND bias.daily changed to "bullish" or "neutral"
Bias flips are rare intraday (they require a new candle close on the daily timeframe), but they can occur at the 17:00 ET futures session boundary when a new daily candle opens.
4. Confirming SMT Divergence Broken¶
Source: SMT Divergences
If the setup had an active SMT divergence contributing to its confluence score, and that divergence is subsequently broken (the paired instrument confirms the move that was previously diverging), the confluence score drops by 2.
INVALIDATED WHEN:
smt divergence that was active at setup time is no longer active
(line deleted or label removed by SMT Divergences indicator)
AND
new_confluence_score < minimum_required (5)
If the confluence score remains at or above 5 after losing the SMT factor, the setup is not invalidated -- it is downgraded but still valid.
5. Past EOD Cutoff¶
Source: System clock
The end-of-day cutoff is a hard boundary. After 15:00 ET for the NY session (or 07:00 ET for London session), no new entries are permitted.
| Session | EOD Cutoff |
|---|---|
| NY | 15:00 ET |
| London | 07:00 ET |
This is a time-based invalidation that applies regardless of setup quality. A 9/9 confluence setup at 15:01 ET is still a no-trade.
6. DOL Target Already Reached¶
Source: Bias AI
The draw-on-liquidity target (PDH or PDL) has been reached. Bias AI signals this by changing the DOL line color to after_raid_color. Once the target is hit, there is no further draw -- the premise of the trade is complete.
If the DOL is hit while a position is open (future V2/V3 concern), this would signal target reached, not invalidation. In V1 (decision support), it means no further entries toward that target.
Invalidation Priority¶
When multiple invalidation conditions occur simultaneously (e.g., OB mitigated and EOD cutoff in the same scan), the strategy reports all applicable reasons in the no_trade_reasons array.
The reasons are ordered by their condition number (1-6) for consistency.
Invalidation vs. No-Trade¶
| Concept | Meaning |
|---|---|
| Invalidation | A previously valid setup has become invalid due to market action or time. |
| No-trade | The setup conditions were never fully met (e.g., neutral bias from session start). |
Both result in setup_valid: false in the StrategyFlags output. The distinction is tracked in the no_trade_reasons array:
- Invalidation reasons use past-tense verbs:
ob_mitigated,bias_flipped,smt_broken,target_reached. - No-trade reasons use present-tense descriptions:
neutral_bias,invalid_hunt,no_ob_in_path,hunt_bias_mismatch.
Invalidation Flowchart¶
flowchart TD
VALID([Setup Currently Valid]) --> CHECK{Continuous<br/>Monitoring}
CHECK --> I1{Both sides<br/>swept?}
I1 -->|Yes, no reext| INV1[INVALIDATED<br/>both_sides_swept]
I1 -->|Reext formed| REEXT{Reext only<br/>one side swept?}
REEXT -->|Yes| VALID
REEXT -->|Both swept| INV6[INVALIDATED<br/>double_invalidation]
I1 -->|No| I2{Target OB<br/>mitigated?}
I2 -->|Fully mitigated| NEXT{Another unspent<br/>OB in path?}
NEXT -->|Yes| SHIFT[Shift to<br/>next OB]
NEXT -->|No| INV2[INVALIDATED<br/>ob_mitigated]
SHIFT --> VALID
I2 -->|No| I3{Bias flipped?}
I3 -->|Yes| INV3[INVALIDATED<br/>bias_flipped]
I3 -->|No| I4{SMT broken<br/>score < 5?}
I4 -->|Yes| INV4[INVALIDATED<br/>smt_broken]
I4 -->|No| I5{Past EOD?}
I5 -->|Yes| INV5[INVALIDATED<br/>past_eod_cutoff]
I5 -->|No| I6{DOL hit?}
I6 -->|Yes| INV7[INVALIDATED<br/>target_reached]
I6 -->|No| VALID
Recovery Scenarios¶
Most invalidations are terminal. The exceptions:
| Invalidation | Recovery Possible? | How |
|---|---|---|
| Both sides swept | Yes, if re-extension forms | Re-extension creates new range with fresh hunt |
| OB mitigated | Yes, if another OB exists | Strategy shifts to next unspent OB in path |
| Bias flipped | No | Requires new daily candle close to re-establish |
| SMT broken | Partial | New SMT divergence can form, but original is gone |
| Past EOD | No | Time-based, irreversible |
| DOL reached | No | Target achieved, session objective complete |