CONFIRM below to proceed.
| FORMING ⏳ | Fresh BOS just detected. Classifier is running — checking departure_r and H4 regime. If it clears the MOMENTUM bar, the signal advances to READY (or BLOCKED if a gate refuses). |
|---|---|
| READY 🟡 | Every pre-entry gate has passed. Bot is about to fire a MARKET order at current price via _try_bos_momentum_entry. You will receive a Telegram alert the instant the order lands. |
| BLOCKED ⛔ | A gate refused the setup — reason shown under the row (news window, daily-loss cap, correlation-group cap, DD cap, per-instrument cap, structure misaligned, etc.). Clears automatically after ~90s or when the signal passes all gates on the next loop. |
| LAPSED ❌ | Signal was invalidated before it could fire — usually the structure that broke the swing changed, or a superseding BOS arrived on the same cell. |
| EXPIRED ❌ | BOS detection window elapsed without firing (M5 = 6h / M15 = 12h / H1 = 24h). Setup is discarded; the bot does not chase. |
| SHADOW-ONLY 🔬 | Fail-safe pill. Any signal reaching this panel that isn't in one of the states above renders as shadow-only rather than as a live-looking pill. Under normal operation this state does not appear — the server-side filter drops shadow-classified signals before they reach the queue. |
| PLACED ✅ (dormant) | Would render when a RETRACE LIMIT order is live at OANDA awaiting fill. Currently dormant — BOS_RETRACE_LIVE_PROMOTED is empty since v1.14.79, so no live limit orders are ever placed. Row reactivates if any sym is re-promoted for RETRACE. |
💡 SCALE-IN OPPORTUNITY rows appear when an open bot trade is in profit ≥ +0.5R. These are informational — the bot never auto-places a scale-in. If you decide to scale in, place the position manually at OANDA and the bot will auto-attach Lana SL + fresh TP within 5 seconds (v1.14.35 behaviour).
| At risk | £ you lose if SL hits on that position (or sum across the group / portfolio). Lana SL is the anchor — this is the hard floor. |
|---|---|
| Floating | Live unrealised P&L from OANDA. Positive = winning, negative = losing. Updates every 5 seconds. |
| Avg R | Average R-multiple across the group's open positions. +1R = the average position has made back its risk amount. |
| Max loss if SL | Same as 'At risk' — what you lose in the worst case if every position stops out. |
| Max gain if TP | What you gain in the best case if every position reaches its take-profit. For bot trades, this is at_risk × planned RRR. |
| NAV | Account net value. On demo, the running demo balance (£1,710-ish); on live, real OANDA balance. |
| % of NAV | Total at risk ÷ NAV. Green < 1%, amber 1-2%, red > 2%. Crossing 2% fires a one-shot Telegram nudge per UK day. |
| Realised today | Sum of today's closed BOS P&L from journal.csv (rrr_actual × risk per row). |
| Daily limits | Hard caps the bot enforces: MAX_TRADES_PER_DAY=4, MAX_LOSSES_PER_DAY=2 (per session), DAILY_DD_LIMIT=5% of NAV. |
STANDALONE group (USD_JPY) is hidden when empty. The panel itself collapses to zero height when there are no open positions — reappears automatically when a position opens.
| MOVE ALL BE | Moves every stop loss to the entry price — guarantees no loss on that trade. Lana SL rule still applies — eligibility check refuses any move that would widen the existing SL. Use when: trade is in profit and you want a free ride. States: Greyed until price clears entry buffer. Amber pulse = ready to act. Green "BE ✅" after BE confirmed on at least one position. |
|---|---|
| TRAIL SL | Ratchets SL tighter every 0.5R as price extends in your favour. SL never moves against you. Use when: trade running well, you're stepping away. BE first, then Trail is the standard sequence. States: Greyed until all SLs at-or-beyond entry AND group ≥ +1R. Amber pulse = ready. Green "TRAILING ✅" when engaged (click again to disengage). |
| CLOSE 50% | Closes half the units on this instrument (scale-ins first LIFO, bot trade last). Use when: you want to bank partial profit while letting the rest run. |
| CLOSE ALL (instrument) | Closes every position on this instrument. Single confirmation required. |
| CLOSE EVERYTHING | Closes the entire portfolio. Type-CONFIRM modal required (operator must type "CONFIRM"). No undo. |
| PAUSE ENTRIES | Stops the bot opening any NEW trades for the rest of the session. Open positions + Lana SL/TP management continue untouched. Use when: satisfied with the day and don't want the bot to give money back; or before a high-impact news event. Auto-resets at the next valid trading day (Mon-Fri, non-holiday). Weekends and full-market holidays HOLD the pause so Friday-evening intent survives to Monday. Manual resume at any time via the Resume Now button on the amber pause banner or the CLI scripts/pause_entries.py --resume. |