Początkujący
Teraz czytasz
Jak zabrać się za optymalizację automatów
0

Jak zabrać się za optymalizację automatów

utworzył Paweł Mosionek21 sierpnia 2013

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 strategia 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…

Optymalizator

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 o1oknie 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, a 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.

o2Im 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.

Jeśli decydujemy się na optymalizację kilku zmiennych jednocześnie warto dobrać je tak, aby były do siebie podobne, czyli łączymy ze sobą wartości takie jak Stop Loss, Take Profit czy Trailing Stop do jednego testu, a do drugiego łączymy okresy i rodzaje średnich kroczących czy innych wykorzystanych wskaźników.

Przedziały optymalizacji także muszą być rozsądne, a 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 i 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.

Wyniki optymalizacji

Tester strategii po wykonaniu swojej pracy wyrzuci nam wszystkie wyniki lub wybrane, istotne wyniki (przy zaznaczonym Algorytmie genetycznym), które możemy zobaczyć w zakładceRezultat Optymalizacji.

o3

Tu znajduje się opis kombinacji parametrów oraz wyniki testu z ich wykorzystaniem. Wyniki optymalizacji można sobie zapisać, a same ustawienia można 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.

Co o tym sądzisz?
Lubię
33%
Interesujące
33%
Heh...
0%
Co?
0%
Nie lubię
0%
Tragedia
33%
O Autorze
Avatar
Paweł Mosionek
Aktywny trader na rynku Forex od 2006 roku. Redaktor portalu Forex Nawigator oraz redaktor naczelny i współtwórca serwisu ForexClub.pl. Prelegent konferencji "Focus on Forex" na SGH w Warszawie, "NetVision" na Politechnice Gdańskiej oraz "Inteligencja finansowa" na Uniwersytecie Gdańskim. Dwukrotny zwycięzca "Junior Trader" - gry inwestycyjnej dla studentów organizowanego przez DM XTB. Uzależniony od podróży, motocykli i skoków spadochronowych.