Crypto backtesting tool

Updated:

A crypto backtesting tool replays your rules on historical prices: you take a bot's settings, feed it past candles and see which trades the bot would have opened and how they ended. It is a way to weed out clearly weak settings before you risk money. It is not a forecast and not proof of profitability.

How the backtest works in Snapback

The key principle: the backtest does not invent separate logic. It uses the same pump detector, the same position-size calculation and the same trade state machine (stop, take-profits, breakeven) as the live bot. So the gap between "what the backtest showed" and "what the bot would have done" is minimal by design.

The sequence is:

  1. The service takes an archive of Binance USDT-M one-minute candles for all coins.
  2. Every minute it checks whether there is a pump under your rules (rise, window, trading volume, filters).
  3. For a signal it finds, it calculates a limit entry order. The entry fills only if the price rose to the order before the waiting time ran out. If not, the signal does not become a trade: in the metrics that is the "Orders not filled" tile.
  4. The trade is then played out candle by candle: stop, take-profits, move to breakeven, closing if needed.
  5. Fees, funding and slippage are counted, and the result is assembled into metrics (see backtest metrics explained).

What is included

  • Fees: for entry (an order resting in the book), for take-profits and for the stop (the rates are built into the service).
  • Funding: from historical rates, taking into account that a short receives funding when the rate is positive.
  • Stop slippage: the stop fills slightly worse than its trigger price. Slippage is included only while "Fees and funding" is switched on.
  • Limits: the maximum number of simultaneous positions and total margin, so the simulation does not "open" more than the live bot would allow.
  • The "order waiting" state: while an order is resting, the coin, the slot and the margin are occupied, just as in real life.

You can switch off the separate "Fees and funding" toggle in the wizard, but the service warns you directly that you will then see a flattering result.

What a backtest cannot show

  • The order book and the queue. History is stored as candles. The backtest assumes an order filled if the price touched its level. In reality an order can sit in the queue and not fill, or fill only partly.
  • Ambiguous minutes. If within one one-minute candle the price touched both the stop and the take profit, it is unknown which came first. In that case the backtest assumes the stop came first (the more cautious choice). The number of such minutes is shown separately.
  • Market change. Past patterns may not repeat. Coins, market regime, liquidity and the behaviour of pumps all change.
  • Overfitting. If you keep trying settings until the result on history looks good, you will pick not a working strategy but whatever happened to be lucky on this stretch and these coins. The more variants you try, the less you can trust the best of them.

How to use it without fooling yourself

  • Look not only at "Return" but also at maximum drawdown, the longest run of stop-losses and "Peak load" (how much of the deposit was in margin at the same time).
  • Watch the number of closed trades. If there are fewer than 30, the service shows a red warning: the difference between settings on such a sample cannot be told apart from chance.
  • Compare different periods, not one. Settings that work on only one stretch are unreliable.
  • Do not change parameters "until you get the result". Decide first what you would accept.
  • Remember the backtest result is calculated for the deposit you entered, so it cannot be carried over mechanically to other amounts.

Where to run it

Menu item "Create a bot". After setting up the bot, press "Run backtest". In the "Test on history" block you set:

  • "Deposit, $" (from 50);
  • "Period, days" (from 7 to 364);
  • "Fees and funding" (on by default);
  • "Compounding" (the position grows with the deposit).

Above the fields the service shows which dates have candles in the database and how many coins are in the sample. The period is counted back from the last available date, not from today: the exchange archive is published in whole months, so the current month is not loaded yet. The run happens on the server, and the page shows progress and refreshes by itself. If the result looks interesting, press "Save as a bot". The step-by-step guide is in how to create your first bot.

The summary counts only closed trades, so running again with the same settings gives the same result. But keep the main point in mind: a backtest checks settings against the past. For a wider discussion of what to expect from automated trading, read do crypto trading bots work.

Frequently asked questions

What is a crypto backtest in simple terms?

It is a run of your trading rules on past data to see how they would have done then. It is a check against history, not a forecast.

Does a good backtest guarantee profit in the future?

No. Markets change, and settings are easy to fit to the past. A good result on history only means the rules were not senseless back then.

How many trades do I need before I can trust a backtest?

The more the better. The service itself warns you when there are fewer than 30 closed trades: on a sample that small, good and bad settings cannot be told apart from chance.

Why does a backtest differ from real trading?

Because history is stored as candles and does not show the order book, your place in the queue or slippage. The service models part of this, but not all of it.

Read also