In this article
After this article, you can
- Distinguish a price change from the arrival of another tick.
- Check custom volume aggregation on repeated prices.
Terms at hand: Backtesting · Order execution · Trading Journal · CFD (contract for difference) · Commission · Position size (lot quantity)
Choose a platform from the market, account integration, data and tools you need. NinjaTrader has a futures-oriented workflow, including analysis and simulation. Confirm the supported instruments and account eligibility for your country before paying; geography alone does not establish whether it will improve a method.
What exactly is NinjaTrader?
NinjaTrader Desktop provides charting, SuperDOM order controls, Strategy Analyzer and NinjaScript development based on C#. Web and mobile products are also available, but do not assume that desktop scripts, add-ons or testing tools work identically in them. This article’s advanced historical-testing discussion concerns Desktop; language familiarity does not establish a universal difficulty or power ranking against MQL.
Separate software capabilities from the brokerage account. NinjaTrader’s own brokerage offering focuses on futures; Desktop also lists supported connections for other brokers and data services, including forex and equities. A listed connection still requires the correct account, permissions and any applicable add-on. If you are comparing the difference between the spot market and futures contracts, first identify the actual tradable product rather than inferring it from a platform brand.
What does it cost, and what is free?
Free charting, backtesting and simulated trading are available, but data, Market Replay and order-flow entitlements can depend on the account plan and funding conditions. Check current vendor terms for the exact feature and connection before assuming every simulation feature is unrestricted.
For futures accounts cleared through NinjaTrader Clearing, the vendor offers Free, Monthly and Lifetime plans. The Free plan supports live trading without a monthly plan fee, while paid plans can reduce per-side commissions. Exchange, clearing, NFA, data and other account fees can apply. Check current terms; live trading does not inherently require buying a separate paid platform licence.
Compare costs for your actual expected contract count and account conditions. As an explicitly US NinjaTrader Clearing tariff example, the published micro-contract commissions per side are USD 0.39 for Free, USD 0.29 for Monthly and USD 0.09 for Lifetime; Monthly costs USD 99 per month and Lifetime USD 1,499 once. At an assumed 500 round trips of one micro contract in one month, brokerage commission is 500 × 2 × 0.39 = USD 390 on Free and 500 × 2 × 0.29 + 99 = USD 389 on Monthly: only USD 1 apart before other applicable fees. Do not increase activity to recover a subscription. The fee table also describes a USD 35 minimum-activity fee for Free plans that log in but make no live trades in the specified 30-day period, with a separate legacy-plan rule. Confirm the current agreement and all-in instrument rate; these US terms are not a universal country offer.
OnPriceChange can omit repeated-price volume from your sum
Consecutive executions can share a price but differ in volume. A price-change event alone is not a complete record of their executed units.
Scroll sideways to see the full diagram
Fictional Last ticks within one open bar: prices 100,100,101 and volumes 2,3,1 contracts. Previous Last was 99. No bar close or additional Bid/Ask event occurs. Our filter adds tick volume only after its price changes; it does not read the bar's already accumulated volume. This describes an algorithm, not ready-to-use API code or a measured live feed. The document NinjaTrader 8: Calculate confirms that OnPriceChange calls OnBarUpdate on a price change or bar close; repeated-price ticks may not invoke it for volume-dependent logic.
Full volume is 6. Our filter retains tick one, 99 to 100, and tick three, 100 to 101, summing only 3. NinjaScript documentation warns against OnPriceChange for volume-dependent logic: another tick at the same price does not invoke OnBarUpdate solely because it arrives. Bar closes can invoke it, so that case is excluded here. This does not make built-in Volume always wrong: reading accumulated bar volume and processing each Last event are different algorithms. Test a custom script on repeated prices as well as chart movement.
Playback, Tick Replay and historical strategy tests
Strategy Analyzer supports historical NinjaScript backtests, optimisation, walk-forward and Monte Carlo analysis. Playback is different: Market Replay uses recorded or downloaded Level I and Level II events; recording depth requires receiving the relevant depth data. Historical Playback uses available historical ticks without market depth. Tick Replay is another function that reconstructs events for compatible script calculations: it replays Last events with the best Bid/Ask at that trade, not every historical Bid/Ask event, and is not designed to guarantee accurate order fills. Check actual data coverage and the selected mode before treating a replay as an exchange-equivalent test.
A hypothetical timing exercise makes the distinction concrete. A recorded condition lasts from market time 0 to 2 seconds, and the user needs exactly 3 real seconds after noticing it to decide. Assume no pauses, data delays or rewinds. At 1× playback, the condition lasts 2 user seconds and the decision falls at market second 3, too late. At 0.5× it lasts 4 user seconds and the decision occurs at market second 1.5, within the window. At 2× it lasts 1 user second and the decision occurs at market second 6. These are invented timing inputs, not measured human reaction statistics. A success in slowed playback does not establish live feasibility; even 1× does not reproduce the user’s actual exchange queue or market impact.
Out-of-sample tests help separate parameter selection from evaluation, but neither replay nor a backtest proves future survival. Compare data resolution, fills, costs and implementation assumptions before claiming one platform provides a tougher or more valid test.
Where does its data come from, and what does it connect to?
Use the supported connection for the actual Desktop account and instrument. The vendor lists Interactive Brokers, FOREX.com/City Index and FXCM separately from data providers; its Multi-Broker add-on is advertised at USD 99 per month and is distinct from the Monthly commission plan for its own brokerage. Data and routing infrastructure, including Rithmic or CQG where supported, do not by themselves establish faster or faultless fills. Check the correct account, platform version, licence and data package rather than treating an integration as a universal default.
Check the current platform connections, supported products and eligibility of the broker entity you would use. A group brand or a platform feature does not establish that your existing account can connect. Evaluate migration and automation tools against a small test before changing the setup.
An illustrative example: two different paths
Consider Micro E-mini S&P 500 futures, MES. CME specifies USD 5 per index point and an outright minimum tick of 0.25 point, worth USD 1.25 per contract. In a hypothetical move of 20 points, one contract changes by USD 100 before costs and ten contracts by USD 1,000; the sign depends on position direction and the price move. An intraday margin requirement is collateral, not a maximum possible loss. Check the broker’s current session cut-off and overnight requirements, and do not treat a stop as a guarantee of its requested fill price.
In a second illustrative case, a trader wants only tools supported by an existing EUR/USD account. Check that account’s platform, data and total cost before adding another package. For European NinjaTrader accounts, the current opening guide identifies Payward Europe Digital Solutions (CY) Limited and makes the application’s country-of-residence dropdown the eligibility check; US NinjaTrader Clearing terms must not be assumed applicable. The NinjaTrader and MT5 comparison discusses the choice; the result depends on requirements and account eligibility rather than residence alone.
NinjaTrader versus the competition
Compare the functions needed for the intended instrument and account. MultiCharts offers PowerLanguage and .NET environments with plan-dependent portfolio tools; test code compatibility and matched historical assumptions. Check the current account and product availability of thinkorswim separately. The comparison of MT4 and MT5 can help assess another account’s tools. Language labels, community reputation and a larger simulated profit do not establish that one platform is inherently more capable or suitable.
What to do tomorrow
- Test NinjaTrader with the available account and data permissions. Inspect charts and a recorded session, documenting the mode, speed, pauses and any rewinds. Check funding conditions for Market Replay and other entitlements rather than assuming every feature is unrestricted. Evaluate specific required tasks; no fixed number of evenings validates the platform or a method.
- Compare current plan costs. Under the relevant account terms, list plan fees, per-side commissions, exchange/clearing charges, data and other account fees. Keep margin or capital deposits separate. A free MetaTrader terminal does not make the broker's trading costs zero.
- Define the requirement. If you trade currency pairs, decide whether you need exchange volume, replay or order-book tools, and check which platforms your actual account supports. Compare total software, data and trading costs rather than choosing from a local-versus-foreign label.
- Define a test protocol before live exposure. Record data resolution, executions, costs, payoff distribution and drawdown across relevant conditions. A dozen replay sessions and stable hit rate do not by themselves validate profitability. Choose feasible volume from a monetary loss budget rather than assuming the smallest contract is low risk.
Related reading: NinjaTrader versus MT5 in practice. For broader context on platforms and tooling, see our platforms section.
Check your understanding
One short exercise
About 2 min · you can try again
A custom filter adds volume only when Last changes. Previous Last is 99; ticks in one open bar have prices 100,100,101 and volumes 2,3,1. There is no bar close. What does it sum?
- 6 contracts, because all ticks are executions.
- 1 contract, because only the final price matters.
- 3 contracts: 2 from tick one and 1 from tick three.
Check the answer and explanation
3 contracts: 2 from tick one and 1 from tick three.
Tick two repeats 100, so the specified filter omits its 3 contracts. The custom sum is 3, not full volume 6.
Frequently asked
How do I assess NinjaTrader for my account and method?
Start with the actual instrument, broker connection, country eligibility and data requirements. Compare software and data costs against the tools you need. A futures-oriented workflow can be useful for particular tasks, but residence in Europe does not make NinjaTrader automatically unsuitable or MT5 automatically cheaper.
What exactly do I get in the free version of NinjaTrader?
NinjaScript or MQL — which strategy language is harder?
Sources & bibliography
-
NinjaTrader Strategy Analyzer — backtesting, optimisation and walk-forward · Official NinjaTrader 8 documentation for backtesting, optimization, walk-forward analysis, Monte Carlo analysis and basket tests. ninjatrader.com ↗
-
NinjaTrader NinjaScript — automated strategy development · Official documentation for C#-based NinjaScript development of strategies and indicators. ninjatrader.com ↗
-
Rithmic Products — R | Trader and R | API trading infrastructure · The provider describes R | Trader, R | API and its futures-market data/execution infrastructure. www.rithmic.com ↗
-
DayTrading.com NinjaTrader review — independent platform assessment · A third-party review covering futures, charting, market replay and micro-contract pricing. www.daytrading.com ↗
-
NinjaTrader US trading plans and commissions · Defines Free/Monthly/Lifetime rates for accounts cleared through NinjaTrader Clearing, LLC, plus funding conditions and additional charges. ninjatrader.com ↗
-
NinjaTrader How to open a futures account in the EEA · Identifies PEDSL-CY and makes the application’s country-of-residence list the eligibility check; it does not guarantee any applicant’s acceptance. ninjatrader.com ↗
-
CME Group Micro E-mini S&P 500 futures · Defines the MES multiplier of USD 5 per index point and outright minimum tick of 0.25 point, used in the hypothetical exposure calculation. www.cmegroup.com ↗
