Termin Forex EA oznacza Forex Expert Adviser (lub Expert Advisor) i odnosi się do automatu (robota) który w rzeczywistości jest zbiorem reguł działających na podstawie wskaźników analizy technicznej. Taki robot jest zaprogramowany w języku MQL4, który został utworzony, aby rozbudowywać funkcjonalności najbardziej popularnej platformy do tradingu o nazwie Meta Trader 4. Kod napisany w języku MQL4, można interpretować tylko na platformie Meta Trader 4.
Język MQL4 jest darmowy i każdy może napisać własnego robota na podstawie dowolnego zbioru reguł. Wymaga to jednak umiejętności programistycznych, które nie dla każdego są łatwe do nauczenia się.
Expert Adviser może działać na dwa różne sposoby. Może informować użytkownika o pojawieniu się dobrych warunków do otwarcia lub zamknięcia pozycji na rynku poprzez wyświetlanie komunikatów tekstowych i dźwiękowych, lub może wykonywać takie transakcje automatycznie, bez ingerencji użytkownika.
Do pracy takiego oprogramowania niezbędna jest uruchomiona i połączona z brokerem platforma Meta Trader 4. Oznacza to, że aby korzystać z niego przez cały czas musimy mieć uruchomiony komputer 24h na dobę z połączeniem Internetowym. Aby rozwiązać ten problem powstało wiele firm oferujących specjalne serwery VPS (Virtual Privete Server) typowo pod platformę MT4. Dzięki temu za relatywnie nie wielką opłatę miesięczną lub roczną możemy mieć naszego robota ciągle aktywnego.
Największą zaletą posiadania własnego EA, który został przygotowany pod własny, indywidualny system, przygotowany na podstawie umiejętności, strategii i doświadczenia danego tradera jest to, że nie musi on bez przerwy obserwować wykresów i wykonywać transakcji ręcznych, przez co niweluje się zmęczenie, przeoczenia oraz oszczędza się wiele czasu.
Drugą ogromną zaletą jest to, że zastosowanie EA na podstawie własnego systemu eliminuje aspekt emocjonalny. Oznacza to, że system jest realizowany z zimną precyzją. Strach i chciwość nie oddziałują już na decyzje tradera i możemy wtedy obiektywnie stwierdzić czy nasz system działa prawidłowo.
Na rynku można znaleźć mnóstwo różnego rodzaju robotów, których autorzy obiecują, że tylko ich działa i przynosi zyski. W rzeczywistości jest to czysty marketing i chodzi o zyski ze sprzedaży a nie handlu. Niektórzy programiści oficjalnie przyznają, że nie zarabiają na handlu walutami tylko na sprzedaży oprogramowania. Nie oznacza to jednak, że żaden EA z dostępnych na rynku nie działa. W rzeczywistości większość z nich działa ale tylko przy pewnych warunkach rynkowych. W momencie ich programowania zapewne przynoszą zyski, jednak z czasem zmieniający się rynek sprawia, że robot staje się bezużyteczny.
W Zulutrade przy wielu dostawcach sygnału widzimy oznaczenie ”Meta Trader 4 Expert Advisor”. W tym przypadku jednak nie koniecznie oznacza to, że dany dostawca sygnału używa robota do gry. Zulutrade nie może tego sprawdzić. Taka informacja pojawia się przy wszystkich dostawcach, którzy po prostu używają platformy Meta Trader 4. Czy rzeczywiście korzysta z automatu możemy jedynie stwierdzić po opisie jego strategii.
Na pewno posiadanie umiejętności pisania własnych EA jest nieocenioną umiejętnością dla każdego tradera i można znacznie zwiększyć zyski i ułatwić życie. Jednak jeżeli chodzi o zakup komercyjnych automatów to trzeba być ostrożnym. Bardzo nie wielu z nich rzeczywiście działa.
PS. W odpowiedzi na ten artykuł dostałem maila od Konrada. Jest to bardziej zaawansowane rozszerzenie powyższego wpisu o EA. Pozwolił zamieścić treść swojego maila:
co do konwencji Meta Trader, to używana w dokumentacji jest forma „Expert Advisor”. Nie wszystkie roboty działają na podstawie wskaźników analizy technicznej. Są roboty, które działają na podstawie algorytmów ANN analizując cechy zmienności cen w czasie. Są też roboty, które przetwarzają dane makro, czy mało dostępne dane o zmienności implikowanej. Ale ocenia się, że większość transakcji jest wykonywany przez zupełnie inny typ robotów, ale jak nie masz wolnych kilku miliardów dolarów, to i tak ten typ robotów jest poza kręgiem twoich zainteresowań.
Są różne języki programowania takich robotów, nawet słyszałem o firmie, która wypuściła API, żeby takie roboty można było programować w Javie, oczywiście były testy wydajności i Java się plasowała na szarym końcu, za to na pierwszym miejscu był C++, później MQL z wynikiem kilkaset procent gorszym. Są też bardziej specjalizowane języki od MQL4, a ich IDE zapewnia szerokie możliwości testowania i optymalizacji. Niektóre z tych języków są płatne, nawet około 2000 USD za licencje.
Kod MQL4 nie jest interpretowany tak jak PHP3 ma bardziej cechy PHP4+ (prekompilacja) i Java (opcode), z tym, że porównywałem natywny kod maszynowy z kodem kompilacji MQL4, i doszedłem do wniosku, że to jest dużo bardziej kod opcode niż prekompilacja. Dodatkowo zwracam uwagę, że jest kilka innych platform, które wykonują programy MQL. Nawet firma Ukraińska czy jakiś innych wschodnich sąsiadów wypuściła platformę, która obsługuje w wiele języków programowania EA (inaczej MTS).




