NinjaTrader 8 Strategy Analyzer Results Explained: The Metrics That Matter for Prop Firms

You run a backtest in NinjaTrader 8, the Strategy Analyzer finishes, and the Summary tab hands you a wall of numbers. Total net profit. Profit factor. Sharpe ratio. Ulcer index. Average MAE. Most traders look at net profit, glance at max drawdown, and decide the strategy is ready.

That is how good-looking backtests fail prop firm evaluations. Each statistic answers a specific question, and a few of them answer a different question than the one you think you are asking. This guide goes through the metrics that matter for an automated futures strategy, explains how NinjaTrader actually calculates each one, and shows where the number can mislead you on a funded account. Every formula here comes from NinjaTrader's own Help Guide, mainly the Statistics Definitions page.

Where the Numbers Come From

You open the Strategy Analyzer from the New menu in the NinjaTrader Control Center. NinjaTrader describes it as the tool that "allows you to run historical analysis on your NinjaScript based automated trading strategies." After a backtest, the results show up in the performance displays. Two of them matter most for this guide:

One note before the metrics. When you look at combined results from an optimization or a basket test, the Help Guide says many of the values shown are a weighted average based on the total number of trades. If you are comparing one instrument's run against a combined run, you are not comparing like with like. Open the individual backtest instead.

Max Drawdown: The Number Most Likely to Fool You

Start here, because drawdown is what ends prop firm accounts. NinjaTrader defines Max. Drawdown as the biggest decrease in account size from the highest high seen. The formula on the Statistics Definitions page is the important part:

"Drawdown = local maximum realized profit – local minimum realized loss." (NinjaTrader 8 Help Guide, Statistics Definitions)

Read the word realized twice. The Strategy Analyzer's max drawdown is built from closed trades. It does not count how far a position went against you while it was still open.

Here is why that matters. Suppose your strategy enters NQ, the trade sits $900 underwater, and then it recovers and exits for a $300 winner. In the Summary grid, that trade added $300 and caused no drawdown at all. If your prop firm measures its trailing drawdown on your unrealized balance during the session, that same trade pulled your account $900 toward the limit. Do it on a day when you were already down, and you can breach a rule on a trade that the backtest records as a win.

How a firm measures drawdown varies, and it changes. Some track it intraday on open equity, some only at the end of the day. Our breakdown of intraday vs end-of-day trailing drawdown for algo traders explains both models. Then check your own firm's rules page, because that is the version that counts.

Use MAE to see the drawdown the Summary hides

NinjaTrader's Trades display shows MAE (maximum adverse excursion) for every trade, defined as the worst price the trade reached minus the entry price. Sort by MAE and look at the worst rows. That is the open-trade heat your strategy actually took, and on an intraday trailing drawdown account it is the number your firm sees. One caveat from the Help Guide: when backtesting, MAE uses the high and low of the bar series, so on large bars it is only an estimate.

The Core Metrics, Translated

Here is what the main Summary statistics measure according to NinjaTrader, and what to check before you trust them on a prop account.

Metric How NinjaTrader calculates it What to check on a prop account
Profit Factor Gross Profit / Gross Loss Below 1 means the strategy loses more than it makes. Check it with commission applied.
Max. Drawdown Largest drop from a peak in realized profit Closed trades only. Compare with the worst MAE values.
Sharpe Ratio (Profit per Month minus risk-free rate) / standard deviation of monthly profits Risk-free rate is fixed at zero. Shows 1 with a month or less of trades.
Sortino Ratio Same as Sharpe, using the standard deviation of monthly drawdown Focuses on harmful volatility. Same placeholder of 1 on short tests.
Ulcer Index Measures how far cumulative profit sits below its peak, across all trades Lower is better. A good way to compare two settings that end at the same profit.
Percent Profitable Profitable trades / total trades, judged in points Means little without the average win and average loss next to it.
Max. consec. losers Longest run of losing trades in a row Multiply by your average loss and compare with the daily loss limit.
Average ETD Average MFE minus Average Trade How much open profit your exits give back on a typical trade.

Profit factor and commissions

Profit factor is gross profit divided by gross loss. NinjaTrader notes that a ratio less than one indicates your strategy loses more money than it earns. It is a useful one-line health check, with one catch. The Help Guide says commissions "must be setup on the account using a Commission template." If you never set one up, your backtest is running without fees. A scalping strategy that trades several times a day can flip from a healthy profit factor to a losing one once real round-turn costs go in. Set the commission before you read anything else.

Sharpe and Sortino on short backtests

The Sharpe ratio uses monthly profit. NinjaTrader "hard sets" the risk-free rate of return to zero, and it defines a month as 30.5 days. The Help Guide also says the Sharpe ratio is set to a value of 1 if there is only one month of trade history or less, because there is not enough data to work out a monthly standard deviation. The Sortino ratio follows the same rule.

So if you backtest two weeks of data and see a Sharpe of exactly 1, that is a placeholder, not a result. NinjaTrader's own guidance is that 1 or greater is good, 2 or greater is very good, and 3 and up is great. Those labels only mean something across several months of trades.

Percent profitable and the win/loss ratio

Percent profitable is the number of profitable trades divided by total trades. NinjaTrader counts a trade as a winner when its profit in points is greater than zero, and a trade at exactly zero counts as even. On its own, a high win rate tells you very little. A strategy that wins 80% of the time with $50 winners and $400 losers is losing money. Always read it next to Ratio Avg Win / Avg Loss, which is Average Winning Trade divided by Average Losing Trade.

Consecutive losers and your daily limit

Max. consec. losers is the longest streak of losing trades in a row. It is one of the most useful numbers for a funded account, because it turns into dollars quickly. Suppose your backtest shows 6 consecutive losers and an average loss of $180. That is a $1,080 losing streak your strategy has already produced on historical data. If your firm's daily loss limit is smaller than that and the streak can happen inside one session, you need a daily stop in the code or smaller size. The future streak can also be longer than the past one, which is what our Monte Carlo simulation guide for NinjaTrader 8 is about.

MFE, ETD and exit quality

MFE (maximum favorable excursion) is the best price a trade reached minus the entry price. ETD (end trade drawdown) is Average MFE minus Average Trade, which tells you how much open profit you give back before the exit. NinjaTrader says a small ETD is generally desirable, since it implies exits that capture most of the move. If your average MFE is large and your average trade is small, your entries are finding moves and your exits are leaving them on the table. That is usually a cheaper fix than a new entry signal.

Time Statistics People Skip

A few lower rows in the Summary grid matter more for prop trading than they look.

Checking a Consistency Rule With the Analysis Tab

The Summary grid has no line for "best day as a share of total profit." Many funded accounts care about exactly that, through a consistency rule that limits how much of your profit can come from a single day. The threshold and the way it is applied differ from firm to firm, so read your firm's current rule first. Our article on Apex's 50% consistency rule for algo traders shows how one firm words it.

To check your backtest against a rule like that:

  1. Open the Analysis display.
  2. Set Period to Daily.
  3. Set Time base to the exit time of the trade, so each trade lands on the day it closed. NinjaTrader lets you choose entry time or exit time.
  4. Set the graph to Net Profit and find your largest daily bar.
  5. Divide that day's profit by total net profit over the window you care about.

Suppose a strategy makes $6,000 over a test window and its best day made $2,400. That one day is 40% of the total. Whether that passes depends on your firm. Either way, it tells you something on its own. A strategy whose result rests on a handful of huge days will have long, flat stretches in between, and an evaluation clock does not wait for the big day to arrive.

While you are in the Analysis tab, switch the period to Hour of day or Day of week. NinjaTrader treats these as distribution views, so cumulative stats are turned off there, but net profit by hour often shows that one session window carries the whole strategy. That is worth knowing before you add time filters.

Prefer a strategy that has already been through the testing?

NQ Ultra is a ready-to-run NinjaTrader 8 strategy for NQ futures, built for traders running prop firm accounts. Skip months of building and start from a finished system.

Get NQ Ultra on Whop

Optimization Fitness Metrics Use the Same Math

When you optimize, NinjaTrader asks you to pick a fitness metric, the target it ranks parameter sets by. The built-in options include Max Net Profit, Max Profit Factor, Max Sharpe Ratio, Max Sortino Ratio, Max % Profitable, Min Drawdown, Max R Squared and Max Strength. Each one points back to the same formulas covered above. Min Drawdown uses the max drawdown formula from the Statistics Definitions page, so it is minimizing closed-trade drawdown, not open-trade heat. NinjaTrader also labels Max Strength as a "work in progress" whose implementation could change.

If no built-in target fits your firm's rules, NinjaTrader supports custom performance metrics and custom optimization fitness metrics written in NinjaScript. That is how you would score parameter sets on something like best-day share or worst MAE.

Whatever metric you optimize on, an optimized result is a best case on data the strategy has already seen. Check it on data it has not seen with our walk-forward optimization guide for NinjaTrader 8.

A Quick Pre-Evaluation Checklist

Before you point a strategy at a paid evaluation, run through this list on your backtest:

The Strategy Analyzer is honest about what it calculates. NinjaTrader publishes every formula. The trouble starts when a trader reads a closed-trade drawdown as the drawdown a prop firm will measure, or reads a placeholder Sharpe as a real one. Learn what each row actually counts, and the Summary tab turns from a sales pitch into a risk report.