Moving Average - kompilacja a rzeczywistość

Jeżeli masz pomysł lub używasz ciekawego systemu albo strategii gry, opisz ja tutaj.
Awatar użytkownika
tuvok
Gaduła
Gaduła
Posty: 296
Rejestracja: 12 wrz 2011, 14:45

Moving Average - kompilacja a rzeczywistość

Nieprzeczytany post autor: tuvok »

Witam,
Mam trochę dziwny problem. Chciałem lekko zmodyfikować standardowo dostarczaną z MT4 strategię Moving Average. Wziąłem sobie źródełka z mq4, i skompilowałem do nowego EA. Zanim zrobiłem jakiekolwiek zmiany postanowiłem sprawdzić czy działa i o dziwo po odpaleniu rezultaty na dokładnie tych samych parametrach były diametralnie inne (np. zamiast otwierać BUY otwierało SELL).
W pierwszej chwili pomyślałem, że twórcom MT coś się porypało i wrzucili złe źródła (albo celowo wrzucili złe źródła). Więc zdekompilowałem oryginalny ex4 i skompilowałem do nowego EA. I tu kolejna niespodzianka - działa równie źle jak źródła dostarczane z MT!
W tym momencie zupełnie zgłupiałem - dlaczego po zdekompilowaniu dostaję inną strategię? Może dekompiler jest do bani (użyłem ex4_to_mq4), a może oryginalnie skompilowana strategia ma coś więcej w sobie czego normalnie nie da rady osiągnąć? Ma ktoś jakiś pomysł?

Awatar użytkownika
Esco
Przyjaciel Forum
Przyjaciel Forum
Posty: 2603
Rejestracja: 11 kwie 2010, 20:56

Nieprzeczytany post autor: Esco »

Wrzuć kod i napisz dokładnie co rozumiesz poprzez "źle działa".

green7
Maniak
Maniak
Posty: 2060
Rejestracja: 16 sty 2008, 18:44

Nieprzeczytany post autor: green7 »

Na czym i jak to testowałeś (jaki okres, para, skąd dane historyczne) ?
Wiesz o tym, że aktualny spread ma znaczenie dla przeprowadzanych backtestów ?
Green
Obrazek
Obrazek

Awatar użytkownika
tuvok
Gaduła
Gaduła
Posty: 296
Rejestracja: 12 wrz 2011, 14:45

Nieprzeczytany post autor: tuvok »

Niestety finalnie okazało się ze to ja dałem ciała :oops: Nie zwróciłem uwagi na to, że w parametrach jest też takie coś jak KROK (STEP), który domyślnie przyjmuje inne wartości niż to co ja miałem to ustawione.
Tak czy siak działa już tak samo, chociaż okazało się tez przez przypadek że mój pomysł na "udoskonalenie" MA nie działa najlepiej (wzbogaciłem MA o Trailing Stop). Jeszcze nie do końca rozumiem w jaki sposób optymalizator dobiera wartości i zmienia je o krok, ale to pewnie przyjdzie z czasem.
Sorry za zamieszanie i dzieki za odp.

mlekoza
Bywalec
Bywalec
Posty: 6
Rejestracja: 22 kwie 2011, 17:07

Nieprzeczytany post autor: mlekoza »

tuvok pisze:Jeszcze nie do końca rozumiem w jaki sposób optymalizator dobiera wartości i zmienia je o krok, ale to pewnie przyjdzie z czasem.
No to już tłumaczę, jak to się odbywa w MT4:
Przypuśćmy, że Twój EA ma trzy parametry: SL, TP i Step. Zakładasz, że najwłaściwsze SL to coś około 20-30, TP to pewnie 100-140 a optymalny step to coś z przedziału 13-18.
Jeśli w tabelce optymalizacji (Tester strategii -> Właściwości strategii) ustawisz następujące wartości (Pole/Start/Krok/Stop):
SL 20 2 30
TP 100 10 140
step 13 1 18
, to SL będzie jedną z liczb (20,22,24,26,28,30), TP to będzie jedna z liczb (100,110,120,130,140), a step będzie jedną z liczb (13,14,15,16,17,18).
Łącznie zatem masz 6*5*6=180 możliwości. Zatem optymalizator odpali każdą ze 180 konfiguracji na zadanym okresie.

Jest też możliwość wybrania opcji Algorytm genetyczny, dzięki której liczba testowanych przypadków znacząco spada - jeśli optymalizator zapuści jakiś przypadek i wynik będzie fatalny, to wyeliminuje kilka podobnych konfiguracji, bo jest mała szansa, że będą ciekawe, skoro leżą blisko kiepskiej konfiguracji.

Awatar użytkownika
tuvok
Gaduła
Gaduła
Posty: 296
Rejestracja: 12 wrz 2011, 14:45

Nieprzeczytany post autor: tuvok »

Dzięki mlekoza! Przyznam, że po przeczytaniu jestem w lekkim szoku jak sprytne to jest narzędzie :)

ODPOWIEDZ