Backtest the Rayner Teo moving average pullback strategy on BTCUSDT
Rules: Moving-average pullback · as published tradingwithrayner.com
Win rate
NOT RECOMMENDED38.3%
107 trades · 1D · 2920 days · Binance
Data through 2026-08-31 00:00 UTC
The best win rate found while searching variations on the training part of this history. It has not been checked on unseen data yet.NOT RECOMMENDEDA fixed set of measured gates decides this. It is not an opinion and not advice.
Not recommended on this evidence
EvidenceWeak evidence
ReturnTotal simulated return
59.1%
Account change over the tested window
Profit factorProfit per loss
4.54
Gross profit ÷ gross loss (above 1 = profitable)
Max drawdownDeepest closed-trade fall
-5.5%
Worst fall from a previous account peak
ReliabilityConfidence in test
80/100
How much this test can be trusted
Unseen-data edgeUnseen-data edge
n/a
Average result per trade on data never optimised on
Asked for "BTC" · tested BTCUSDT
What we actually tested
- · Close above SMA(200)
- · The candle low touches or crosses SMA(50)
- · The candle is a bullish reversal candle (engulfing or hammer)
- · Entry at the next candle open, stop 1 ATR below the 5-candle swing low
- · Exit on a close below SMA(50)
This strategy can be improved.
Best variant found so far: 39.1% win rate (stop at 20-candle swing + target 1.25R + trailing stop 2×ATR(14) + added trend filter: price_vs_ema)
In-sample search, not yet validated on unseen data
Buys whenThe exact entry conditions that were executed for long trades.
close > SMA(200) and the candle low touches or crosses below SMA(50) and the signal candle is a bullish reversal candle (bullish engulfing, or a hammer with a lower wick at least twice its body and the close in the top third)
StopPosition sizing and stop rules exactly as executed. Nothing was added.
lowest low of the 5 completed candles before the signal candle minus 1 × ATR(14)
Target / exitTarget, trailing and time exits exactly as executed.
Rule exit — a close below SMA(50) closes the trade at the next open
Risk per tradePosition sizing and stop rules exactly as executed. Nothing was added.
1% of equity risked to the stop
One real trade, most recent
One real trade from the tested ledger, drawn on the same candles the engine used.BTCUSDT · 1d · actual exchange candles executed by the engine
- Up candle
- Down candle
- Entry price
- Stop
- Exit price
- SMA(200)
- SMA(50)
Entry
114,582.32 · 2025-10-27
Initial stop
102,848.89
Target
No fixed target
Exit
114,084.83 · 2025-10-28
Each candle is one 1D bar: the thin line is the high-low range, the thick body is open-to-close. Vertical marks show when the trade opened and closed. One real trade, picked by recency — an illustration of the executed rules, not proof they will work again.
How $10,000 would have changed
The account balance after each closed trade, starting from the stated budget.Account value after every trade closed, in dollars
- Account value
Left axis is dollars, bottom axis is time. The line only moves when a trade closes, so flat stretches are periods the rules stayed out of the market.
Simulation on historical candles, not live trading. Full methodology in Pro depth.
This is the free view of a shared report. Run your own strategy on the same engine.
Backtest a strategy