NQ · LIVE ENGINE Algomyth
Analysis

What a backtest is, and when you can actually trust one

JUN 9, 2026 · 10 MIN READ

$87,359. That's the net profit in the Algomyth engine backtest, and on its own it means nothing. A number like that is worth exactly as much as the method behind it. That is why the useful skill isn't reading a backtest, it's interrogating one.

The good news: it takes an afternoon to learn, and it works on anybody's numbers, ours included.

What a backtest actually is

A backtest is a simulation. You take a set of rules, run them over historical price data as if they had been live, and record what would have happened. Nothing was bought or sold, no money was at risk. It is the standard way to test whether a trading bot's rules had an edge.

That's its strength and its weakness at once. The strength: thousands of trades across conditions nobody could live through in a reasonable time. The weakness: every input is controlled by whoever ran it, and the temptation to keep adjusting until the curve looks beautiful is enormous.

The one thing to remember

A backtest is a hypothesis, not a track record. It is evidence that a set of rules had an edge in a defined period under defined assumptions. Check the assumptions, or the number is decoration.

Look-ahead bias: the lie that's hardest to see

Look-ahead bias means the simulation used information that wasn't available at the moment of the trade. It is the most common way a backtest turns beautiful, and it rarely happens on purpose.

  • Deciding on a bar you haven't finished. "Buy when the 5-minute candle closes above the open" is fine, as long as the entry is at the next bar, not inside the one used to make the decision.
  • Revised data. Economic figures get restated months later. A system reacting to a number must react to the number as first published.
  • Knowing the roll in advance. Futures contracts expire, and stitching a continuous price series with hindsight about where volume moved is not what you knew that morning.
  • Filters chosen after the fact. "The system skips Fridays" is legitimate if it was decided before the test, and curve fitting in disguise if it appeared after someone noticed Fridays were bad.

Look-ahead is why a strategy looks flawless in testing and falls apart in its first live week. Nothing broke. The simulation was playing with cards it wouldn't have held.

Tick data versus minute data

This decides whether the numbers are honest for any system that places a stop and a target at once, which is what the Algomyth engine does, with its target set at 3× the risk.

Picture a one-minute bar whose range covers both your stop and your target. Which was hit first? Minute data cannot tell you. The software has to assume, and every assumption is a policy: optimistic ones credit the target, conservative ones charge the stop. That single assumption can swing the result by a wide margin.

Tick data doesn't assume. It has every trade in sequence, so the simulation knows which price came first. It is heavier, slower and often costs money. It is also the only way a stop-and-target backtest means anything.

If a seller can't tell you what data resolution their backtest ran at, you've learned everything you needed to know.

Commissions, slippage and the zero-cost fantasy

Set commissions to zero and any marginal system becomes profitable. It is the cheapest trick in the industry because it requires no dishonesty: just leaving a field at its default.

Micro futures commissions are small but not zero: about $1.90 per contract round turn, all-in. Add the tick the market usually takes while the order travels and the real cost of a round trip is roughly $2.40 on the micro Nasdaq and $3.15 on the micro S&P. Algomyth charges that inside the simulation, trade by trade, which across 1,164 trades from January 2022 to September 2026 is real money. It is also why the published figure, $87,359, is a net one: there is no bigger number sitting behind it waiting to be quoted instead.

Slippage is the other half. Market orders don't always fill at the price on your screen, and stops fill worse in fast conditions. A backtest with perfect fills describes a market that does not exist.

Cherry-picked periods, survivorship and sample size

Three ways of showing a flattering slice of reality.

Cherry-picked periods. Almost any long strategy looks superb from 2020 to 2021. The question is never "how good is it" but "what period, and why that one." A test should cover several regimes (trending, choppy, volatile, boring) because you will trade in all of them. The Algomyth engine backtest runs from January 2022 to September 2026, day by day, long enough to include stretches it handled badly.

Survivorship bias. Mostly a stock problem: test on today's index members and you've excluded everything that went bankrupt or got delisted. Index futures dodge it, since the contract is the contract. A related version still applies to systems: you are shown the strategy that survived the developer's own selection. The twelve that failed aren't on the page.

Sample size. Two hundred trades is a story. A thousand is a statistic. With a target at three times the risk, break-even sits at a 25% win rate, so the system does not need to be right most of the time; and the gap between a real edge and luck only becomes visible over many trades.

Curve fitting, the sophisticated version

Curve fitting is tuning parameters until the system fits history so tightly it has memorized it rather than learned anything. The telltales: many parameters, oddly specific values, filters that exclude particular dates, and results that collapse when you nudge an input by 10%.

The defense is a stability test: change a parameter slightly and watch whether performance degrades gently or falls off a cliff. A genuine edge is a plateau; a fitted one is a needle.

How to read the Algomyth engine report

Read the numbers in this order. Profit comes last, not first.

FigureValueWhat it tells you
Worst drawdown of the period$5,273Worst peak-to-trough stretch. Start here: it's what you'd have had to sit through.
Total trades1,164Whether the sample is big enough to mean anything.
PeriodJanuary 2022 to September 2026Whether more than one kind of market is represented.
Reward to risk3:1Target at three times the stop, so break-even sits at a 25% win rate.
Profit factor1.46Dollars collected over dollars paid out. Much above 2 on intraday futures deserves suspicion.
Net profit$87,359Commissions and slippage already inside it. It is the only profit figure published, and the only one worth reading.

Then do the thing almost nobody does: check the numbers against each other. 1,164 trades between January 2022 and September 2026 is a shade under one a day, which is exactly what a system that takes one window a session should produce, and any bigger number would mean it isn't doing what it says. A profit factor of 1.46 says the dollars collected were just under one and a half times the dollars paid out, which is the modest, plausible neighborhood for intraday futures rather than the suspicious one. And a $5,273 worst drawdown against $87,359 of profit puts the worst stretch at a small fraction of what the period produced. The three have to agree with each other and with the equity curve. When they don't, that tells you more than any profit figure.

Don't take the numbers on faith

The full report is published with the drawdown, the losing stretches and the settings needed to run it yourself. If your figures don't match ours, open a ticket and we'll work out why.

How to reproduce it in NinjaTrader 8

The Strategy Analyzer is a standard tool inside NinjaTrader 8. Anyone with the strategy installed can run it.

  1. Install the strategy and confirm it compiles without errors.
  2. Get the data. Download historical data for the instrument over the full period. An honest result needs tick data, and tick data is large: budget disk space and download time.
  3. Open New > Strategy Analyzer and select the strategy from the list.
  4. Set the instrument and date range to match the published report exactly. A different range is a different test.
  5. Set the account size and contract count to match the report you are checking: $50,000 at one contract for the 50k report, the sizing stated on the page for the others.
  6. Set order fill resolution to High, 1 tick. The setting from the tick-data section above, and the one people skip.
  7. Set commissions and slippage. About $1.90 per contract round turn, plus a tick of slippage, which is what the published run uses. Zero gives you a prettier number and a useless one.
  8. Run it, then compare the summary and the trade list against the published report.

Two runs rarely match to the dollar, because data feeds differ slightly in their tick history. The shape has to match: trade count within a small margin, same profit factor, same drawdown neighborhood. Finding out why it doesn't is the whole exercise. Live behavior is described on how it works.

Hypothetical performance. Every figure here comes from a simulation over historical data, not a live account. Simulated results are prepared with hindsight, carry no financial risk, and cannot fully reflect real execution, slippage or liquidity. Past performance, real or simulated, does not guarantee future results.

What a backtest still can't tell you

Even a clean one has hard limits, and the honest thing is to name them.

  • It can't know the future. It describes a period that already happened, and if market structure changes the rules keep applying regardless. That is why judging when a system is broken stays a human job, as covered in automated vs manual trading.
  • It can't simulate you. The backtest never switched itself off after four red days. You might.
  • It can't model account rules. A funded account has a floor that closes it regardless of what the equity curve does afterward: a separate calculation, laid out in how funded accounts work.

Frequently asked questions

Is a backtest the same as a track record?

No, and treating them as equivalent is the most expensive mistake in this field. A track record is money that moved in a real account, with real fills and real slippage. A backtest simulates what the rules would have done, prepared with hindsight. Good evidence; not proof of anything that happened.

How long should a backtest be?

Long enough to include several distinct market environments, which for an intraday futures system means years, not months. Trade count matters more than calendar time: a thousand trades across varied conditions tells you more than two calm years. Under a few hundred trades is an anecdote.

What profit factor should I look for?

On an intraday futures system, roughly 1.3 to 1.8 is plausible and defensible. Much above 2 over a long period on a liquid instrument warrants hard questions about data resolution, commissions and parameter count. A high profit factor is not automatically good news; it is a reason to look closer.

Can I run the backtest myself before I buy?

Reproducing it needs the strategy installed, which is why we publish the settings rather than a summary. Before buying, check that the report is internally consistent and that drawdown, profit factor and trade count are disclosed. A vendor who publishes profit but not drawdown has told you something important.

Why does my result differ from the published one?

Usually one of four things: a different date range, a different fill resolution, commissions left at zero, or a different data feed. Work through them in that order and the gap almost always closes. If it doesn't, open a ticket through the contact form with your settings.

In short: a backtest is a hypothesis you can inspect, not a promise you have to believe. Check the data resolution, the commissions, the period, the trade count and the drawdown before you look at the profit. If the seller can't answer all five, the number at the top of the page is worth nothing.

Watch the engine, not the promises

Everything we write comes back to one idea: verify, then decide. The live terminal exists for exactly that.

Unlock Algomyth Live