UMNICK - adaptacyjne doradcą

Anonim

Ostatnie dwa miesiące MQL-programistów tak pochłonięty prasowej nowego terminalu MT5, które najczęściej zapomnieli o takich realiach jak MT4 i zgodnie z, MQL4. Nic dziwnego, że programy dla MT4 zaczęły pojawiać się w kolejności wielkości mniejsze, a więc znaleźć coś, co zasługuje na uwagę, stało się trudniejsze. Niemniej jednak można było zbadać przedmiot badań. Od razu stał się na dwa parametry: nazwa (Umnick) i typ (adaptive Advisor). adaptacja robota do zachowania rynku zawsze z wielkim zainteresowaniem, ponieważ idealnie pozwala na stworzenie swego rodzaju perpetuum mobile, które będą pracować zawsze i wszędzie (utopia, oczywiście). Cóż, nazwa natychmiast ustawia protekcjonalny stosunek do wyników. Powiedz, czego chcesz od tego "mądry facet"? Nawiasem mówiąc, autor „Egghead” był Victor (VictorArt).

Opis autorskie charakteru procesu intrygującym od pierwszych linii: „Ogólna teoria handlu (TBT): własny funkcja do obrotu dla zysku, synchronizując go z rynku” Po przeczytaniu tej wypowiedzi jest chęć z kalkulatorem w pogotowiu do żucia twardego granitu nauki „matematyki wyższej”. Ale następne zdanie sprawia trochę chłodny: „Załączony doradcą demonstruje prosty sposób korzystania OTT i adaptacji do rynku”.Wszystkie te same "pierwotniaki" … To jest jeszcze bardziej na zęby. Niemniej jednak, aby dostosować się do powagi ciężaru, VictorArt przynosi ekran do patentu chroniący składniki Digital Brain, którego elementy są zademonstrowane w doradcy. Cóż, przekonująco.

Lecz przejdźmy testować ten cud myśli cybernetycznej. Autor sugeruje okres H4 i parę EURUSD za ten (2009) rok (patrz rysunek 1):

Rys. 1. Wyniki testu autora na pary EURUSD.

Niestety, 54 transakcji - nie wolumin, za pomocą którego można coś oceniać. Pójdziemy dalej i sprawdzimy doradcę w głębszej historii - od roku 2006 (patrz rysunek 2):

Rys. 2. Wyniki badania za okres 01. 01. 2006 r. - 30.10.2009 r.

Tu nie jest taki opalizujący obraz ($ 1256 przybył z 1897 dolarów wypłaty). Ponadto wszystko to przez niecałe cztery lata (średnia wydajność około 300 punktów rocznie).

Jak zwykle staramy się zrozumieć istotę kodu doradcy , a jeśli to możliwe, staramy się je poprawić. Cóż, najlepiej, chciałbym poprawić wyniki testów.

Najpierw musisz znaleźć fragment kodu, który jest odpowiedzialny za podjęcie decyzji o transakcji. Dziwne, okazuje się bardzo kompaktowy:

bool NextBar ()

{

bool rt = false;

cena podwójna = (otwarte [1] + wysokie [1] + niska [1] + zamknięcie [1]) / 4;

jeśli (MathAbs (price-pricePrev)> = StopBase)

{

pricePrev = cena;

rt = true;

}

powrót (rt);

}

Jeśli ostatnia transakcja była nieopłacalna, kierunek następnej transakcji zostanie odwrócony. Jeśli transakcja była opłacalna, to kierunek pozostaje. Nie ma innych kryteriów, aby otworzyć długą lub cichą ofertę w doradcy.

Stop i poziomy zysku w wyniku są obliczane jako średnia arytmetyczna odpowiednich tablic arrayProm i arrayLoss.Prawda, pobiera się średnią, pod warunkiem, że całkowita wartość każdej z tablic przekracza połowę wartości StopBase.

Po otwarciu transakcji Expert Advisor nie przeprowadza żadnej dodatkowej analizy, aby uzyskać sygnały wymuszonego zamknięcia. Oczekuje się zatrzymania lub zysku z transakcji.

Moim zdaniem brak jest kryterium określającego kierunek transakcji, co prowadzi do niezbyt dobrego wyniku testowania doradcy. Dlatego pierwszą zmianą w kodzie będzie użycie jednego z wskaźników MT4. Przez długi czas nie musimy wybierać z dostępnego zestawu. Wystarczy spojrzeć na sprawę 53-tego magazynu od 12. 10. 2009 i przewinąć go do 90. strony, na której tabelaryczne zestawienie wszystkich rozwiniętych pod hasłem „W poszukiwaniu skutecznej strategii” na cały rok ekspertów. W pierwszej kolejności opiera się na strategii oparta na wskaźniku parabolicznym SAR. Jej wyniki potwierdzają pary USDJPY, GBPUSD i EURUSD nie tylko z testami historii, ale także z testami na rok 2009. Wstaw poniższy kod do ciała funkcji NextBar: Sygnał = 0;

podwójne PSAR1 = iSAR (Symbol (), 0, SARStep, SARMaximum, 1);

podwójne PSAR2 = iSAR (Symbol (), 0, SARStep, SARMaximum, 2);

if (PSAR1 Open [2])

{

Sygnał = 1;

powrót (prawda);

}

if (PSAR1> otwarta [1] && PSAR2

{

Sygnał = 1;

powrót (prawda);

}

return (False);

Teraz zawsze będziemy dać kierunek pożądanej transakcji, co nieco zmniejszy szanse w handlu. Razem z kierunkiem dodamy dwa parametry wejściowe, które określają typ parabolicznego wskaźnika SAR - SARStep i SARMaximum. Rok temu, dla każdej pary walutowej, wybraliśmy nasze parametry

wskaźnika, które będziemy używać dzisiaj nawet podczas testowania nowej wersji "inteligentnego". Następujące zmiany przyniosą wartości StopBase do stanu dynamicznego, jak w pierwotnej wartości StopBase była sztywno zamocowana na całej długości historie, które również dał radnego zwrotność. Aby osiągnąć efekt wystarczająco dynamiczny związać StopBase ze średnią zmiennością pary waluty za co odpowiada wskaźnika ATR

StopBase = iATR (symbol (), 0, 24, 1);

Wszystkie inne zmiany można nazwać kosmetykami, których celem jest wyeliminowanie niewielkich wad doradcy, które nie pozwalają na korzystanie z Internetu. Jednak jedną wadą będzie nadal - z przerwą w pracy eksperta (terminalu off lub nawet komputera) zostaną utracone, dane statystyczne zebrane przez ostatnie osiem transakcji, które z czasem będą musiały zostać przywrócone.

Wynik jest druga wersja „Egghead”, które będą testowane już w H1 czasowych i okres 01. 01. 2006 - 31. 10. 2009 (patrz Rysunek 3-6..). W przypadku EURUSD parametry powinny wyglądać następująco: SARStep = 0. 01, SARMaximum = 0. 01.

Rys. 3. Wyniki testowania drugiej wersji "Inteligentnej" pary walutowej EURUSD.

Wynik pogorszył się z pierwotnymi wynikami. Zysk nie jest wcale, a wypłaty przekraczają 2000 USD. Na pewno w koszyku.

W przypadku pary USDCHF podjęto następujące parametry: SARStep = 0. 009, SARMaximum = 0. 09.

Rys. 4. Wyniki testowania drugiej wersji "inteligentnej" pary walutowej USDCHF.

Tu zysk jest już dostępny: 2904 dolarów zysku netto w porównaniu do 1.208 dolarów z tytułu wypłaty (PV = 2. 40). Ale, wychodząc z faktu, że wzrost zysków nie był jednolity, ale wybuchowy, nie trzeba mówić o osiągnięciach strategii.

W przypadku GBPUSD parametry roku poprzedzają: SARStep = 0. 01 i SARMaximum = 0. 03.

Rys. 5. Wyniki testowania drugiej wersji "Smart" pary walutowej GBPUSD.

Wzrost zysku jest jeszcze większy, chociaż były jakieś zygzaki. Niemniej jednak we wszystkich dziedzinach badania obserwuje się wzrost. Zysk netto wyniósł 6.149 USD w porównaniu do 2.229 USD z tytułu wypłaty (FV = 2.88). Otrzymaliśmy więc bardzo dobry wynik. Oczywiście, źle, że wypłaty są tak duże, ale oczekiwany zysk jest również wysoki.

I na koniec USDJPY: SARStep = 0 006, SARMaximum = 0. 05.

Rys. 6. Wyniki testowania drugiej wersji "Smart" w parze walutowej USDJPY.

Podobnie jak w przypadku EURUSD nie ma nic do powiedzenia - wypłaty są przekraczane, nie ma zysku.

Podsumowując, możemy stwierdzić, że udoskonalenia były skuteczne, ponieważ wyniki testów utraciły losowość, aw niektórych przypadkach dały bardzo dobry zysk. Drugą zaletą było odejście od statycznej specyfikacji parametrów handlowych, co daje

doradcę

więcej stopni swobody w przyszłości. Pliki do pobrania: - Test. zip - rozszerzone wyniki testów doradców

- UmnickTrader_1. 01. 01. mq4 - oryginalna wersja doradcy "Inteligentny"

- UmnickTrader_1. 01. 01_V2. mq4 - poprawiona, poprawiona i zaktualizowana wersja strategii