Appearance
Are you an LLM? You can read better optimized documentation at /safety-and-reliability/signal-validation.md for this page in Markdown format
Signal Validation
Every signal that enters TTMT passes through 7 stages of safety checks before a single order is placed. These checks catch typos, implausible values, duplicate signals, and constraint violations. A signal that fails any stage is rejected with a logged reason -- it never reaches your broker.
Stage 1: Signal Sanitizer
The signal sanitizer is the first line of defense. It evaluates the AI parser's output to determine whether the extracted values are credible enough to proceed.
Two-Phase Confidence Thresholds
The sanitizer operates in two phases with decreasing confidence requirements:
| Phase | Confidence Threshold | Behavior |
|---|---|---|
| Phase 1 | 0.90 (strict) | Signal must meet all structural requirements with high confidence |
| Phase 2 | 0.80 (relaxed) | If Phase 1 fails, a second pass with relaxed thresholds catches borderline signals |
What Phase 1 checks:
- All required fields present (symbol, direction, at least one actionable price level)
- Values are numeric and within plausible ranges for the instrument
- Direction is unambiguous (BUY or SELL, not both)
What Phase 2 adds:
- Allows partial signals (e.g., missing a TP but with valid entry and SL)
- Accepts lower-confidence parses when the core structure is sound
- Catches signals from channels with unusual formatting
Why Two Phases?
A single threshold creates a cliff: signals at 0.89 confidence are rejected while 0.91 passes, even when the difference is noise. The two-phase approach gives borderline signals a second chance with relaxed requirements, reducing unnecessary rejections without lowering overall safety.
Outcome: Signals below both thresholds are rejected immediately. No further validation occurs.
Stage 2: SL Validator
The stop-loss validator ensures the signal's SL value is reasonable and correctly positioned relative to the entry price.
Wrong-Side Detection
The most common signal typo is a stop loss on the wrong side of entry:
| Direction | Valid SL | Invalid SL |
|---|---|---|
| BUY | Below entry price | Above entry price |
| SELL | Above entry price | Below entry price |
A BUY signal at 1.1000 with an SL at 1.1050 is clearly wrong -- the SL is above the entry, meaning the trade would stop out immediately if price moves in the expected direction.
Too-Far Detection
An SL that is excessively far from entry is almost certainly a typo or parsing error. The validator flags any SL where:
SL Distance > 5 × TP1 DistanceFor example, if TP1 is 50 pips away and the SL is 300 pips away, the SL is likely wrong. A legitimate SL is rarely more than 5 times the distance to the nearest take-profit.
Zone Plausibility
For signals with an entry zone, the validator also checks whether the SL makes sense relative to the zone:
SL Distance from Zone Edge > 5 × SL Distance from EntryThis catches cases where the SL is so far from the entry zone that it would create an unreasonable risk profile.
Correction Modes
When an invalid SL is detected, the system responds based on your configured behavior:
| Mode | What Happens |
|---|---|
| Reject | Trade is rejected entirely |
| Use Default | Your configured default SL (in pips per asset class) is applied |
| Auto-Correct | The system attempts to fix the SL (e.g., flip wrong-side SL) |
WARNING
Even in auto-correct mode, the corrected SL is re-validated. If the correction still produces an implausible value, the trade is rejected.
Stage 3: TP Validator
The take-profit validator runs 5 correction steps on every TP value in the signal. This is one of the most sophisticated validators in the system, because TP errors are both common and consequential.
Step 1: Wrong-Side TP Detection
Just like stop losses, take-profit targets can end up on the wrong side of entry:
| Direction | Valid TPs | Invalid TPs |
|---|---|---|
| BUY | Above entry | Below entry |
| SELL | Below entry | Above entry |
The critical detail: TTMT validates TPs against the entry zone boundaries, not the current market price. This matters in volatile conditions where the live price may have already moved past a valid TP level.
TTMT computes the correct reference point for TP validation:
| Direction | Reference Point |
|---|---|
| BUY | The lower of the zone low and entry price -- the most conservative entry |
| SELL | The higher of the zone high and entry price -- the most conservative entry |
Why Entry Zone, Not Live Price?
In a fast-moving market, the live price might be at 5392 while the signal's entry zone starts at 5377. A TP at 5391 is perfectly valid -- it is above the entry zone. But if you compare it to the live price (5392), it looks like a wrong-side TP. Using entry zone boundaries prevents valid TPs from being incorrectly rejected.
Step 2: Duplicate TP Removal
If the parser extracts identical TP values (e.g., TP2 and TP3 are both 1.1050), duplicates are removed. This prevents multiple orders from targeting the exact same price level.
Step 3: TP Ordering Validation
Take-profit targets must be in ascending order for BUY trades and descending order for SELL trades:
- BUY: TP1 < TP2 < TP3 < TP4 < TP5 < TP6
- SELL: TP1 > TP2 > TP3 > TP4 > TP5 > TP6
If the TPs are out of order, the validator re-sorts them.
Step 4: TP Distance Validation
Each TP must be a reasonable distance from entry. TPs that are absurdly close (within the spread) or absurdly far (clearly a typo) are flagged.
Step 5: TP Count Validation
The system supports 1 to 6 TPs. If more than 6 are provided, the extras are trimmed. If zero valid TPs remain after the previous steps, the signal is rejected.
Stage 4: Entry Zone Validator
The entry zone validator classifies the signal's entry zone into one of five categories and takes appropriate action.
5-Way Classification
| Classification | Condition | Action |
|---|---|---|
| Valid | Zone is well-formed and within normal range | Proceed as-is |
| Inverted | Low boundary is above high boundary | Auto-correct by swapping values |
| Narrow | Zone is unusually compressed | Accept (may result in fewer layer fills) |
| Wide | Zone exceeds 3% (forex) or 5% (metals/crypto) of price | Cap to maximum allowed width |
| Invalid | Zone fails structural checks | Reject or use auto-calculated zone |
Width Caps
Wide entry zones create excessive risk because limit orders are spread across too large a price range. The validator enforces asset-class-specific caps:
| Asset Class | Maximum Zone Width |
|---|---|
| Forex | 3% of price |
| Metals / Crypto | 5% of price |
Zones exceeding these limits are capped to the maximum. The layer entry prices are recalculated within the reduced zone.
Inverted Zones Are Common
Signal providers sometimes list entry zones as "1.1050 - 1.1000" for a BUY trade, which is technically inverted (the first number is the high, not the low). TTMT auto-corrects this silently -- it is not treated as an error.
Stage 5: Duplicate Detection
The duplicate detection system prevents the same signal from being executed twice. This can happen when:
- A channel edits and reposts a signal
- A signal is forwarded from another channel
- The AI parser processes the same message twice due to a retry
How It Works
A unique identifier is generated from the signal's core fields:
identifier = symbol + direction + entry + SL + TP1 + TP2 + ... + TPnBefore execution, the system checks whether this identifier has been seen recently. If it has, the signal is skipped (not rejected -- the distinction matters in logging).
Skipped vs. Rejected
A rejected signal failed validation -- something was wrong with it. A skipped signal was valid but has already been executed. The signal log distinguishes these so you can understand exactly why a signal was not traded.
Stage 6: Pre-Trade Validation
The final gate before execution checks five real-time conditions that cannot be validated from the signal alone:
| Check | What It Verifies | Failure Action |
|---|---|---|
| Connection Health | Broker connection is active and responsive | Reject (retry possible) |
| Symbol Availability | The symbol exists on the broker and is tradeable | Reject |
| Volume Limits | Calculated lot size is within hard caps and broker limits | Reject |
| Margin Sufficiency | Account has enough free margin for the trade | Reject |
| Safety Pause | The per-account safety pause is not active | Reject (queued for later) |
Connection Health
The system verifies that the broker connection is active, synchronized, and not in a reconnecting state. Trading on a stale or disconnected connection risks orphaned orders.
Symbol Availability
Using the 4-strategy symbol mapping system, the validator confirms that the parsed symbol resolves to a tradeable instrument on your broker. This catches mismatches between channel terminology (e.g., "GOLD") and broker symbols (e.g., "XAUUSD.m").
Volume Limits
The calculated lot size is checked against:
- The broker's minimum and maximum lot size for the symbol
- TTMT's hard volume caps (5.0 / 7.5 / 10.0 lots based on risk level)
- Individual sub-order viability (each of the 12 orders must be above the broker minimum or it is skipped)
Margin Sufficiency
A margin check confirms your account has enough free margin to support the intended position. This prevents trades from being placed only to be immediately rejected by the broker.
Safety Pause State
If the automatic safety pause has activated due to recent failures, the trade is held rather than rejected outright. It will be attempted once the safety pause completes its recovery test.
Validation Summary
| Stage | What It Catches | Failure Rate (typical) |
|---|---|---|
| Signal Sanitizer | Garbled parses, missing fields, ambiguous direction | ~5-10% of raw signals |
| SL Validator | Wrong-side SL, extreme SL distance, zone implausibility | ~2-5% |
| TP Validator | Wrong-side TPs, duplicates, misordered, extreme distance | ~3-7% |
| Entry Zone Validator | Inverted zones, excessively wide/narrow zones | ~1-3% |
| Duplicate Detection | Duplicate signals, reposts, retries | ~5-15% |
| Pre-Trade Validation | Connection issues, symbol mismatches, margin, safety pause | ~1-3% |
These Rates Vary by Channel
High-quality signal channels with consistent formatting may see rejection rates under 5%. Channels with irregular formatting, frequent typos, or casual messaging styles will see higher rates. TTMT's custom prompt system can significantly improve parsing accuracy for specific channels.
Related Pages
- Safety & Reliability Overview -- The five layers of defense
- Execution Safety -- What happens after validation passes
- Typos & Bad Signals -- How TTMT handles poor quality signals
- Signal Processing -- The full signal lifecycle
- Trading Settings -- Configure validation behavior

