D1 Stochastic · Info Box · Complete Reference

Info Box
— Line by Line

Every label inside the Info Box explained in full — what it shows, exactly how each state is calculated, and what it means for your trade decision.

What Is the Info Box?

The Info Box is a floating analysis card that opens when you click any pair in the D1 column of the Stochastic Dashboard. It delivers a complete trade-readiness verdict by aggregating signals from multiple independent engines — all computed live, directly from D1 bar data — into a structured, colour-coded popup that tells you not just what the market is doing, but whether right now is a valid time to act on it.

How to Open

Triggering the Popup

Click any cell in the D1 column of the Stochastic Dashboard. The Info Box opens centred on the chart (not near the clicked cell) using the chart's pixel dimensions to calculate its position. Only one D1 Info Box can be open at a time — opening a second pair's popup automatically closes the existing one first. It is dismissed with the ✕ CLOSE button at the bottom.

Structure

Two-Panel Layout

The Info Box has two visible panels rendered side by side. The Left Panel contains 14 individually labelled lines — covering session context, technical indicators, timing filters, currency bias, and the final trade grade. The Right Risk Panel appears to the right of the main popup border and shows the live JPY Bias, AUD Bias, Risk Sentiment, and Market Regime Engine states, each with a timer showing how long the current state has been active.

Design Goal

One-Glance Trade Verdict

Rather than requiring you to open multiple indicators and timeframes, the Info Box consolidates every relevant signal for the D1 setup into a single panel. The popup answers three questions in order: Is there a valid signal? (Signal Age, Execution State), What kind of trade is this? (Trade Type, Trade Grade, Position Size), and Does the broader market support it? (Currency Alignment, Risk Sentiment, Market Regime).

Border & Title

Visual Identity

A 3 px thick coloured border frames all four sides of the popup. The title bar sits immediately below the top border and the title text reads [Symbol] D1 INFO BOX — for example, GBPUSD D1 INFO BOX. Default styling uses a dark blue-grey background, gold border, and gold header text on a dark slate-gray header bar.

Popup Anatomy

The Info Box contains two panels rendered simultaneously. The left panel's 14 lines stack vertically at 20 px intervals starting below the title bar. The right panel floats to the right of the main popup window, aligned at the same vertical origin, and contains 4 live market context items.

Left Panel Preview

Right Risk Panel

Risk Sentiment Panel
JPY Bias: Strong (0h 22m)
AUD Bias: Neutral (1h 05m)
Risk Sentiment: Off (0h 22m)
Market Regime: Defensive (0h 22m)

Panel Structure

Title Bar

[Symbol] D1 INFO BOX

Fixed 30 px header bar. Symbol name auto-populated from the clicked pair. Configurable background, font, size, and colour.

Lines 1–2: Session Context

Session + HTF Bias

Immediate market context — which session you are in and whether today's D1 bar is net bullish or bearish from its open.

Lines 3–5: Momentum + Structure

Stochastic · Keltner · Monday

The three technical signal sources: D1 Stochastic momentum state, Keltner Channel band position, and Monday weekly range analysis.

Lines 6–8: Volatility + Timing

ADR · Nearest Level · Signal Age

How much of the daily range has been consumed, the closest key level and its pip distance, and how fresh the current signal is.

Lines 9–10: Execution Filter

Execution State · Trade Type

Whether now is an Optimal, Early, or Late window — and whether to approach this as a Scalp, Intraday, or Runner trade.

Lines 11–12: Currency Intelligence

Currency Bias · Currency Alignment

The auto-detected dominant currency (USD, JPY, AUD, or EUR) for this pair and whether the broader basket flow is a tailwind or headwind.

Lines 13–14: Final Verdict

Trade Grade · Position Size

A / B / C grade synthesising all above signals, and the matching position size instruction: Normal, Reduced, or Skip.

Lines 15–16 (optional): EMA Filters

EMA1 · EMA2

Two independent EMA position labels — each showing Above/Below, time since last cross, and pip distance from the EMA. Toggled on/off per filter.

Left Panel — Every Line Explained

The 14 lines of the left panel are presented below in display order — exactly as they appear top to bottom in the popup. Each line has a specific formula, a defined set of possible states, and a colour-coding scheme that lets you read the popup in under five seconds.

Right Panel — Risk Sentiment & Market Regime

The right-side panel floats immediately to the right of the main popup border. It is always visible regardless of which pair is clicked and shows four macro-level market context items with integrated state-change timers — displaying not just the current state, but how long it has been in effect.

Risk Panel Row 1

JPY Bias: [State] ([Time])

Always displays JPY basket strength regardless of which pair the popup was opened from. Reads from the same GetJPYBiasVote() function used across the dashboard. The timer resets whenever the JPY state changes, showing how long the current JPY bias has been sustained — critical for judging whether risk appetite has recently shifted or has been established for hours.

Strong — JPY broadly rising across basket; safety demand elevated, risk-off pressure building
Weak — JPY broadly falling; risk appetite present, carry trades favoured
Neutral — mixed JPY votes; no clear sentiment signal from JPY basket
Risk Panel Row 2

AUD Bias: [State] ([Time])

Always shows AUD basket strength regardless of the clicked pair. AUD is the primary commodity and risk-appetite proxy in forex — it rises when global growth expectations are positive and falls when investors rotate to safety. Like JPY Bias, the timer tracks state persistence and resets on any state change.

Strong — AUD broadly rising; risk-on appetite, commodity demand elevated
Weak — AUD broadly falling; risk aversion, commodity weakness or growth fears
Neutral — mixed AUD votes; no clear commodity or risk signal
Risk Panel Row 3

Risk Sentiment: [On / Off / Neutral] ([Time])

Derived from the JPY + AUD combination. The logic is deliberately simple and binary: JPY and AUD move in opposite directions during risk events (JPY up + AUD down = risk-off; JPY down + AUD up = risk-on), making their combination a clean sentiment barometer. The timer shows how long the current risk state has been active.

Formula
JPY Strong AND AUD ≠ Strong → "Off" (Red)
JPY Weak AND AUD = Strong → "On" (Green)
ELSE → "Neutral" (Gray)
Risk-On — growth currencies rising, trends likely to extend, runs more sustainable
Risk-Off — safety demand dominant, sharp moves and fast reversals, tighten stops
Neutral — balanced conditions, no strong sentiment push in either direction
Risk Panel Row 4

Market Regime: [Trending / Defensive / Mixed] ([Time])

The highest-level market environment signal in the popup. Adds USD directional flow to the JPY + AUD picture to determine whether the overall market is in a directional trending state, a fear-driven defensive state, or a rotation/chop. This is the "weather forecast" for the entire forex market and should contextualise all individual trade decisions.

Formula
Risk-On AND JPY Weak AND USD ≠ Neutral
→ "Trending" (Green)

Risk-Off AND JPY Strong
→ "Defensive" (Red)

ELSE → "Mixed" (Gray)
Trending — directional continuation more likely; let winners run, trail stops wider
Defensive — sharp moves and rapid reversals; tighter stops, take profit faster, scale down
Mixed — no clear macro regime; rely on technicals, normal position management
How to read the right panel timers: A JPY Strong state that has lasted 3 hours is very different from one that just changed 5 minutes ago. Long-duration states indicate sustained macro conviction. Short-duration states (under 30 minutes) may still be transitioning — treat them as emerging signals rather than confirmed regimes and cross-check with the main panel's signals before acting.

Trade Grade Deep Dive

The Trade Grade is the most complex calculation in the Info Box — a context-weighted synthesis that considers seven independent signals simultaneously. Understanding how grades are assigned helps you anticipate the grade before opening the popup and interpret edge cases correctly.

Complete Grade Logic

Priority Evaluation Order

The grade logic applies conditions in strict top-down priority. The first rule that fires wins — no further conditions are evaluated. This prevents lower-priority checks from overriding hard disqualifiers.

C
Hard Cap 1 — Immediate C (checked first, no further evaluation)

If Execution = Late or Execution = No Signal, the grade is immediately C — regardless of every other signal. You cannot have a valid A or B grade while simultaneously having a late or missing signal. This prevents any form of FOMO entry rationalisation.

A
Grade A — "Press the Trade" (all 5 conditions must pass)

Execution = Optimal · Trade Type ≠ Scalp · Range 40–90% (Normal) · (Monday Clean OR Keltner Riding) · Currency Alignment ≠ Against. Every condition must be true simultaneously — a single failure drops the grade to B.

Hard Cap 2 (inside A check): If session is Asia AND Trade Type is not Runner, the grade is capped at B even if all A conditions pass. Asia has lower liquidity and is excluded from Grade A for non-trending setups.
B
Grade B — "Trade, But Don't Force It" (valid with friction)

Execution = Optimal OR Early — AND at least one friction factor: Range outside 40–90%, OR Monday = Failed, OR Keltner = Inside Band, OR Alignment = Neutral. A valid execution window exists but something is working against the setup. Reduce size and require stronger confirmation.

C
Grade C — "Pass or Very Small" (fallback)

Everything that failed all A and B criteria — including Scalp + Against alignment combinations, or any other configuration that doesn't qualify for A or B. Also catches any unexpected state combinations not explicitly handled above. The correct action is to skip or trade minimum size only.

📊

Grade Conditions at a Glance

Signal Grade A requires Grade B requires → Grade C if
Execution State Optimal Optimal or Early Late or No Signal (hard cap)
Trade Type Not Scalp Any (friction flag) Scalp + Against alignment
ADR Range 40–90% Normal Outside 40–90% (friction)
Monday Break Clean break Failed break (friction)
Keltner State Riding band Inside band (friction)
Currency Alignment With (tailwind) Neutral (friction) Against (headwind)
Session Not Asia (or Runner) Asia cap → B max

EMA Filters — Lines 15 & 16

Two independently configurable EMA filters are embedded at the bottom of the popup, below the Position Size line. Each filter provides directional bias confirmation — including a critical stability detection feature that flags when a cross just occurred and the signal may not yet be reliable.

EMA1

EMA[Period] [TF]: [State] • ([Time]) [±Pips]

Default: EMA20 on M15. Reads the EMA value for this symbol and compares it to the current close. Tracks the last cross time per pair — persisted between popup opens. Displays: state (Above/Below), time in current state (Xh Ym), and pip distance from the EMA.

Above (stable) — price above EMA for 30+ min; bullish trend filter confirmed
Below (stable) — price below EMA for 30+ min; bearish trend filter confirmed
Above/Below (Unstable) — cross occurred <30 min ago; signal not yet confirmed, treat with caution
EMA2

EMA[Period] [TF]: [State] • ([Time]) [±Pips]

Default: EMA50 on M15. Identical logic to EMA1 but with independent period and timeframe tracking. Using a slower EMA (EMA50) on the same timeframe as EMA1 (EMA20) creates an effective dual-filter where both must agree Above/Below before treating the signal as fully confirmed. If EMA1 is Above but EMA2 is Below (or vice versa), the EMA filters are in conflict — an additional caution signal.

Dual-EMA alignment rule: When EMA1 and EMA2 both show "Above (stable)", the bullish bias is doubly confirmed. When they conflict, treat the EMA filter as inconclusive and let the other popup signals carry more weight in your decision.