CHANGE LOG

XABCD Stream Deck Changelog

v1.7.0.23 August 2026

This release finishes the Active chart work that v1.7.0.21 started. Keys set to follow the chart you are looking at now update the moment you click a different chart rather than up to a second later, and they no longer pick the wrong chart when you have several open — a case that could send an order to the wrong instrument and was the more serious of the two, because a key that is confidently wrong gets acted on. Latest position keys work the same way now. Alongside those, a new Adjust Target key, a per-press offset on Breakeven Now, two bracket-safety fixes worth reading, and a batch of corrections to what your keys and dials actually say on their faces. Ships with Stream Deck plugin 5.0.57.

✦ New Features
  • Adjust Target key — nudge your target a set number of ticks tighter or wider in one press. Adjust Stop has done this for the stop side since the bracket keys shipped; the target side only had the dial, so a one-press "widen my target four ticks" meant counting detents
  • Breakeven Now gains its own offset. Previously it could only move your stop to whatever offset was already stored on the bracket, so asking for "breakeven plus two ticks, this once" meant reconfiguring the Set Breakeven Trigger key first. The new BE Offset field applies to that press only and leaves the automatic breakeven trigger, and any later press, exactly as they were. Leave it blank to keep using the bracket's own offset, or type 0 for exactly your entry price
  • Latest position joins Specific symbol and Active chart in the Symbol dropdown, on every key and dial where it makes sense. It follows your most recent open trade, which is the setting you want on the bracket-management keys — the ones you reach for while a trade is already on
  • Breakeven Now gains an Allow loosening checkbox, matching the one Stop to Market already has. It is off by default, which is the safe way round — see the first bug fix below for why the default changed
⬆ Improvements
  • Keys set to Active chart update the instant you switch charts, including the very first click on a chart and on charts you have only just opened. NinjaTrader has always known which chart you clicked the moment you clicked it, but the plugin could only ask, about once a second — so if you were working two windows and switching faster than that, which is normal, the key was showing the chart you had just left. It now waits to be told instead of asking, and catches up within a fraction of a second
  • Keys set to Latest position now work the same way. That setting follows your fills rather than which chart you are looking at, so it listens for a fill instead of a chart change, but the result is the same: the key updates when the answer changes rather than asking over and over in case it has
  • Your keys no longer leave market data subscriptions open behind you. Asking for a symbol went through a price lookup, and every lookup left a live subscription running for the rest of the session — browse twenty-five charts and you were carrying twenty-five subscriptions you never asked for. Labelling no longer goes through a price lookup at all, and any subscription nothing is using is now released. One that a live bracket or an armed trailing stop still depends on is never touched
  • Adjust Stop and Adjust Target now say which one they are on the key face. Set side by side to the same ticks and the same instrument they would otherwise look identical, and pressing the wrong one moves the wrong side of a live trade
  • Order Market and Order Limit keys set to Active chart show the resolved symbol on the key face before you press, so the key tells you which instrument it is about to hit rather than only telling you afterwards
  • Breakeven Now now refuses a decimal in the offset field instead of quietly ignoring it. Typing 2.5 previously moved your stop using the bracket's stored offset and reported success, so the number you typed had no effect and nothing said so
⚠ Bug Fixes
  • Breakeven Now could move a stop you had already pushed into profit back toward your entry. If you had tightened the stop with the dial, with Adjust Stop or by hand, a press dragged it back — growing your risk at the exact moment you believed you were locking it in. The automatic breakeven trigger has always refused to widen a stop; the key you press by hand never had that rule. It does now, and it tells you why it did nothing rather than acting. Tick Allow loosening on the key if you want the old behaviour back. A refused press also no longer switches off the automatic trigger for the rest of that trade, which it previously did even though nothing had moved
  • Moving a stop on a bracket this plugin did not place skipped its safety check completely. The check that stops a bad price going out reads a price the plugin only records for trades it placed itself, so an ATM strategy, Chart Trader or XABCD Position Tool trade had no check at all — and a mistyped offset there could cancel your working stop, submit one the broker rejects, and leave the position with nothing protecting it. It now reads the same price every other stop-placing key measures from, and refuses the move outright when no price is available rather than trying anyway
  • A key set to Active chart could act on the wrong chart's instrument when more than two charts were open. v1.7.0.21 fixed the case where the chart in view was read from the wrong thread; this fixes which chart gets picked. The search answered "which chart can I find" rather than "which chart are you on", returning whichever chart the platform happened to list first — so it matched what you meant by luck and stopped matching the moment a third chart appeared. Reported from the field: activate a CL chart, press a sell-limit key a quarter of a second later, and the order goes to MNQ
  • Charts running on NinjaTrader's other interface threads were never searched at all, so a chart could be open and in front of you and still be invisible to the Active chart setting
  • Chart handles that NinjaTrader had already discarded were kept and handed out. They accumulated over a session, and because they are offered before any live chart is considered, a key could act through one whose every read silently failed
  • The S/R Distance and Pattern Alert keys matched instruments by looking for your symbol inside the contract name, so ES matched MES. A Pattern Alert key set to ES could report a pattern that fired on MES, and the S/R Distance key was worse — it did not stop at the first match, so every chart whose name merely contained the letters contributed zones to a number it still labelled ES
  • Keys and dials set to Active chart or Latest position could show the literal word "active" or "latest" where the instrument name belongs. The earlier work covered each key's normal face and missed the states around it — no position yet, no bracket, NinjaTrader not running — which for most of these keys is exactly where they sit between trades. Affected the Quote, S/R Distance, Add, Reduce, Position, Depth of Market, Bracket Status and Pattern keys, and the Stop Distance, Target Distance, Position Reduce and Limit Entry dials
  • The Limit Entry dial stopped naming its instrument whenever NinjaTrader was unreachable, so three dials set to three different symbols all read "ENTRY" with no way to tell them apart. A typed symbol is shown straight away now, since there is nothing about it that needs looking up
  • Cancel Orders set to a symbol it had not yet resolved read "Cancel / All" — the opposite of what the key does, and identical to a genuine cancel-everything key sitting next to it on the deck
  • Pressing one of the bracket keys showed its result for less than a second before the key painted over it. Cancel Orders was worst affected, because the count of orders cancelled was the only evidence the press had done anything, and a second press within that window did nothing at all — so the key read as dead at the moment you were most likely to press it again
  • Switching Stream Deck profiles, or moving between pages, could leave an invisible timer running for the rest of the session — one for each key it happened to. Nothing looked wrong, but the plugin was quietly doing more work the longer you used it
  • Typing "Latest" into the Instrument box with a capital L worked when you pressed the key but left it reading "LATEST" on the face permanently
  • Breakeven Now's help text said that leaving the offset blank moves your stop to your exact entry price. Blank uses the offset already stored on the bracket, which is one tick on the built-in hotkey profiles, so the text was describing something the key does not do. Type 0 for exactly your entry price
v1.7.0.21 August 2026

Three releases' worth of work in one: resting entries you can place, move and cancel from a key or a dial, a Trail Stop key, a Stop to Market key, and keys that can follow whichever chart you are looking at instead of being tied to one symbol. Alongside those, three bracket fixes worth reading — adjusting one leg of a bracket could cancel the other, auto-breakeven could do the same by itself, and auto-breakeven could drag a stop you had already moved into profit back to entry. Ships with Stream Deck plugin 5.0.54.

✦ New Features
  • Order Limit key — rest an entry away from the market instead of buying or selling at it. Set a distance in ticks from the current price, or an absolute price, and choose Buy Limit, Sell Limit, Buy Stop or Sell Stop from one dropdown that names where the order lands rather than leaving you to work it out from a direction and a type. When it fills it gets the same bracket a market entry would
  • Limit Entry Dial — turn to move a resting entry, press to cancel it. The dial shows the working entry's distance from the market, and reports when there is nothing resting to move
  • Trail Stop key — arm a trailing stop that follows price and never gives ground. The key face carries three states rather than two, because an armed trail can be waiting on a stop that is not there: green when it is trailing, amber when it is armed and waiting, and red when the stop it was trailing has gone
  • Stop to Market key — put the stop a set number of ticks behind the current price in one press. This is the third of the three things people mean by "move my stop": Adjust Stop moves it by a distance from wherever it currently sits and Breakeven Now measures from your entry, while this one re-anchors to the market every time you press it
  • Active chart symbol — 24 of the key types with an Instrument field gain a Symbol setting, with a choice of a specific symbol or the chart you are looking at. Keys already set up are untouched: the default stays Specific. This also solves a first-trade-of-the-day failure, where a key set to the latest traded symbol had nothing to resolve because the order was the thing that would create the position
  • Cancel a resting entry from a key, so a keypad-only setup does not need the dial or a general Cancel Orders to clear one
⚠ Bug Fixes
  • Adjusting one leg of a bracket no longer cancels the other. With a stop and a target both working, moving the target on the dial made the stop vanish, and moving the stop made the target vanish. Both paths always intended to keep the untouched leg — they cancel it and re-submit it so the pair stays linked — but they asked whether that leg was still there after cancelling the first one, by which point NinjaTrader had already cancelled it as part of the same pair, so it was never re-created
  • Auto-breakeven could lose your target the same way, and this one fires by itself. A trader could be left with no target without touching a dial, without pressing anything, and with nothing they did to connect it to
  • Auto-breakeven no longer widens a stop you have already moved into profit. It moved the stop to the breakeven price without ever checking where the stop actually was, so a stop tightened by the Stop Distance Dial, by Adjust Stop or by hand was dragged back to entry — widening your risk at the exact moment you believed you were locking it in
  • The price dials no longer flood your broker with cancel-and-resubmit cycles. Stream Deck sends several rotation steps a second during a continuous turn, and every step was a full cancel and resubmit of both bracket legs — four order operations per step, multiplied by every bracket on a scaled position, with a window each time where the position had no working stop. A burst of steps is now collapsed into a single move carrying the whole distance, on the stop, target and entry dials alike
  • A key set to follow the active chart used the previous chart on the first press. Switch from one chart to another, press once and the order landed on the chart you just left; press again and it landed correctly. The chart in view was being read from the wrong thread, which does not fail loudly — it quietly concludes that no chart is active at all
  • Pressing Order Limit twice no longer doubles your intended size. A second press rested a second order, which is exactly what people do when a key looks as though it has not worked. An existing entry on the same side is now cancelled before the new one is submitted, and the response says which order it replaced
  • Repricing a resting entry could leave a live order that nothing could see, move or cancel, with the dial reporting no entry beside it
v1.7.0.18 July 2026

A protection and diagnostics update: scaling into an open position now always keeps a full-size stop and target on the whole position, and an optional diagnostic log — with a Basic/Verbose level and a 30-minute auto-off — makes it easy to capture exactly what a key did if you ever need to send it to support.

⬆ Improvements
  • Optional diagnostic logging — turn on debug logging from the Hotkeys window to record what each key did, from the key press through the order calculation to the fill. Choose Basic (one line per key press, plus orders and errors) or Verbose (adds chart-wiring and health-poll detail), and it switches itself off after 30 minutes so logs never pile up on disk. While it is on, the status line shows "- Logging", and the log is also mirrored to a rolling file at C:\xabcd trading\xt-hotkey.log so it is easy to find and send in
⚠ Bug Fixes
  • Scaling in no longer leaves part of your position unprotected — pressing Position Add grew the stop and target bracket correctly, but a safety net could immediately shrink it back to the old size, leaving the contracts you just added without a stop or target (for example, adding 2 to a short 4 gave you a short 6 with a bracket covering only 4). Adding to a position now always keeps a full-size stop and target across the whole position, while genuine manual reductions still shrink the bracket as before
  • Stream Deck ticker no longer floods the log — with a button's diagnostic log enabled, the scrolling ticker wrote a heartbeat line every few seconds even while idle. It now logs only when there is a genuinely backed-up connection worth reporting
  • Accurate fill reporting in the diagnostic log — after a partial fill, the log now shows the correct resulting position (with the previous size noted) instead of lagging one fill behind
v1.7.0.17 July 2026

A position-protection reliability update: entries that fill in more than one piece now always receive a full-size stop and target, so no contracts are ever left unprotected. The Position Add and Reduce keys also gain a fixed-contracts mode alongside the existing percentage.

⬆ Improvements
  • Contracts or percent on Add and Reduce — the Position Add and Position Reduce keys can now scale your position by a fixed number of contracts, not just a percentage. Choose "Contracts" or "Percent" per key
⚠ Bug Fixes
  • Fixed the protective bracket being sized to a partial fill — when a market entry filled in several pieces, the stop and target could shrink to the first partial amount and leave the rest of the position unprotected. Entries now always get a full-size stop and target, no matter how the fill arrives
v1.7.0.13 – v1.7.0.16 July 2026

A precision-routing update: the ATM and Quantity actions now drive the SuperDOM as well as Chart Trader, with per-key control over which window type and which windows they affect; new one-press keys reduce or add to your open position by a set percentage; plus clearer error messages on the key faces.

✦ New Features
  • SuperDOM support — the Select ATM and Quantity actions now apply to the SuperDOM, not just Chart Trader
  • Window targeting — each ATM or Quantity key can pick its Target (Chart Trader, SuperDOM, or Auto for both) and its Scope (the single best window, the focused window, all windows, or every window on a chosen instrument)
  • Auto routing — left on Auto, an action updates Chart Trader and the SuperDOM together
  • Position Reduce key — one press reduces your open position by a set percentage (default 50%); the stop and target bracket shrinks to match
  • Position Add key — one press scales into your open position by a set percentage (default 50%) so the bracket grows to cover the new size; it refuses when you are flat
⬆ Improvements
  • Clearer key errors — failures now show short, specific labels on the key ("no pos", "no stop", "no tgt", "bad acct", "bad sym", "bad step") instead of a generic message
  • Account and quantity from your chart — a one-time reminder to open Chart Trader (Ctrl+T) on the active chart so keys can read its Account and Quantity
v1.7.0.2 – v1.7.0.12 June 2026

A major Stream Deck+ update that turns the LCD dial row into live trading instruments: rotate-to-adjust Stop, Target, Quantity and Position-Reduce dials, live P&L, Position, Quote, Distance and R-multiple dials, a full-width scrolling Ticker Tape, a Trade Cockpit price ladder, a Risk Dashboard, and an economic-calendar Events dial, plus readable key faces, per-instrument formatting and custom key colors.

✦ New Features
  • Stop & Target Distance dials — rotate to move your stop or target toward or away from entry in ticks, with the resolved instrument shown in the title, and press the Stop dial for instant breakeven. They keep polling so the symbol and price stay live
  • Quantity dial — rotate to adjust your ChartTrader quantity, press to reset to your default, and touch the LCD to apply
  • Position Reduce dial — rotate counter-clockwise to peel contracts off an open position; the stop and target bracket shrinks to match
  • P&L dial — your live day P&L, with a bar that fills toward a daily dollar goal you set by rotating
  • Position Info dial — live direction, size, average price and open P&L at a glance
  • Quote dial — live last price with bid, ask and spread; enter one symbol or a comma-separated watchlist and the dial cycles through them
  • Open-trade metric dials — Distance (ticks to the stop and the target), R-Multiple (your open R and the planned R:R), and Risk/Reward (total dollars at risk vs reward across all scale levels)
  • Full-width Ticker Tape — a smooth scrolling tape of live quotes that spans the whole dial row. Switch it to "my open positions" mode, and turn on pro extras: day P&L, a mini sparkline, price alerts, auto-cycling, tap-to-zoom and color themes
  • Trade Cockpit — a full-width price ladder for your current trade showing entry, stop, target and live price with your R-multiple
  • Risk Dashboard — full-width daily-loss, profit-target and trades-vs-max bars, plus your lockout and cooldown status
  • Events dial — scan the economic calendar by rotating for the next or previous event, with live countdowns and a priority filter (High / Medium / Low / Holiday)
  • Health dial — shows whether it can reach NinjaTrader plus your XABCD Performance health score, color-coded green, amber or red
  • Per-instrument and color options — correct decimal formatting per instrument (including FX), configurable key background colors, and a "use my Stream Deck key color" mode for the live-info keys
⬆ Improvements
  • Readable key faces — the Pattern, S/R, Lockout, Cooldown, ATM and Quote keys now render clear text instead of a plain icon
  • More reliable connection — the dials reconnect automatically if the link to NinjaTrader drops, and the Ticker Tape scrolls more smoothly and recovers cleanly
  • The News dial and key are now white by default, with an optional "Dynamic Colors" toggle that tints them by event impact
  • Clearer settings — the action settings panels now show inline checkboxes, friendlier error messages, a connection-status hint, plainer wording, and icon and readability fixes
⚠ Bug Fixes
  • Fixed the Stop and Target dials reporting "no stop" on a live position
  • Fixed stop and target levels not moving in lockstep on scaled (multi-level) positions
  • Fixed the Events dial losing your selection, and made it turn faster with a live event count
  • Fixed the Ticker Tape not scrolling when the speed field was left blank, and fixed occasional blank dials
v1.7.0.1 and earlier Earlier builds

The original XABCD Stream Deck plugin: physical keys that drive NinjaTrader for one-press trade execution, order and bracket management, trading-discipline guards, and chart actions.

✦ Foundation
  • One-press trade execution — Execute Hotkey fires a full preconfigured trade (entry, stops, targets and scaling) from a single key, Order Market sends a Buy or Sell with optional double-press confirmation, and Select ATM applies an ATM template
  • Order and bracket management — Flatten Position, Cancel Orders, Move and Adjust Stop and Target, Breakeven Now and an auto-breakeven trigger, Update Quantity, and a live Bracket Status display
  • Trading-discipline tools — Max Loss Lockout (a daily-loss circuit breaker), a revenge-trade Cooldown Timer that blocks orders until it expires, a Trade Counter, and a Session Timer for fatigue awareness
  • Chart actions — Add, Toggle and Undo Indicator, Apply Chart Template, Clear All Drawings, and a flexible Undo for drawings, indicators, strategies, chart templates, or everything at once
  • Live-info keys — Quote, Account P&L, Position Display, Depth of Market and News Countdown, plus keys that surface your other XABCD products: System Health (Performance), Pattern Alert (Pattern Suite) and S/R Distance (Support & Resistance)