All guides

How to backtest a trading strategy without coding

By Amit Blecher, founder of Trade Manager · Last updated: 2026-08-22

The example strategy from this guide is already built. Open it, press backtest, and you've done everything this page describes.

Open this strategy

Most people test a trading idea by scrolling a chart backwards and going "yeah, that would have worked." It always looks like it would have worked. Your eye finds the setups that fired and skips the fifty that didn't.

A backtest removes your eye from the process. It walks forward through history one candle at a time, checks your rules against only the information that existed at that moment, and counts every single trigger — including the ugly ones. This guide covers how to do that without writing a line of code.

What a backtest actually proves (and what it doesn't)

A backtest tells you one thing: if these exact rules had run over this exact period, this is what would have happened. That's genuinely useful, because it turns a vague feeling into a number you can argue with.

It does not tell you:

  • That the next twelve months will resemble the last twelve.
  • That you would have actually taken every trade without flinching.
  • That you'd have gotten filled at the price the candle shows.

Treat a backtest as a filter for discarding bad ideas, not as a promise. Its main job is killing strategies before they cost you money.

Step 1 — Write your rules as separate, testable conditions

Before touching any tool, break your idea into pieces that are either true or false on a given candle. "Buy when it breaks out with strong volume and isn't overbought" becomes:

  • Trigger: price closes above the highest high of the last 20 bars.
  • Filter: volume is at least 1.5× its 20-bar average.
  • Filter: RSI(14) is below 70.

The distinction matters. A trigger is the event that fires the signal. A filter is a condition that must also be true at that moment. If you only have filters and no trigger, nothing ever fires. If you have five triggers, something fires constantly.

Step 2 — Build the rules as blocks

In the strategy builder, each rule is a block you drag onto a canvas and configure. Price-action blocks (breakout, support and resistance, gap fill, candlestick patterns, retest) act as triggers. Indicator blocks (RSI, MACD, moving average, volume, benchmark comparison) act as filters that must all agree.

Every block has a lookback or period setting — how many bars back it looks. This is the setting that quietly decides whether your strategy can run at all, which brings us to the most common failure.

Step 3 — Check you have enough bars before you trust anything

This is the mistake that wastes the most time, and it never announces itself. If a block needs 200 bars and the data has 140, the block simply returns false forever. No error. No warning. Your strategy reports zero trades and you assume the idea was bad.

The rough requirement is:

  • Warmup = the largest lookback across all your blocks (not the sum), plus a margin.
  • Evaluation window = enough bars after warmup to produce a meaningful number of trades.

A single MA-200 block alongside a 20-bar breakout needs about 230 bars before the first possible signal — not 220 from adding them up. Longer timeframes are hungrier in calendar terms: 200 four-hour bars is a few months, 200 daily bars is most of a year.

Step 4 — Run it and read the right numbers

MetricWhat it actually tells you
Number of tradesRead this first. Under ~30 trades, every other number is noise. A 90% win rate over 6 trades means nothing.
Win rateHow often it was right. Useless on its own — a 30% win rate can be very profitable if the wins are large.
Average win vs average lossPair this with win rate. Together they tell you whether the strategy makes money; separately neither does.
Max drawdownThe worst peak-to-trough fall. This is the number that decides whether you'd actually have stuck with it.
Open trades at the endPositions that never hit take-profit or stop-loss before the test ended. If most trades are still open, your exit rules are too wide.

Step 5 — Test the same rules on data you didn't tune them on

Here's the trap. You run a backtest, it shows 48%, you change the RSI threshold from 70 to 65, it shows 61%. That feels like progress. It usually isn't — you've just found the setting that best fits noise that already happened.

Two cheap defences:

  1. Change the market, not the settings. If a strategy tuned on the NASDAQ 100 also holds up across the S&P 500, the edge is more likely real.
  2. Change the period. A strategy that works in 2024 and collapses in 2025 was fitted to one regime.

A robust strategy is one that's merely decent across several conditions. An excellent-on-one-slice strategy is usually a curve fit wearing a suit.

Step 6 — Let it run forward on live data

The only test that can't be fitted is the one on data that doesn't exist yet. Once a strategy looks reasonable, switch it on and let the scanner watch for it across the S&P 500 and NASDAQ 100 during market hours. Signals arrive by Telegram, email or web push, and each one is recorded.

After 30 days you have something a backtest can never give you: a win rate from signals that were generated before the outcome was known. That's the number worth trusting, and it's the one shown on public strategies in the strategy library.

The short version

  1. Split your idea into one trigger and a few filters.
  2. Build them as blocks; keep the block count low.
  3. Confirm the timeframe actually has enough bars for your slowest indicator.
  4. Read trade count before win rate.
  5. Re-test on a different market or period instead of tuning parameters.
  6. Run it live and let real signals accumulate.

Next: a worked example of backtesting a breakout strategy that lost 50%, and how to set an alert with multiple conditions.

Frequently asked questions

Do I need to know Python to backtest a strategy?

No. Python gives you the most control, but a block-based builder covers the same common rules — moving averages, RSI, MACD, breakouts, volume, support and resistance — without writing code. Trade Manager replays your strategy bar by bar using the exact same engine that scans the live market, so the historical result and the live behaviour come from one codebase.

How much historical data do I need for a backtest to mean anything?

It depends on your timeframe and your slowest indicator. A 200-period moving average needs at least 200 completed bars before it produces any value at all, plus enough bars after that to actually generate trades. On daily bars that is roughly a year of history minimum. Fewer bars does not produce a wrong number — it produces a number based on a handful of trades, which is worse because it looks real.

Why do my backtest results look better than my live results?

The three usual causes are lookahead bias (using a candle that had not closed yet), survivorship bias (testing only companies that still exist today), and overfitting (tuning parameters until the past looks perfect). The first is a bug, the second is a data problem, and the third is the one that catches almost everyone.

Is backtesting free on Trade Manager?

The free plan includes 10 backtests per month. Pro is $19/month (plus VAT) and includes 200 per day. Both run against the same real historical price data.

Run it yourself

Breakout + Volume (the guide's example) is set up and ready to open. Trade Manager turns a setup like this into scanner rules you can read and change, lets you backtest it on real historical bars, one ticker or the whole S&P 500, and sends a Telegram or email alert when it fires.

Free plan, no credit card: 3 active strategies, every market and timeframe, and 10 backtests a month. Paid is $19/month if you outgrow it. You can browse the strategy library without an account at all.

Educational content only, not financial advice. Trade Manager does not place trades or manage money. Read the full Disclaimer.