Jak zabrać się za optymalizację automatów?
Jeśli zdecydowaliśmy się na grę za pomocą automatycznej strategii, wpadliśmy na pomysł jak ma działać oraz stworzyliśmy algorytm, który przeszedł testy na danych historycznych, to połowa pracy została już wykonana. W przypadku, gdy backtesty wypadły pozytywnie i Expert Advisor realizuje nasze założenia oraz osiąga zadowalające rezultaty, można pokusić się o zoptymalizowanie wyników. To, że jest dobrze nie oznacza, że nie może być jeszcze lepiej. Trzeba jednak uważać, aby nie przesadzić i nie popaść w skrajności…
Optymalizacja automatów
Korzystając z platformy MetaTrader 4, do dyspozycji mamy Tester historyczny, który umożliwia sprawdzić jak zachowywała się strategia w przeszłości. Tester ten jest wyposażony także w moduł optymalizacyjny, który dokona zestawienia wyników z różnymi kombinacjami parametrów wybranych przez nas uwzględniając przy tym priorytetowe dla nas kryterium. W głównym oknie konfiguracji Właściwości strategii możemy wybrać najistotniejszy parametr, który będzie uwzględniany przy dokonywaniu optymalizacji. Przy zaznaczonym algorytmie genetycznym zestawienia wyników będą tworzone właśnie przez pryzmat niego. Sam algorytm genetyczny sprawia, że platforma przetestuje jedynie część z wszystkich kombinacji. Te, które zostaną uznane za nieistotne, będą pominięte. Ta funkcja jest niezwykle przydatna ponieważ nie pogarsza wyników i jednocześnie wpływa na skrócenie czasu testowania.
W zakładce z parametrami widnieją 4 kolumny:
- Wartość,
- Start,
- Krok,
- Stop.
W pierwszej wpisywana jest wartość dla danej zmiennej, która będzie brana pod uwagę przy normalnym backteście. Kolejne kolumny dotyczą już optymalizacji. Start to skrajna dolna wartość od której będzie optymalizowany parametr. Krok to stopień jej zwiększenia przy kolejnej próbie, a Stop to wartość z wykorzystaniem której test zostanie zakończony.
Im mniejszy krok i większy przedział między wartościami Start i Stop, tym więcej kombinacji do optymalizacji i tym samym test dłużej potrwa. Dodatkowo, im więcej zmiennych będzie optymalizowanych (pamiętajcie o zaznaczeniu jej w kwadracie z lewej strony), tym test będzie jeszcze dłużej przebiegał.
Ostatnia zakładka Optymalizacja zawiera filtry, które automatycznie odrzucą wyniki, które nie spełnią danego kryterium.
Uważaj na przeoptymalizowanie
Przy wyborze wielu parametrów do optymalizacji i wybrania dużych przedziałów z minimalnym krokiem za jednym razem łatwo doprowadzić do przeoptymalizowania. Jeśli zaznaczymy wszystkie parametry i damy duży rozstrzał w wartościach to zostanie wykonana cała masa testów. Początkowo można pomyśleć, że to świetnie. Wiele wyników, różne konfiguracje – będzie z czego wybierać. To prawda, jednak wybrać będzie trudno. To sprawi też, że otrzymamy bardzo wiele dziwnych kombinacji. Nierówne wartości lub jedne będą skrajnie duże, a inne skrajnie małe i logicznie na nie patrząc będą pozbawione jakiegokolwiek sensu.
PRZECZYTAJ TAKŻE: Jak uruchomić automat Forex (Expert Advisor)
Jeśli decydujemy się na optymalizację kilku zmiennych jednocześnie, warto dobrać je tak, aby były do siebie podobne. Łączymy zatem ze sobą wartości takie jak Stop Loss, Take Profit czy Trailing Stop i dodajemy do jednego testu. Do drugiego zaś okresy i rodzaje średnich kroczących czy innych wykorzystywanych wskaźników.
Przedziały optymalizacji także muszą być rozsądne. Same wartości najlepiej gdyby nie zmieniały się o 1 czy nawet o 0.1 punktu. Przez takie podejście zazwyczaj wynik będzie również bardzo dziwny, a sami dopasujemy idealnie parametry do danych historycznych. Problem polega na tym, że nie będziemy grali na historii tylko na realnym rynku. Co prawda system musi być dopasowany do jego charakterystyki jednak pewne zaokrąglone normy nadadzą sensu parametrom.
Dobrym pomysłem jest też dokonywanie testów na krótszych przedziałach czasowych zamiast od razu na całej historii do jakiej posiadamy dostęp. Jeśli robimy test na interwale H1 to można zrobić kilka optymalizacji po 3 miesiące i zobaczyć czy faktycznie dane parametry się pokrywają. Jeśli tak to następnie można je sprawdzić na całym okresie lub poszukać kompromisu.
Expert Advisor – wyniki optymalizacji
Tester strategii po wykonaniu swojej pracy wyrzuci nam wszystkie wyniki lub wybrane, istotne wyniki (przy zaznaczonym Algorytmie genetycznym). Wszystkie dostępne będą w zakładce Rezultat Optymalizacji.
Tu znajduje się opis kombinacji parametrów oraz wyniki testu z ich wykorzystaniem. Wyniki optymalizacji można zapisać na dysku. Ustawienia z kolei możemy od razu załadować do właściwości strategii w backtesterze, dwukrotnie klikając na nie.
Dodatkowo w zakładce Wykres Optymalizacji są przedstawione wyniki w formie wykresu, gdzie dla każdego numeru kombinacji jest wykreślony osiągnięty profit, dzięki czemu łatwo można wyszukać perspektywiczne ustawienia.