Backtesting i forward testing
Backtesting i forward testing
Po co testować
Backtest odpowiada: czy reguły w ogóle miały sens historycznie? Forward testing odpowiada: czy Ty je wytrzymujesz w czasie rzeczywistym? Razem chronią przed „strategią z Twittera”, która rozpada się przy pierwszym spreadzie na CFD.
Krzywa equity bez zapisanych reguł to ozdoba, nie dowód. Zanim ocenisz „ładny wykres”, policz expectancy i max DD — pełniej w lekcji expectancy i drawdown.
Backtest — jak robić uczciwie
- Zapisz reguły przed otwarciem historii.
- Idź bar po barze (lub świeca po świecy) — bez peepania w przyszłość.
- Zapisuj każdy sygnał, także „brzydki”.
- Dodaj koszty: spread, prowizja, slippage, swap.
- Policz: liczba trade’ów, win%, średnie R, max DD, expectancy.
| Błąd | Objaw | Jak uniknąć |
|---|---|---|
| Look-ahead | wejście na wiedzy z jutra | tylko zamknięte bary |
| Survivorship | tylko aktywa, które „przetrwały” | stała lista instrumentów |
| Curve fitting | 12 filtrów pod jeden wykres | max 1–2 filtry na v1 |
| Koszty = 0 | piękne R, martwe live | stały round-turn z tabeli brokera |
| Zmiana reguł w trakcie | „tak lepiej wyszło” | wersja reguł z datą |
Szablon raportu (wypełnij swoimi danymi)
Poniższe kolumny to format. Wiersz „przykład ilustracyjny” pokazuje tylko jak czytać tabelę — nie jest wynikiem systemu kursu.
| Pole | Przykład ilustracyjny (format) | Twoje dane |
|---|---|---|
| Setup / wersja reguł | „breakout H1 v1.2” | |
| Data zakresu backtestu | 2025-01 → 2025-06 | |
| Instrument | EUR/USD CFD | |
| Liczba trade’ów | 40 | |
| Win% | 42% | |
| Śr. +R / śr. −R | +2,1R / −1R | |
| Koszt round-turn (R) | 0,1R | |
| Expectancy (R) | ≈ +0,3R | |
| Max DD (R) | −8R | |
| Forward: okres / trade’y | 3 tyg. / 12 | |
| Decyzja | iterate / keep / kill |
Jeśli nie potrafisz wypełnić wiersza „Twoje dane” — definicja setupu albo koszty są dziurawe; wróć do definicji setupu.
Forward / demo
Po backteście odpal okres 2–4 tygodni bez zmian reguł. Jeśli nie wytrzymujesz emocjonalnie reguł, które „działały na historii” — problem jest w procesie, nie zawsze w „rynku który się zmienił” (choć rynki też się zmieniają). Forward na demo z limitem −2R/−3R dziennie uczy dyscypliny przed live.
Minimalna próbka
Nie oceniaj systemu po 5 trade’ach. Rząd wielkości: dziesiątki sygnałów na setup, potem decyzja iterate / kill. Mała próbka + duża dźwignia CFD = klasyczna droga do ruin. Expectancy na małej próbce kłamie — patrz expectancy i drawdown.
Jak czytać equity curve krytycznie
Rosnąca krzywa nie jest dowodem edge — może być efektem dobranego okresu, jednego szczęśliwego trade’u lub braku kosztów. Zanim uznasz wynik za sensowny, sprawdź:
- Koncentracja zysku — czy 80% zysku pochodzi z 1–2 transakcji? Jeśli tak, próbka jest za mała.
- Kształt DD — długie, płaskie okresy pod wodą mówią więcej niż sam max DD w R.
- Stabilność w czasie — podziel okres na dwie połowy; jeśli druga jest wyraźnie gorsza, reguły mogły być dopasowane do pierwszej.
- Wrażliwość na koszty — podnieś założony spread o 50% i przelicz ponownie; jeśli expectancy znika, edge był iluzoryczny.
Częste anty-wzorce w testowaniu
- Backtest bez zapisanych reguł „przed” — reguły dopisywane po fakcie, żeby pasowały do wykresu.
- Forward test przerywany po pierwszej stracie — to nie jest test, to potwierdzenie z góry przyjętej tezy.
- Zmiana instrumentu w trakcie próbki (np. z EUR/USD na GBP/USD), bo „lepiej wygląda” — zaciera dane.
- Ignorowanie godzin sesji — setup testowany na danych 24h, egzekwowany tylko wieczorem, to inny rozkład zmienności.
Następny krok
Gdy masz wynik testu, zdefiniuj kryteria od demo do live.
Warstwa PL i pomiar
Zanim skalujesz size, zapisz w dzienniku trzy fakty z metody pomiaru: (1) jaki % kont detalicznych raportuje Twój broker i z jaką datą komunikatu, (2) ile kosztuje typowy overnight względem Twojego 1R, (3) czy setup przechodzi mini-próbkę bez optymalizacji wstecz. To nie jest backtest „na pewny zysk” — to higiena evidence of work.
Policz size w kalkulatorze 1–2% albo wynik w R-multiple. Jeśli grasz FX, zorientuj wartość ruchu w pips → PLN. Porównania: demo vs live, market vs limit, broker PL/UE vs offshore.
Ćwiczenie
Wybierz jeden setup z planu. Przez 10 sesji historycznych (ręcznie, bar po barze) zapisz każdy sygnał w arkuszu z kolumną kosztu. Nie zmieniaj reguł. Wypełnij szablon raportu powyżej własnymi liczbami (przykład ilustracyjny zostaw jako wzór formatu). Jeśli expectancy nie da się policzyć — wróć do definicji setupu. Wersja z datą protokołu: Metoda — mini-raport.
Sprawdź się
Czym jest look-ahead bias?
Look-ahead to podglądanie przyszłości wykresu — sztucznie zawyża wynik backtestu.
Częste pytania
Czy automatyczny backtester jest obowiązkowy?
Nie. Ręczny bar-by-bar na małej próbce często lepiej uczy reguł. Automat pomaga przy skali — pod warunkiem tych samych kosztów i braku look-ahead.
Forward test na demo czy micro live?
Najpierw demo pod proces. Micro live ma sens, gdy kryteria przejścia z kolejnej lekcji są spełnione i strata nie psuje snu.
Co jeśli backtest + forward są OK, a live nie?
Sprawdź slippage, spread w Twoich godzinach, % trade’ów poza planem i size. Często psuje egzekucja, nie „wskaźnik”.
Jak łączyć ten raport z expectancy?
Szablon zbiera inputy; lekcja expectancy tłumaczy, dlaczego winrate bez średniego R i DD nie wystarczy. Obie czytaj razem przed decyzją keep/kill.
- ▢ Babypips — backtesting / forward testing concepts — babypips.com
- ▢ StockCharts ChartSchool — systematic chart study hygiene — chartschool.stockcharts.com
- ▢ Kurs: expectancy i drawdown (ścieżka ryzyko)