Backtest strategii — jak go przeprowadzić poprawnie?
Trader: „mam strategię, daje 95% win rate w backtest!". 6 miesięcy później na live: 30% win rate, konto −60%. Strategia nie wytrzymała. Pokazuję 6 kroków poprawnego backtestu i jak unikać overfittingu.
Co to backtest
Backtest = test strategii na historycznych danych. Cel: zweryfikować, czy strategia by działała w przeszłości. Logika: jeśli działała przez 5 lat, prawdopodobnie zadziała w przyszłości. Ale: past performance ≠ future results. Backtest jest narzędziem, nie wyrocznią.
6 kroków poprawnego backtestu
Krok 1: Define rules
Spisz strategię jasnymi regułami:
- Entry conditions (np. „long when EMA50 > EMA200 + RSI(14) < 70")
- Exit rules (TP, SL, trailing stop)
- Position sizing (1% risk per trade)
- Timeframe (D1)
- Pary (EUR/USD, GBP/USD)
Krok 2: Choose data
Minimum 5 lat real ticks (nie interpolated). Pokrywaj różne market regimes:
- Trending: 2015-2017
- Volatile: 2020 (COVID)
- Range: 2023
Krok 3: Run backtest
Narzędzia: MT5 Strategy Tester (free, najlepszy), MT4 (limited), Forex Tester 5 ($300), TradingView Pine Script.
Krok 4: Analyze statistics
Krok 5: Optimization (z umiarem!)
Optimization = znajdowanie najlepszych parametrów. Przykład: testowanie różnych EMA periods (10, 20, 50, 100, 200). Niebezpieczeństwo: curve fitting. Jeśli wybierasz top performance combination → overfit. Reguła: optymalizuj 1-2 parametry max, nie 10. Plus: in-sample (50% data) + out-of-sample (50%) — testujesz na in-sample, validujesz na out-of-sample.
Krok 6: Forward test demo
Po backtest, run strategy na demo przez 1-3 miesiące. Real time data, real conditions. Jeśli demo performance ~ backtest = strategy może być real. Jeśli demo << backtest = overfit, return to step 1.
Najczęstsze błędy
- Look-ahead bias — używanie danych z przyszłości w decision (np. dzisiaj close używamy do decision z otwarcia)
- Survivorship bias — testowanie tylko na pairs/stocks które wciąż istnieją
- Data mining — testowanie 1000 strategii, znajdowanie 1 z dobrym backtest = przypadek
- Slippage / spread ignored — rzeczywiste koszty wyższe niż w backtest
- Curve fitting — perfect parameters dla historic data
Realny przykład
To są realistyczne numbers. Top retail strategy daje 15-25% rocznie. > 50% rocznie w backtest = sprawdź overfit.
Praktyczna lista kontrolna
- ☐ Strategia jasno zdefiniowana (rules)
- ☐ 5+ lat danych, multi-regime
- ☐ 100+ trades w backtest
- ☐ Win rate 50-65% (nie > 70%)
- ☐ Profit factor 1.5-3.0
- ☐ Max drawdown < 20%
- ☐ Forward test demo 1-3 miesiące
- ☐ Live small position 1-3 miesiące przed full size
Backtest to klucz do zaufania w strategię. Bez backtestu = trading na nadziei. Z backtestem = trading z statistical edge.
Dla pogłębienia — backtest dla retail traderów z konkretnymi templates jest osobnym tematem na ForexMechanics (~35 min czytania).
Źródła i bibliografia
-
MetaQuotes MT5 Strategy Tester Documentation · oficjalna dokumentacja www.metatrader5.com ↗
-
Forex Tester Forex Tester 5 · dedykowane narzędzie backtest www.forextester.com ↗
-
CFA Institute Backtesting Best Practices · akademickie standardy www.cfainstitute.org ↗
Najczęstsze pytania
Co to overfitting?
Overfitting = strategia idealnie pasuje do przeszłych danych, ale nie działa na new data. Przykład: backtest pokazuje 95% win rate. Live = 30% win rate. Powód: parametry były optymalizowane do ostatecznej zgodności z historią. To jest curve fitting. Statystycznie 95% win rate w forex jest niemożliwe długoterminowo. Realne strategie mają 50-60% win rate. Jeśli Twój backtest pokazuje > 70%, sygnał ostrzegawczy: prawdopodobnie overfit.
Jakie narzędzia do backtestu?
Top 4: (1) MT5 Strategy Tester — wbudowany, free, multi-timeframe, real ticks. (2) MT4 Strategy Tester — limited (1 tf), ale popular. (3) Forex Tester 5 — $300, dedicated, manual backtest (ucisz strategie wizualnie). (4) TradingView Pine Script — backtest wbudowany w TV, easy syntax. Plus: backtest manual w Excel z zapisem trades. Każde narzędzie ma swoje plusy. Dla początkujących: MT5 Strategy Tester wystarczy.
Ile danych historycznych potrzebuję?
Minimum 5 lat dla swing/position. 2 lata dla day trading. 1 rok dla scalping (więcej szybko => data quality issues). Plus: musisz pokryć różne market regimes: trending market (2015-2017), volatile (2020 COVID), range (2023). Strategy działająca tylko w trending = nie działa long-term. 5 lat zwykle covers 2-3 different regimes. Dla 100+ trades minimum dla statistical significance.
Co znaczą dobre backtest results?
Realnie dobre: win rate 50-60%, R:R 2:1+, profit factor > 1.5, maximum drawdown < 20%, Sharpe ratio > 1.0. Plus: 100+ trades w backtest dla statistical significance. Czerwone flagi: win rate > 80%, drawdown < 5%, profit factor > 5.0 — to overfit. Realne strategie mają "mediocre" numbers ale konsystentnie. Lepiej 55% win rate przez 5 lat niż 80% win rate w 6 m-cach (overfit).