- “Extremely slow UI with many strategies”
This is a known and documented consequence of heavy UI-bound strategy parameterisation, not resource starvation.
• NT strategies run on the UI thread for configuration.
• Large property grids, reflection-heavy parameters, or frequent OnStateChange() refreshes will stall typing.
• This is self-inflicted design, not a missing feature.
Professional practice: decouple configuration objects, minimise property attributes, and avoid reflection churn.
⸻
- “No server-side EOD flat enforcement”
This is by design and for regulatory reasons.
• NinjaTrader is not a broker risk server.
• Flatten-at-EOD is the responsibility of:
• the broker (session-based risk),
• or the strategy (deterministic exit logic),
• or exchange session rules.
Expecting a desktop client to act as a broker-side kill-switch is a category error.
⸻
- “Cannot use desktop strategies and mobile app simultaneously”
Correct — and intentional.
• NT enforces single-account order ownership to prevent:
• double-modification,
• race conditions,
• and undefined state across clients.
This is risk containment, not a missing feature. Most professional platforms enforce the same constraint.
⸻
- “No entry–exit lines for headless strategies”
Incorrect framing.
• Those lines are chart objects, not execution artefacts.
• Headless strategies do not emit visual objects unless explicitly coded to do so.
If you want visuals, draw them. Execution ≠annotation.
⸻
- “Strategies tab out of sync with positions”
This complaint misunderstands intent.
• Strategies manage logical intent.
• Positions reflect actual fills.
• Desync occurs when:
• orders are modified externally,
• partial fills occur,
• or recovery logic is misused.
The sync button exists because forced coupling would be dangerous.
⸻
- “Cannot hold long and short in same account”
This is an exchange / brokerage netting model, not a platform defect.
• Futures accounts are netted by design.
• Sub-accounts exist precisely to allow hedging.
Complaining about this is equivalent to complaining that futures are not CFDs.
⸻
- “No mechanism to prevent ordering from wrong threads”
This is the strongest tell that the author lacks platform understanding.
• NinjaScript is event-driven, not thread-free.
• Order placement rules are explicitly documented.
• Preventing this at runtime would:
• add latency,
• break advanced use cases,
• and still not prevent logic errors.
Professional platforms assume developer competence.
⸻
- “No built-in email / Telegram notifications”
Flatly incorrect.
• Email alerts exist.
• External messaging requires integration — intentionally.
No serious trading platform hardcodes third-party messaging APIs.
⸻
- “No text output if Output window is closed”
The Output window is a viewer, not a logging backend.
• Closing a console does not destroy logs in any serious system.
• File logging is explicitly supported and recommended.
This is basic software engineering.
⸻
- “Cannot apply ATM to an open position”
Correct — and correct by design.
• ATMs are order templates, not retroactive state machines.
• Applying them post-fill would introduce ambiguity.
Manual control after disabling a strategy is manual by definition.
⸻
- “Positions combined and closed randomly”
This is user error.
• NT tracks positions, not intents.
• If you want per-entry attribution, you must:
• manage entry IDs,
• or use unmanaged order mode.
Trade Performance ≠strategy bookkeeping unless explicitly coded.
⸻
- “Market Replay inaccurate / slow / requires charts”
Market Replay is not tick-perfect exchange replay.
• It replays recorded market data, not exchange truth.
• Charts are required because:
• data subscription is chart-scoped,
• not strategy-scoped.
This is documented and expected.
⸻
- “Strategy Analyser less accurate than replay”
Correct — and universally true.
• Backtests are simulations.
• Replays are approximate re-enactments.
• Live is the only ground truth.
This is not a NinjaTrader problem.
⸻
- “Market Replay does nothing if data missing”
Yes — because halting execution silently is safer than fabricating data.
Professional systems fail closed, not loudly.
I could go on with more detail and personal experience - but time constraints..