Backtesting w MT4 i MT5 — praktyczny przewodnik 2026

Ostatnio zweryfikowano: · Treść aktualna długoterminowo
Ostrzeżenie · YMYL Ten artykuł ma charakter wyłącznie edukacyjny i nie stanowi rekomendacji inwestycyjnej. Handel na rynku Forex wiąże się z wysokim ryzykiem utraty kapitału — według ESMA 74–89% rachunków detalicznych traci pieniądze.

Krzysiek skończył pierwszego Expert Advisora w styczniu 2024 roku. Kliknął Strategy Tester z domyślnymi ustawieniami i zobaczył krzywą kapitału rosnącą z 10 000 do 47 000 euro w trzy lata, ze skutecznością 78 procent. Pięć miesięcy później rachunek live miał 7 200 euro. Różnica to nie pech, tylko suma trzech błędów warsztatu: złe dane, nierealistyczne parametry i jednorazowa optymalizacja zamiast walk-forward.

Strategy Tester w MT4 i MT5 — co naprawdę różni obie wersje

Symulator sprawdza Expert Advisora na historii w obu platformach, ale mechanika decyduje o wiarygodności wyniku. MT4 jest jednowątkowy: pięcioletni backtest na M15 zajmuje od dwóch do dziesięciu minut, optymalizacja kilkuset kombinacji potrafi trwać dwa dni. MT5 dzieli pracę między rdzenie i natywnie obsługuje testy wielowalutowe; portfel na trzech głównych parach MT4 testuje seryjnie, MT5 równolegle. Druga różnica to dane: MT4 ciągnie historię z History Center brokera (zwykle dwa-trzy lata wstecz), MT5 pobiera prawdziwe tickdane. Dla M30 i wyżej nie jest to dramat, dla skalpera na M5 to przepaść. Tło w wpisach o podstawach MT4 i przewagach MT5.

Tryby modelowania i jakość danych historycznych

Strategy Tester oferuje trzy tryby modelowania świecy. Open prices only używa wyłącznie ceny otwarcia — szybko, ale bezużytecznie dla strategii intraday. Control points interpoluje High i Low z mniejszego timeframe'u i w MT4 daje maksymalnie 90 procent modeling quality. Every tick w MT4 buduje ścieżkę wewnątrz świecy z bryły OHLC; tryb MT5 „Każdy tick na podstawie rzeczywistych ticków” korzysta z faktycznych ticków brokera — tylko on daje wiarygodny wynik poniżej H1.

Dukascopy Bank z Genewy udostępnia za darmo tickdane od 2003 roku dla większości głównych par, indeksów i surowców. Pobierasz je przez JForex Historical Data Downloader, konwertujesz do HST darmowym FX Blue Quant Data Manager lub płatnym Tickstory (30–50 USD). Po imporcie modeling quality skacze do 99 procent. W MT5 wybierasz tryb „Każdy tick na podstawie rzeczywistych ticków” i platforma sama pobiera dane od brokera; gdy broker tickdanych nie ma, MT5 cofa się do syntetyki i backtest jest tak samo wątpliwy jak MT4 na danych domyślnych.

Parametry symulacji — spread, prowizja, swap, poślizg

Domyślnie Strategy Tester zakłada spread z bieżącego momentu i zero prowizji — dla skalpingu to różnica między pozornym plusem a realnym minusem. Spread ustaw na poziomie konta live (0,8–1,5 pipsa na EUR/USD u brokera ECN, razy 1,5 jako scenariusz pesymistyczny). Prowizja ECN to typowo 7 USD na lot; bez niej strategia z 5 pipsami zysku ma w backteście profit factor 1,6, w realu 0,9. Swap przy pozycjach trzymanych dwa do siedmiu dni potrafi zniwelować 20–30 procent rocznego zysku. Poślizgu Strategy Tester nie symuluje, choć podczas NFP 5–20 pipsów to norma; realistyczna korekta to 1,5 pipsa od każdej straty i minus 1 pips od każdego zysku.

Trzy pułapki, które niszczą backtest

Look-ahead bias to nieświadome użycie w kodzie informacji niedostępnej w momencie decyzji — w MQL4/MQL5 najczęściej przez świecę z indeksem zero. Świeca zero nadal się formuje; backtest „zna” jej finalne wartości, trader na żywo nie. Reguła: każdy odczyt z indeksem 1 lub wyżej. Szczegóły omawiamy we wstępie do Expert Advisorów.

Overfit to skutek zbyt intensywnej optymalizacji — trader przepuszcza tester przez tysiąc kombinacji, wybiera najlepszą i widzi krzywą wygładzoną, dopasowaną do szumu. Sygnały ostrzegawcze: drawdown poniżej 5 procent, profit factor powyżej 3,5, skuteczność ponad 75 procent na 200 transakcjach, krzywa bez korekt dłuższych niż dwa tygodnie. Wszystkie razem to alarm. Survivorship bias polega na testowaniu wyłącznie na parach, które dotrwały do dziś; portfel egzotyków „nadal handlowanych u brokera” potrafi przeszacować wynik o 30–50 procent (USD/TRY po 2018 r. oraz EUR/CHF po styczniu 2015 r. to instruktywne przypadki).

Czytanie raportu i walk-forward jako antydotum na curve-fit

Obie platformy generują raport z ośmiu do dziesięciu metryk, a większość traderów patrzy tylko na zysk netto, skuteczność i drawdown. Za mało. Profit factor powyżej 1,5 jest dobry, powyżej 2 świetny, powyżej 3,5 podejrzany. Sharpe około 1,0 jest akceptowalny, 1,5–2,5 bardzo dobry, powyżej 3 sprawdź curve-fit. Drawdown intraday nie powinien przekraczać 25 procent. Transakcji minimum 100, optymalnie 500. Modeling quality obowiązkowo 99 procent.

Walk-forward opisał Robert Pardo w książce z 2008 roku i metoda pozostaje standardem w funduszach systematycznych. Dziel historię na in-sample (cztery lata) i out-of-sample (rok). Optymalizuj parametry tylko na in-sample, uruchom strategię z zamrożonymi parametrami na out-of-sample, przesuń okno o rok i powtórz. Wynik z OOS najlepiej przybliża konto live. WFE (zwrot z OOS dzielony przez zwrot z IS) powyżej 0,5 oznacza solidną strategię, 0,3–0,5 umiarkowane curve-fit, poniżej 0,3 oszustwo własnego ego. Mechanikę omawiamy we wpisie o analizie walk-forward.

„The whole purpose of walk-forward analysis is to reveal the real-time, real-money performance of a trading strategy without actually trading it with real money in real time.” — Robert Pardo, *The Evaluation and Optimization of Trading Strategies*, Wiley, 2008

Granice MT4/MT5 i kiedy sięgnąć po inne narzędzia

Strategy Tester w obu platformach ma wbudowane ograniczenia: model wykonania jest uproszczony, optymalizator MT4 nie radzi sobie powyżej kilkuset kombinacji, a raport nie zawiera testów Monte Carlo ani analizy stabilności parametrów. Dla strategii dyskrecjonalnych opartych na price action Strategy Tester bywa bezużyteczny, bo nie da się ich w pełni zakodować. Kiedy nie wystarcza, sięga się po Forex Tester 5 (około 300 USD) lub Python z biblioteką backtrader. Warsztat metodyczny omówiliśmy we wpisie o poprawnym backteście strategii; szerszy kontekst — w sekcji backtesting i forward testing na MyBank.pl.

Co zrobić jutro

  1. Pobierz tickdane z Dukascopy dla EUR/USD za ostatnie pięć lat i zaimportuj je do MT4 przez FX Blue Quant Data Manager lub Tickstory; w MT5 włącz tryb „Każdy tick na podstawie rzeczywistych ticków” i potwierdź, że broker udostępnia historię — bez tego każdy dalszy test intraday jest fikcją.
  2. Otwórz Strategy Tester swojego EA, wpisz spread odpowiadający kontu live (typowo 1,2 pipsa na EUR/USD u brokera ECN), dodaj prowizję 7 USD na lot oraz karę poślizgu 1,5 pipsa od straty i 1 pipsa od zysku, uruchom backtest na pięciu latach i porównaj z poprzednim wynikiem.
  3. Podziel pięć lat danych na cztery lata in-sample oraz rok out-of-sample, optymalizuj parametry wyłącznie na in-sample, zamroź najlepszy zestaw i odpal pojedynczy backtest na out-of-sample; jeśli WFE wypada poniżej 0,5, strategia jest curve-fittowana i wymaga uproszczenia logiki wejść.
  4. Przejrzyj kod EA pod kątem każdego odwołania do iCustom, iHigh, iLow, CopyClose lub CopyRates z indeksem zero, podmień na indeks 1 i uruchom backtest ponownie; różnica wyniku większa niż 30 procent oznacza, że strategia żyła z look-ahead bias.
Jarosław Wasiński
O autorze

Jarosław Wasiński

Redaktor naczelny MyBank.pl · Analityk finansowy i rynkowy

Niezależny analityk i praktyk z ponad 20-letnim doświadczeniem w sektorze finansowym. Twórca i redaktor naczelny portalu MyBank.pl, działającego od 2004 roku. Analiza fundamentalna rynków walutowych i makroekonomicznych od 2007 roku.

Źródła i bibliografia

  1. MetaQuotes MetaTrader 5 — Testing Trading Strategies · oficjalna pomoc MT5: tryby modelowania, parametry symulacji, optymalizacja www.metatrader5.com ↗
  2. MetaQuotes MQL5 Reference — Testing Trading Strategies · dokumentacja MQL5: tryby ticków, ograniczenia funkcji testera www.mql5.com ↗
  3. MetaQuotes MetaTrader 4 — Strategy Testing · oficjalna pomoc MT4: modeling quality, raporty Strategy Tester www.metatrader4.com ↗
  4. Dukascopy Bank SA Historical Data Export · darmowe dane tickowe od 2003 r. dla 99 procent modeling quality www.dukascopy.com ↗

Najczęstsze pytania

Czym różni się modeling quality 99 procent od 90 procent w MT4?

Modeling quality to wskaźnik w raporcie MT4 (procent w prawym górnym rogu okna Strategy Tester) pokazujący, jak dobrze symulator odwzorował realny ruch ceny w obrębie każdej świecy. 90 procent to maksimum, jakie da się osiągnąć na danych domyślnych pobieranych z brokera przez History Center — MT4 interpoluje wnętrze świecy z czterech punktów (Open-High-Low-Close), więc backtest na M15 zakłada, że cena w środku świecy poruszała się w sposób, którego nigdy nie weryfikuje. 99 procent wymaga prawdziwych danych tickowych zaimportowanych z zewnętrznego źródła — najczęściej darmowego API Dukascopy lub płatnego Tickstory. Różnica praktyczna: strategia skalpująca z take-profitem 5 pipsów daje na danych 90 procent skuteczność 70 procent i zysk roczny 30 procent, podczas gdy na tych samych danych w jakości 99 procent dostaje się 52 procent skuteczności i wynik ledwie powyżej zera. Powód — brak tickowego ruchu wewnątrz świecy ukrywa moment, w którym stop loss musiałby się wybić zanim cena wróciłaby do take-profit. Reguła kciuka: jeśli twoja strategia działa na timeframe M30 i wyżej, a take-profit jest dalej niż 30 pipsów, różnica 90 vs 99 procent nie jest krytyczna. Jeśli skalpujesz lub używasz timeframe poniżej M15, bez 99 procent backtest jest fikcją. MT5 ten problem rozwiązuje automatycznie w trybie „Każdy tick na podstawie rzeczywistych ticków", o ile broker udostępnia historię tickową — większość poważnych brokerów ECN to robi.

Jak skonfigurować Strategy Tester w MT5 krok po kroku?

Sekwencja, którą wykonuje się zawsze w tej samej kolejności, żeby uniknąć niejawnych błędów. Krok pierwszy: otwórz Strategy Tester klawiszem Ctrl+R lub menu View → Strategy Tester. Krok drugi: w polu Expert wskaż swojego Expert Advisora skompilowanego do pliku .ex5. Krok trzeci: wybierz symbol z listy (najlepiej ten sam, na którym faktycznie handlujesz na koncie demo lub real). Krok czwarty: ustaw timeframe — taki sam, jak strategia używa w produkcji. Krok piąty: zakres dat. Minimum pięć lat, zalecane dziesięć — żeby zawrzeć przynajmniej jeden cykl wzrostowy, jedną korektę i jedno wydarzenie kryzysowe (np. marzec 2020, luty 2022, październik 2023). Krok szósty: model symulacji — „Każdy tick na podstawie rzeczywistych ticków" dla wiarygodnego wyniku, „Każdy tick" dla szybszej iteracji, „1 minuta OHLC" tylko do pierwszego sita parametrów. Krok siódmy: depozyt początkowy i waluta — odzwierciedlające realny rachunek. Krok ósmy: dźwignia — koniecznie taka sama jak na koncie live (1:30 dla rezydenta UE bez statusu profesjonalnego, 1:500 dla statusu doświadczonego klienta). Krok dziewiąty: w zakładce Settings włącz Optymalizacja: Disabled dla pojedynczego backtestu, Slow complete algorithm dla pierwszej iteracji walk-forward, Fast genetic dla większych przestrzeni parametrów. Krok dziesiąty: kliknij Start i obserwuj. Jeśli MT5 pobiera dane historyczne pierwszy raz, zajmie to od dwóch do dwudziestu minut, w zależności od długości okresu i liczby instrumentów. Po zakończeniu test masz dostęp do zakładek Backtest (krzywa kapitału), Trades (lista zleceń) i Graph (równania prowadzonego konta). Eksport raportu do HTML poprzez prawy przycisk myszy → Save as Report — plik archiwizuj w katalogu projektu strategii.

Czym jest look-ahead bias i jak go uniknąć w MQL5?

Look-ahead bias to nieświadome użycie w kodzie strategii informacji, której w momencie podejmowania decyzji nie mogłaby znać — czyli zaglądanie w przyszłość. W praktyce MQL5 pojawia się najczęściej w trzech miejscach. Pierwsze: odwołanie do bieżącej, niezamkniętej świecy iCustom z indeksem 0 zamiast 1. Świeca o indeksie 0 nadal się formuje — jej High, Low i Close zmieniają się tickowo, więc warunek wejścia oparty na takim odczycie w backteście bazuje na końcowych wartościach świecy, których trader na żywo nie zna jeszcze przez kilkanaście minut. Drugie: użycie funkcji iHigh(symbol, period, 0) lub iLow(symbol, period, 0) w obliczeniu stop lossa — backtest zna ekstremum całej świecy, trader w czasie rzeczywistym nie. Trzecie: synchronizacja danych z wielu timeframe'ów bez sprawdzania, czy świeca H4 została zamknięta przed otwarciem M15, w której strategia wchodzi. Sposób na wykrycie: jeśli krzywa kapitału z backtestu jest podejrzanie gładka (drawdown poniżej 5 procent, profit factor powyżej 3,5, skuteczność ponad 75 procent na 200 transakcjach), spróbuj uruchomić ten sam EA na koncie demo przez miesiąc. Drastyczna różnica wyniku (50 procent słabiej) niemal zawsze oznacza look-ahead bias gdzieś w kodzie. Naprawa: każdy odczyt indykatora i historii cenowej zawsze z indeksem 1 lub wyżej (zamknięta świeca), warunki wyjścia weryfikuj funkcją CopyClose/CopyRates z parametrem czasu zamknięcia świecy, a synchronizację timeframe'ów sprawdzaj przez SymbolInfoInteger(symbol, SYMBOL_TIME).

Backtesting manualny czy automatyczny — który ma sens?

Oba mają sens, ale w innym celu i na innym etapie warsztatu. Backtesting manualny (klikanie bar po barze w narzędziu replay, np. Bar Replay w TradingView lub funkcja krok po kroku w MT5) — najlepszy dla traderów dyskrecjonalnych, którzy operują na price action i nie potrafią lub nie chcą sformalizować swoich zasad do kodu. Pozwala wyczuć zmienność, rytm rynku i moment, w którym setup wygląda zachęcająco. Wada: subiektywizm, zerowa replikacja (drugi przebieg da inny wynik), długi czas pracy (200 transakcji na M15 zajmuje 30–50 godzin uważnej pracy). Backtesting automatyczny przez Strategy Tester wymaga, żeby strategia była zakodowana jako Expert Advisor — czyli każdy warunek wejścia, wyjścia i zarządzania ryzykiem musi być opisany matematycznie, bez „wyczucia rynku". W zamian dostaje się replikację (identyczny wynik za każdym razem na tych samych danych), statystycznie istotną próbę (5 000 transakcji w jeden wieczór) i obiektywne metryki. Wada: nie testuje subiektywnej oceny formacji, więc strategie price action oparte na intuicji wymykają się temu narzędziu. Złota ścieżka: zacznij od manualnego backtestu 100 transakcji, żeby zrozumieć rynek i własną strategię. Jeśli wynik jest obiecujący, sformalizuj reguły do EA i przepuść przez automatyczny Strategy Tester z walk-forward — to rozróżni intuicję od krzywych dopasowanych do historii. Sama intuicja w 90 procent przypadków przegrywa z systemem mechanicznym po 12 miesiącach realnego handlu.

Pogłębij temat · pełny przewodnik