NinjaTrader 8 is a desktop trading platform for futures, used for charting, simulation, order entry and automated strategies. Its own programming language, NinjaScript, is built on C# and the .NET framework, so indicators and strategies are ordinary C# classes that the platform compiles.
This page explains the platform in plain terms so you can judge it for yourself. Santana Max is independent: we are not affiliated with or endorsed by NinjaTrader, and nothing here is a recommendation to open an account anywhere.
02.1What NinjaTrader is, and whether it is a broker
The NinjaTrader name covers two things: the trading software, and a futures brokerage offered by the NinjaTrader group of companies. You can use the software for charting and simulation without trading through it, and the platform can connect to data and brokerage accounts. Because ownership and offerings change over time, check NinjaTrader's own disclosures for the current structure before you rely on any summary, including this one.
02.2NinjaScript
NinjaScript is how you extend the platform. An indicator overrides methods such as OnBarUpdate to calculate values on each bar; a strategy adds order methods such as EnterLong, ExitLong, SetStopLoss and SetProfitTarget. The State property tells your code which phase it is in, from setting defaults to configuring data series to running in real time.
Because it is C#, NinjaScript is readable by any C# developer, and code can be versioned, reviewed and tested like other software. That is the reason this site cares about it: a strategy written as code can be read line by line.
protected override void OnBarUpdate()
{
if (CurrentBar < BarsRequiredToTrade) return;
// read indicators, then decide; every rule is explicit
}02.3Add-ons and the ecosystem
Add-ons are third-party indicators, strategies and tools installed into NinjaTrader 8, usually as an exported NinjaScript archive. NinjaTrader runs a vendor directory it calls the Ecosystem. Being listed there is NinjaTrader's decision, and a listing is not a statement about how a product performs.
Before installing any add-on, ask whether you get readable source or compiled code, what it changes on your charts or orders, and how to remove it cleanly.
02.4Getting started, and the Mac question
The desktop platform is Windows software. Mac users typically run it inside Windows through virtualization, or use NinjaTrader's web and mobile platforms, which do not run desktop NinjaScript. New users usually start in the built-in simulation account, which uses simulated fills.
02.5Margins, order flow and Tradovate
Futures margin is a good-faith deposit, not a cost. Exchanges set initial and maintenance margin; brokers may set their own intraday margin on top. These figures change, so read the broker's live margin page instead of a number quoted in an article.
Order flow tools show traded volume at each price inside a bar. Tradovate is a separate, cloud-based futures platform that is now part of the same group as NinjaTrader; the practical difference for a strategy writer is that NinjaScript runs on the NinjaTrader desktop platform.
Where it usually goes wrong
- Assuming simulated fills match what a live order book would give you.
- Installing compiled add-ons you cannot read, then forgetting they are attached to a chart.
- Quoting margin figures from an old article instead of the broker's live page.
