Indicators¶
Overview¶
The strategy reads four Pine Script indicators through the TradingView MCP. Each indicator exposes its state through a combination of labels, lines, tables, and boxes. The strategy layer reads these graphical objects and interprets them into structured data.
This page documents what each indicator provides to the strategy -- the data contract between the Pine indicators and the interpretation layer.
1. Bias AI¶
Purpose: Establishes the daily and weekly directional bias and identifies the draw-on-liquidity target.
Data Provided¶
| Data Point | Source Object | Description |
|---|---|---|
| Daily bias direction | Table cell | bullish, bearish, or neutral (0). Read from the Bias AI summary table. |
| Weekly bias direction | Table cell | Same as daily, from the weekly row of the summary table. |
| Draw-on-liquidity target | Table cell + Line | PDH (previous day high) or PDL (previous day low). The specific price level is drawn as a horizontal line. |
| Target hit status | Line color | When the DOL target is reached, the line color changes to the configured after_raid_color. This signals the target has been hit. |
| Bias table state | Table (full) | Multi-row table with columns for timeframe, bias direction, and target level. |
How the Strategy Uses It¶
- Gate check: If daily bias is neutral (0), the strategy immediately returns a no-trade flag. No further analysis is performed.
- Direction assignment: Bullish bias sets direction to
longwith DOL = PDH. Bearish bias sets direction toshortwith DOL = PDL. - Weekly confluence: If weekly bias matches daily bias, the confluence score gains +1.
- Target monitoring: If the DOL line shows
after_raid_color, the target has been hit and the setup is complete (no further entries).
Reading Method¶
data_get_pine_tableswithstudy_filter: "Bias AI"-- returns the bias summary table.data_get_pine_lineswithstudy_filter: "Bias AI"-- returns DOL target lines with current color state.
2. Session Hunt AI¶
Purpose: Tracks the session range, identifies which side has been swept (the hunt), detects re-extensions, and defines macro windows and entry timing.
Data Provided¶
| Data Point | Source Object | Description |
|---|---|---|
| Hunt direction | Label / Table | HUNT_HIGH, HUNT_LOW, or INVALID. Indicates which side of the session range was swept first. |
| Session high | Line (y2) | The high of the current session range. |
| Session low | Line (y2) | The low of the current session range. |
| High swept state | Label / Color | Whether the session high has been swept. Identified by label text or line color change. |
| Low swept state | Label / Color | Whether the session low has been swept. |
| Re-extension active | Label | If a re-extension range forms after initial hunt, new high/low levels are plotted. |
| Re-extension high | Line (y2) | High of the re-extension range (if active). |
| Re-extension low | Line (y2) | Low of the re-extension range (if active). |
| Macro window active | Label / Table | Whether the current time falls within an ICT macro window (e.g., 09:50--10:10 ET). |
| Entry window active | Derived | Whether current time is within the configured entry window (NY 07:00--15:00 ET or London 02:00--07:00 ET). |
| Current session window | Table | Which session segment is active: pre_session, asia, london, gap_scan, ny_am, ny_pm, post_eod. |
How the Strategy Uses It¶
- Hunt validation: If hunt is
INVALID(both sides swept), setup is invalid. OnlyHUNT_HIGHorHUNT_LOWproceed. - Hunt-bias alignment:
HUNT_HIGHmust pair with bearish bias (sweep high, draw on low).HUNT_LOWmust pair with bullish bias (sweep low, draw on high). - Re-extension handling: If the initial range is swept on both sides but a re-extension forms with only one side swept, the re-extension hunt replaces the original.
- Macro timing: Entry during an active macro window adds +1 to confluence score.
- Entry window gating: If current time is outside the entry window, the setup is flagged as waiting (not invalid, but not actionable).
Reading Method¶
data_get_pine_labelswithstudy_filter: "Session Hunt"-- returns hunt state labels, sweep markers, macro window indicators.data_get_pine_lineswithstudy_filter: "Session Hunt"-- returns session range lines and re-extension lines.data_get_pine_tableswithstudy_filter: "Session Hunt"-- returns session state table with current window and hunt summary.
3. OB AI¶
Purpose: Identifies order block zones, associated fair value gaps, ATR-based stops, and position sizing recommendations.
Data Provided¶
| Data Point | Source Object | Description |
|---|---|---|
| Bullish order blocks | Boxes | Rectangles with top = OB high, bottom = OB low. Green-toned bgcolor. |
| Bearish order blocks | Boxes | Rectangles with top = OB high, bottom = OB low. Red-toned bgcolor. |
| OB spent state | Line style | Solid line = unspent (valid for entry). Dotted line = spent/mitigated (price already returned to zone). |
| OB fully mitigated | Line deletion | When price breaks through both OB boundary lines, the lines are removed from the chart. The OB no longer exists. |
| FVG high | Line (y value) | Upper boundary of the fair value gap associated with the OB. |
| FVG low | Line (y value) | Lower boundary of the fair value gap. |
| Aggressive FVG entry | Derived (label/line) | The middle candle level of the FVG -- first touch entry. |
| Safe FVG entry | Derived (label/line) | Deeper retracement into the FVG, closer to the OB body. |
| ATR stop distance | Table (ATR banner) | atrsize value in points and ticks. Used for stop loss calculation. |
| Position size | Table (ATR banner) | QTY row -- recommended number of contracts based on account risk parameters. |
| Risk in dollars | Table (ATR banner) | Dollar risk per trade at the recommended position size. |
| Entry tier labels | Labels | Labels marking aggressive and safe entry levels on the chart. |
How the Strategy Uses It¶
- OB existence check: At least one unspent OB must exist in the path between current price and the DOL target. Direction must match (bullish OB for long, bearish OB for short).
- FVG entry levels: The three entry tiers (aggressive, safe, conservative) are derived from the FVG levels associated with the target OB.
- Stop loss calculation: OB high/low provides the base stop level. ATR buffer from the ATR banner is added as an offset.
- Position sizing: The QTY value from the ATR banner is used directly as the recommended position size.
- OB filtering: Only unspent OBs (solid line style) are considered. Spent OBs (dotted) and fully mitigated OBs (deleted) are excluded.
- Distance check: The ATR value determines whether price is "near" the OB. Price must be within 1x ATR of the OB zone to qualify.
Reading Method¶
data_get_pine_boxeswithstudy_filter: "OB AI"-- returns order block zones as rectangles.data_get_pine_lineswithstudy_filter: "OB AI"-- returns OB boundary lines (with style indicating spent state) and FVG level lines.data_get_pine_labelswithstudy_filter: "OB AI"-- returns entry tier labels and OB identification labels.data_get_pine_tableswithstudy_filter: "OB AI"-- returns ATR banner with stop distance, position size, and risk values.
4. SMT Divergences¶
Purpose: Provides inter-market structural confirmation by detecting when correlated instruments diverge at key price levels.
Data Provided¶
| Data Point | Source Object | Description |
|---|---|---|
| Bullish SMT active | Label / Line | A bullish divergence is detected: the primary instrument made a lower low while the paired instrument did not. Signals potential long. |
| Bearish SMT active | Label / Line | A bearish divergence is detected: the primary instrument made a higher high while the paired instrument did not. Signals potential short. |
| Divergence direction | Label text / color | Whether the active divergence is bullish or bearish. |
| Paired instrument | Configuration | Which instrument is being compared (e.g., NQ1! when primary is ES1!). |
| Breakage detection | Line deletion / color | If price action subsequently invalidates the divergence (e.g., the paired instrument confirms the move), the divergence signal is removed or recolored. |
| Last signal | Label (most recent) | The most recent SMT signal, regardless of whether it is still active. |
How the Strategy Uses It¶
- Confluence scoring: An active SMT divergence that confirms the setup direction adds +2 to the confluence score. This is the highest-weight single factor.
- Direction confirmation: Bullish SMT confirms long setups. Bearish SMT confirms short setups. A divergence opposing the setup direction does not add to confluence but does not invalidate the setup.
- Breakage invalidation: If a confirming SMT divergence is subsequently broken (invalidated), the setup loses the +2 confluence points. If this drops the total below the minimum threshold of 5, the setup becomes invalid.
Reading Method¶
data_get_pine_labelswithstudy_filter: "SMT"-- returns divergence signal labels with direction and timestamp.data_get_pine_lineswithstudy_filter: "SMT"-- returns divergence lines connecting the structural highs or lows being compared.
Indicator Interaction Map¶
The four indicators do not operate in isolation. The strategy combines their outputs according to the following dependency graph:
graph LR
BIAS[Bias AI] -->|direction| DECISION[Setup Decision]
HUNT[Session Hunt AI] -->|hunt side| DECISION
OB[OB AI] -->|entry zones| DECISION
SMT[SMT Divergences] -->|confirmation| DECISION
BIAS -->|DOL target| TARGETS[Target Calculation]
HUNT -->|session range| TARGETS
OB -->|stop level + ATR| RISK[Risk Calculation]
OB -->|FVG levels| ENTRY[Entry Levels]
OB -->|QTY| RISK
DECISION --> FLAGS[StrategyFlags JSON]
TARGETS --> FLAGS
RISK --> FLAGS
ENTRY --> FLAGS
Each indicator provides independent data. The strategy layer is the only place where these data streams are combined and evaluated against the setup conditions.