Add-On Changelog
Every release of the CrossTrade NT8 Add-On, newest first. Download the current version, or see Upgrade Instructions for how to replace an installed build.
Latest release:
v1.13.13
v1.13.13
- Continuous contract rollover: Improved contract selection for symbols such as
MNQ1!around rollover and reconnects, with checks for positions in a different expiry. Older add-ons remain supported. - Trade Copier rejected-order safety (order mode): Copies now wait for the leader's broker to acknowledge the order. This prevents a rejected leader order from opening a position on followers.
- Trade Copier repeated-rejection protection (order mode): Repeated broker rejections now pause copying for that instrument, preventing failed strategy retries from repeatedly reaching followers. The Activity Log explains the pause, and copying resumes after a leader fill.
- Trade Copier Auto-Sync responsiveness: Busy follower accounts are now rechecked within about two seconds, so a steady stream of trades cannot indefinitely delay position corrections.
- Trade Copier log accuracy: When a leader order is canceled or rejected, the copy log now records what actually happened to the follower's copy instead of reporting it as canceled the moment the cancel was requested. A copy that filled before the cancel could reach the broker is now reported as a failed cancel, so the log no longer shows a filled order as canceled.
- Trade Copier delayed-fill safety: Auto-Sync now waits for unresolved copied orders before correcting a position. This prevents a delayed fill and a correction order from opening duplicate exposure. The Activity Log indicates when Auto-Sync is waiting.
- Signal Share status accuracy: The Activity Log now distinguishes submitted orders from confirmed fills and rejections. A refused order no longer appears to have been successfully placed, and rejection messages include the broker's reason.
- Signal Share log fix: A received order that needed no action, because the account already matched the sender's position, no longer reports as though an order was placed. It now states that no order was needed.
- WebSocket API: Subscribed order, execution, position, and connection updates now arrive immediately instead of waiting for a periodic update. Existing API clients work without changes.
- Closing and flattening: Overlapping close requests for the same account and instrument are now handled as a single operation. Previously a second request could cancel the closing order already in flight, and a follow-up close could report success while the position was still open. A close now cancels the resting orders on that instrument, waits for those cancellations, submits one closing order, and reports what it actually observed. A retry joins the close already running instead of sending a second one.
- Close and flatten responses:
ClosePosition,Flatten, andFlattenEverythingnow separate a submitted close from a confirmed one.closedPositionslists only positions confirmed flat. Anything still working is listed inclosingPositionswithpendingtrue andverifiedfalse, alongside the closing order's ID and the quantity still open. A close that cannot complete safely returns a reason instead of reporting success. - Protection during a close: While a position is closing, new entry, bracket, and protective orders for that instrument are declined rather than submitted. This prevents stops and targets from being left behind on a position that is going away, where they would act as new entries.
- Smart order options: Market-if-touched and auto-trail can no longer be requested on the same order. They need conflicting price settings, and the order was previously placed with only part of each applied and no indication that anything had been dropped. The combination is now refused with a clear error.
- Trade Copier protective exits (order mode): A copied stop or target is now held until the follower's own position exists, instead of being declined as an opposing order and leaving the follower holding one leg of its bracket. Held copies are retried as the follower fills, including when the follower fills in parts.
- Trade Copier bracket retention (order mode): Auto-Sync no longer cancels a healthy stop or target because its partner has not been copied yet. The missing leg is copied into the existing pair, and grouping is cleared only once no part of the pair is still live.
- Connection reliability: A stalled send can no longer hold up the add-on's other work. Read-only requests such as account, order, and position lookups are answered on their own path instead of queueing behind trading actions, and a request that already timed out on the server is discarded rather than executed late. Replies also reach CrossTrade over the backup path while the live connection is down, so a request that was in flight when the connection dropped can still be answered.
v1.13.12
- Account Management startup fix: Fixed limits triggering on the previous session's P&L immediately after NinjaTrader starts. Account Management now waits for the account to reconnect and its current-session P&L to settle before checking limits.
- Trade Copier bracket copies (order mode): Fixed Auto-Sync incorrectly canceling copied stops and targets after a broker changed their order IDs, which could leave follower positions unprotected. Cancellation messages now identify the affected follower order.
v1.13.11
- Signal Share position accuracy: Fixed broadcasts sent in the instant between an order fill and the platform's position update advertising an incorrect position transition (for example, reporting a move from flat to long while the account was actually short). A receiver with resync enabled could read that as being out of sync and incorrectly flatten a correct position. Advertised positions now stay consistent with the sender's fills until the platform confirms them, and rapid consecutive entries report the correct prior position.
- Signal Share receiver cleanup (behavior change): When a sender goes flat, the receiver now cancels its remaining Signal Share orders only after its own position is confirmed flat, instead of immediately on receipt of the close. Cleanup no longer runs when a close was withheld, skipped, or rejected, and it is scoped to the sending source, so one source can never cancel orders placed for another source on the same account.
- Copied OCO reliability: Fixed bracket pairs that could copy without their OCO grouping when the order was reported before its group was finalized on the sender. Copied OCO groups are also now scoped per source and instrument, so identical group names from different sources can no longer collide on one account.
- Signal Share tracking: Copied orders are registered for tracking before submission, so an instant fill can no longer escape lifecycle logging and cleanup. Long-lived GTC copies also stay tracked while they remain working instead of being dropped after 24 hours.
- Security: The add-on's backup HTTP delivery path is now validated server-side with the same credentials as the live connection.
- Stability: Fixed a crash that could close NinjaTrader entirely when a routine background update (status reporting or streaming market data) coincided with a dropped or reconnecting CrossTrade connection. It was most likely to occur during unstable connectivity, such as around weekend data-feed restarts, and could happen even while no trading was underway. Orders and positions were never affected.
- Stability: Fixed a rare condition where a reply to a platform request could become corrupted when message handling briefly overlapped, causing repeated errors every couple of minutes and, in the worst case, closing NinjaTrader. Replies are now always built from a private copy of the data.
- Stability: Background reporting tasks now contain unexpected errors and record them in the log instead of allowing them to reach NinjaTrader. Logging itself, credential prompts, and strategy status updates are covered by the same protection.
- Stability: Fixed "Collection was modified" errors when strategy status reporting coincided with a strategy being added, removed, or shut down.
- Connection reliability: Restarting the add-on while CrossTrade servers were unreachable could leave two reconnect loops competing indefinitely, producing constant connect/disconnect churn until NinjaTrader was fully restarted. Only one reconnect loop can be active now, and the connection keep-alive and receive paths were hardened against errors during reconnects.
- Reliability: During heavy message bursts, an internal queue reset could drop the live connection and briefly leave duplicate message processors running. Resets no longer disrupt the connection and can no longer double up.
- Reliability: Account management evaluations now run one at a time, so rapid settings updates can no longer cause two evaluations to act on the same account at once.
- Diagnostics: A damaged local activity database is now detected at startup, preserved for support review, and rebuilt automatically instead of silently disabling local logging. The database repair function also preserves the old file instead of deleting it.
- API:
GetBarsnow accepts the documented"none"/"adjust"values (and legacy true/false) forsplitAdjustanddividendAdjust, and rejects invalid values with a clear error instead of failing.
v1.13.10
- Trade Copier missed-trade fix: Fixed an issue where the copier could intermittently miss a leader order or fill entirely, leaving Auto-Sync to catch the follower up a few seconds later, which showed up as delayed copies and slippage. Most likely on machines starved for CPU (for example, single-core VPS plans). The copier now also logs a clear "missed event" warning in the Activity Log if a leader fill goes unprocessed, instead of staying silent.
- Trade Copier close reliability (order mode): Fixed followers being left in an open, unprotected position after a leader Close when a stale correction record from a previous trade blocked the flatten. Manual Sync and leader Close now always force a correction through.
- Trade Copier position-sync safety (order mode): Fixed Position Sync occasionally submitting an extra correction order while a fast reversal was still filling, which briefly took the follower past the copier's Max Quantity and then reversed itself, appearing as opposite-direction "hedging" orders. Syncs now wait for the copier's own orders to fully settle, verify the live position immediately before correcting, and will never submit a correction that would exceed the copier's Max Quantity. Corrections that alternate directions without settling are halted with a warning in the Activity Log. Post-fill checks now also cover reversals into a long position, and a burst of fills triggers one sync instead of several.
- Reconnect stability: Fixed NinjaTrader assertion errors after a data-feed reconnect while an ATM strategy was live, which could recur daily and require a NinjaTrader restart. ATM strategies are no longer restarted by the reconnect policy (NinjaTrader re-attaches them to their positions natively), and a strategy that is already running can never be initialized a second time.
- Reconnect reliability: A strategy restore attempt that times out no longer resumes unexpectedly later in the session, and a restore is only reported successful once the strategy actually starts; otherwise it is retried on the next reconnect.
- Stability: Fixed a rare NinjaTrader error dialog during heavy signal activity around a connection outage.
- Reliability: Fixed an issue where status reporting could begin logging errors every few minutes and not recover until NinjaTrader was restarted.
- Activity Log cleanup: Suppression notices for repeated messages now follow the visibility of the message they suppress, so diagnostic-only entries no longer surface a "Suppressed duplicates" line. Timestamps inside message text now read as plain elapsed time instead of a machine-format date.
v1.13.9
- Signal Share status accuracy (behavior change): Routine lifecycle events (OCO cleanup, cancel-after-fill) are logged as informational with the cause stated, not as failed copies. Real rejections still report as failures with the broker reason.
- Clearer Signal Share messages: Status messages state account, instrument, and outcome; identifiers are no longer truncated.
- Honest failure counters: Expected lifecycle events no longer inflate a subscription's failure count, streak, or at-risk status.
- Skipped-entry symmetry: Cancels and modifies for intentionally skipped entries (multiplier rounds to 0 contracts) are marked skipped by design instead of failing with "order not found".
- Order links survive broker reconnects: A brokerage reconnect mid-trade no longer breaks the link between the sender's order and the receiver's copy, so later cancels and modifies keep working instead of failing with "order not found or already terminal". Links also persist across NinjaTrader restarts.
- Cancels retry after an outage: A cancel arriving while the account's connection is down is re-applied automatically on reconnect, so GTC stop/target copies can no longer keep working (or fill) through an outage.
- Flat sender, clean receiver: When the sender goes flat, the receiver also cancels its remaining Signal Share working orders for that instrument, even if an individual cancel was missed. Only orders Signal Share placed are touched.
- Signal Share brackets: Copied stops and targets are now linked so filling one cancels the other, even if a cancellation message from the sender is delayed or missed.
- Distinct cancel outcomes: "Not found" and "already Cancelled/Filled" report separately, and a cancel against a disconnected account says so.
- Backtest commissions: Selected commission templates now apply correctly to individual trades and totals. Invalid template names return the available choices, and results flag templates that produce zero commission.
- Backtest settings: Results now show the settings actually used and identify inputs changed by the strategy during the run.
- ATM entries honor STRATEGY_TAG (behavior change): ATM orders on the ATI path now run the same Strategy Lock check and claim as regular orders; previously these positions were left unmanaged. Blocked commands log the reason in the Activity Log.
v1.13.8
- Signal Share accuracy: Broadcast positions no longer count resting stops and targets as filled, fixing false "out of sync" detections and wrong-direction announcements on bracket orders.
- Resync safety: Corrections wait for the position to settle before the next signal is processed, and are capped relative to the source's target size; oversized corrections are withheld with a logged warning instead of submitted.
- Missed-signal replay: Receivers that reconnect after a brief outage automatically request missed broadcasts, delivered in order and deduplicated so nothing runs twice.
- Reliable broadcast delivery: Broadcasts go over both the live connection and HTTP with server-side deduplication, so a degraded connection can't silently drop signals.
- First broadcast under load: Fixed a race where a rapid modify could suppress the initial order broadcast.
- Fractional multipliers (behavior change): Signals that scale below 1 contract are now skipped instead of rounded up. Enable "Minimum 1 lot" on a subscription to keep rounding up.
- Smarter rate limiting: Under burst load only order-modification broadcasts are shed; entries, exits, and cancels always deliver.
- Broadcaster management: Bulk invites, paginated lists of receiving logins, and per-source receiver limits.
- Performance: Reduced processing overhead and memory use during heavy trading activity.
- Optimization sweeps honor fixed parameters (behavior change): Fixed
parametersvalues now apply to every sweep iteration instead of silently running at strategy defaults. Sweep results will differ from earlier builds; the new numbers are the correct ones. - Strategy re-enable reliability: Re-enabling a disabled account-hosted (headless) strategy now recreates it from its saved deployment, instead of failing with
enable_unconfirmedand a dead Strategies-grid checkbox. - Strategy lifecycle diagnostics: If an enable or disable operation exceeds its time budget, the activity log records a warning with the affected thread and recovery guidance.
- Strategy start arguments:
StartStrategyacceptsperiodas a string or whole-number decimal and rejects anything else withbad_arg, instead of silently substituting 5-minute bars. - Adopt manually-attached strategies: The new
AdoptStrategycall brings a strategy attached by hand in NT8 under CrossTrade lifecycle management without redeploying it. Adopt while it's running; re-adopting refreshes the record after input changes in NT8's UI. - Multi-timeframe restore accuracy: Reconnect restore and adoption now record a strategy's true primary bars period, so a restored multi-timeframe strategy no longer comes back running on an added timeframe.
v1.13.7
- Commission accuracy: Session commissions now come from NT8's account-level commission counter instead of a trade-history reconstruction. This fixes phantom negative "Unrealized" values on flat accounts (typically the size of one round trip's commissions) after a settled trade and at the Globex open.
- Unrealized PnL: Displayed unrealized is always pure mark-to-market, matching NT8's own Unrealized column. Commission effects are reported in their own fields instead of being folded into unrealized.
- Commissions in the dashboard: The Account Manager shows session commissions beneath Total PnL, with open-position commissions in the tooltip.
- Threshold correctness: Monitors with "Include Commission" enabled evaluate thresholds on the corrected values, so triggers fire at the true P&L rather than one carrying the phantom offset.
- Consistent naming: Dashboard labels now match NinjaTrader's vocabulary: Realized PnL, Unrealized PnL, and Total PnL.
- Compatibility: Add-ons back to v1.12.0 keep working with the updated dashboard; unrealized displays correctly on all of them. On add-ons older than v1.13.7, Total PnL can still include the old phantom commission offset until you update.
v1.13.6
- Account P&L: Reports and risk thresholds now use NT8's broker-session realized P&L.
- Safer backtests: Strategy backtests use only NT8's isolated
Backtestaccount. - Reliable optimization: Parameter sweeps reset each run, reject invalid inputs, and rank by the selected fitness metric.
- Strategy controls: Disable and enable actions are verified against NT8; headless strategies can be recreated safely.
- Reconnect recovery: Running strategies restore once after a connection loss, without duplicates.
- Clearer alert logs: Alert activity uses plain language, one log source, and links to the live console.
- Historical data:
GetBarssupports a configurable timeout from 2 to 25 seconds.
v1.13.5
- Activity history reliability: Improved recording of trading activity during heavy usage.
- Signal Share: Fixed valid signals being rejected after the sender restarted NinjaTrader.
v1.13.4
- Trade Copier: Fixed position doubling, orphaned contracts, dropped fills, and slow dead-connection detection.
- Account discovery: Signal Share and Trade Copier now detect accounts that connect after startup.
v1.13.3
- NinjaScript: AI-generated edits apply without restarting NT8, including packaged add-on installs.
v1.13.2
- Order auditing: Added
GetOrderLifecycleacross RPC, REST, and MCP.
v1.13.1
- Trade Copier: Fixed partial-fill under-copying and residual follower drift after exits.
v1.13.0
- Added the MCP Trading server, Signal Share, and Manual Trading dashboard.
- Added NT8 v8.1.7.0 support.
- Fixed reconnect orders firing before the account reached
Connected. - Prevented one leader from flattening another leader's shared follower position.
v1.12.5
- Increased signal deduplication time to prevent duplicate orders.
v1.12.4
- Fixed Trade Copier reconnect races and scaling mismatches.
- Fixed Auto-Reconnect misclassifying recovery failures as clean disconnects.
v1.12.3
- Prevented Auto-Sync from running while copier orders were still active.
v1.12.2
- Fixed Change and Cancel lookups when Trade Copier was enabled.
v1.12.1
- Added collection locking for better thread safety.
v1.12.0
- Added strategy tags for position ownership across automations.
- Added
CancelAndBracket, wait-for-fill brackets, and ATM strategy aliases. - Redesigned the Home and Webhooks pages with live account data and the Automation Wizard (now the Command Builder).
- Added auto-reconnect, data watchdog, counter-position, and account visibility settings.
- Added Account Manager outlier protection.
- Added a Trade Copier Fills Only option for Order mode, and stronger reconnect, sync, and tag handling.
- Expanded the Advanced Commands examples.
v1.11.2
- Launched Trade Copier and streaming market data.
- Improved copier logging and added Account Management Hybrid Mode in alpha.
v1.10.20
- Moved Trade Copier into public beta with multi-leader and multi-follower support.
- Added tandem operation with Account Management and experimental Hybrid Mode.
v1.10.9
- Released the Trade Copier beta.
- Added flexible instrument formats to Cancel, Flatten, and
GetPosition.
v1.9.1
- Fixed incorrect Strategy Sync labels for reduced long and short positions.
v1.9.0
- Released TradingView strategy synchronization.
v1.8.3
- Added NT8 v8.1.5 compatibility and general availability for continuous contracts.
v1.8.2
- Improved ATM strategy attachment and added early continuous-contract support.
v1.8.1
- Added position P&L thresholds to Unrealized Mode.
- Moved Closing Only order blocking out of beta.
v1.8.0
- Added redundant order processing to reduce connection-loss timeouts.
- Added early Closing Only order blocking through Account Management.
v1.7.3
- Corrected a compilation error from v1.7.2.
v1.7.2
- Improved order queue throughput and reduced Activity Log warning noise.
v1.7.1
- Improved reconnect reliability and ATI-disabled alerts.
- Added user order ID queries and account snapshots.
- Expanded Flatten and Close Position filters and sizing options.
- Added webhook notes to the Activity Log and Alert History.
v1.6.0
- Fixed Account Manager P&L lockups under high CPU load.
- Added position reversal and per-account kill and Closing Only switches.
v1.5.10
- Fixed reconnect failures after repeated disconnects.
v1.5.9
- Added Auto-Connect.
v1.5.4
- Completed Account Management features.
v1.5.1
- Added the first Account Management beta.
v1.5.0
- Improved startup, shutdown, and keepalive behavior.
v1.4.9
- Improved connection stability.