Język programowania MQL5

Podstawy języka programowania MQL5

MetaQuotes Language 5 (MQL5) to język programowania dla aplikacji automatyzujących handel opracowany przez MetaQuotes Software Corp. Składnia MQL5 jest podobna do C++ z pewnymi wyjątkami.

Wskaźniki techniczne są napisane w języku MQL5, roboty handlowe, doradcy i inne aplikacje dla handel na rynku forex. Programy MQL5 w formacie programowania obiektowego (OOP). Dla programu MQL5 stworzono specjalne środowisko MetaEditor oraz MQL5 Storage.

Podstawowe składniki języka są takie same jak w innych językach programowania, istnieje też szereg specyficznych cech. Dane w MQL5 mogą być różnych typów - liczby całkowite, boolean, literały, łańcuchy, data, czas, wyliczenia i inne. Złożone typy danych (abstrakcyjne typy danych) obejmują struktury i klasy.

W MQL5 możliwe są różne operacje i wyrażenia. Operatory w MQL5 to algorytmy rozwiązywania problemów, które tworzą ciało problemu. Funkcje piszą kod programu.

Biblioteka funkcji niestandardowych jest przeznaczona do przechowywania i dystrybucji bloków programów niestandardowych. Plik include to kod źródłowy plików użytkownika, - EA, skryptów, bibliotek w czasie kompilacji.

Język MQL5 posiada specjalny podsystem kompilatora, który przeprowadza wstępne przygotowanie kodu źródłowego przed kompilacją. Za pomocą preprocesora wprowadza się do programów MQL5 funkcje, deklaruje się stałe, wstawia pliki itp.

Jak korzystać z języka MQL5

MQL5 pozwala na tworzenie interaktywnych programów dostosowanych do indywidualnych wymagań każdego tradera.

W MQL5 istnieją trzy główne typy programów - skrypt, wskaźnik, doradca. Pojedynczy skrypt uruchamia się raz na wykresie cenowym, po wykonaniu swoich zadań zatrzymuje się. Skrypt może również działać, wykonując pojedynczą operację, w formacie nieskończonej pętli, dopóki nie zostanie zatrzymany przez inwestora.

Na wykresie może być wiele wskaźników, które działają do momentu ich zatrzymania. Wskaźniki obliczają wartości z danych cenowych zawartych w buforach wskaźników.

Doradcy i roboty mają na celu automatyzację operacji handlowych, mogą być również wykorzystywane do analizy bieżącej sytuacji rynkowej i wykonywania innych zadań.

Język MQL5 pozwala na tworzenie własnych modułów do budowy robotów transakcyjnych poprzez kreator MQL5.

Programy w MQL5 tworzone są zgodnie z modelem event-driven. Reagują na jakieś zdarzenie - zmianę ceny, realizację zlecenia, zmianę ram czasowych i inne.

Jak napisać EA w MQL5

Język MQL5 zawiera wszystkie niezbędne elementy do pisania Expert Advisors. Ogólnie rzecz biorąc, krok po kroku wygląda to tak. Uruchom MetaEditor poprzez interfejs handlowy MT5 (rysunek 1) (jest on ładowany na komputer jednocześnie z serwisem handlowym), np. klikając na odpowiednią ikonę lub naciskając F4 na klawiaturze. Pojawi się edytor (rys. 2):

Język programowania MQL5

Rys. 1

Podstawy języka programowania MQL5

Rys. 2

W MetaEditorze kliknij przycisk "Create", a pojawi się odpowiednie okno z listą aplikacji, które można stworzyć w edytorze (rys. 3)

Jak korzystać z języka MQL5
Rys. 3

W tym oknie mamy do wyboru "EA (szablon)" i "EA (wygeneruj)". Wybierz i kliknij przycisk "Dalej". W obu przypadkach pojawi się okno, w którym najpierw należy nadać nazwę tworzonego EA (rys. 4), a w polu "Nazwa" można wpisać link do strony internetowej, e-mail:

Jak napisać EA w MQL5
Rys. 4

W wariancie szablonu kliknij przycisk "Dodaj", aby wybrać parametry, które powinien posiadać Twój Expert Advisor (rys. 5). Wybrane parametry można również usunąć klikając na odpowiedni przycisk.

Programowanie w języku MQL5 dla rynku forex

Rys. 5

Już na tym etapie od tradera wymaga się dużych umiejętności zarówno w zakresie programowania, jak i rozumienia tradingu.

Po wybraniu opcji kliknij "Next", a pojawi się okno z prośbą o wybranie event handlerów dla EA (rys. 6).

Roboty i doradcy forex MQL5

Rys. 6

Kontynuuj tworzenie EA klikając "Next", wybierz więcej testowych event handlerów i kliknij "Done", po czym pojawi się szablon kodu (Rysunek 7) z parametrami ustawionymi przez tradera.

Przewodnik po języku MQL5
Rys. 7

Dodatkowe parametry są dodawane do szablonu kodu zgodnie z zasadami zawartymi w szczegółowej instrukcji języka MQL5.

Jeżeli po wywołaniu kreatora MQL wybierzemy funkcję "Expert Advisor (Generate)", to krok po kroku wybierzemy nazwę (symbole i ramy czasowe już określone w parametrach), dodamy parametry dla sygnałów, parametry handlowe, parametry money management (rys. 8) i po kliknięciu "Done" pojawi się szablon kodu.

Programowanie w języku MQL5

Rys. 8

W edytorze znajdują się również usługi testowania i debugowania EA, których działanie należy zgłębić w szczegółowej instrukcji MQL5.

Społeczność i forum handlowców

Wszystkie pytania dotyczące nauki i korzystania z MQL5 są adresowane na stronach społeczności. W szczególności, https://www.mql5.com/ru/forum - forum dla handlowców, na którym znajdziesz odpowiedzi na zdecydowaną większość, jeśli nie wszystkie, swoje pytania.

Problem w tym, że forum jest bardzo duże i znalezienie potrzebnych informacji wymaga czasu. Pod tym adresem rozpatrywane są pytania osób, które dopiero zaczynają naukę języka: https://www.mql5.com/ru/forum/6343

Na stronie internetowej MQL5 znajduje się również biblioteka artykułów dotyczących języka pod adresem. https://www.mql5.com/ru/articles

Najlepiej jednak zacząć od podręcznika MQL5. https://www.mql5.com/ru/docs

W społeczności MQL5 możesz po prostu kupić EA, poprosić o opracowanie robota lub zaoferować własny EA na sprzedaż.

Sygnały handlowe przy użyciu EAs hostowanych na stronie MQL5

Strona MQL5 posiada sekcję sygnałów dla MetaTrader 5 dla handlu automatycznego https://www.mql5.com/ru/signals. Pierwszą rzeczą, którą należy zrobić, jest zapoznanie się z regulaminem sekcji.

Na stronie można zarejestrować się zarówno jako subskrybent, jak i jako sprzedawca sygnału. Subskrypcja może być płatna lub darmowa i pozwala na zastosowanie sygnały handlowe na własnym rachunku handlowym. Każdy członek społeczności MQL5.może udostępnić swój sygnał za darmo innym handlowcom.

Członek społeczności może również sprzedawać sygnały, jeśli zaakceptuje warunki Umowy o Nadawaniu Sygnałów Handlowych i przejdzie przez specjalną procedurę rejestracji.

Użytkownik wybiera sygnały według kryteriów maksymalnej rentowności, wiarygodności, ratingu i tak dalej. Może też wybrać nowy sygnał.

System dobiera również sygnały zgodnie z wymaganiami użytkownika dla określonych brokerzy forex lub wyszukać sygnały przez ich autora. Warto zauważyć, że serwis wskazuje na zrzeczenie się odpowiedzialności za działanie sygnałów (Rysunek 9) - trader subskrybuje sygnały wyłącznie na własne ryzyko.Sygnały handlowe przy użyciu EAs hostowanych na stronie MQL5

Rysunek 9

Którego doradcę wybrać

MQL5.community oferuje szeroki zakres Expert Advisors i robotów handlowych z kodami źródłowymi: https://www.mql5.com/ru/code/mt5/experts. Strona posiada dwa działy - EAs designed for MetaTrader5 oraz EAs designed for MetaTrader4. Wskaźniki, skrypty i biblioteki można również pobrać z serwisu.

Doradcy mogą być wybierani według uproszczonego rankingu: po prawej stronie listy doradców znajdują się dwie sekcje: najnowszy/najlepszy. Najlepsze z nich są wybierane na podstawie oceny użytkowników. Dodatkowo, ocena Expert Advisors jest oznaczona po prawej stronie każdego z nich gwiazdkami od 1 do 5. Przy okazji użytkownicy mogą dodać własny kod do listy do pobrania przez użytkowników.

Ale doradcę można też zamówić do własnych potrzeb, jest do tego rynek freelancerów: https://www.mql5.com/ru/joblub po prostu kupić (lub pobrać za darmo) ze sklepu z robotami handlowymi: https://www.mql5.com/ru/market. Tam też można wystawić robota na sprzedaż.

Kupując EA lepiej nie ograniczać się do ocen użytkowników, wskazanych przez gwiazdki pod każdym robotem, ale poprosić o opinie i ogólnie nie być leniwym, aby przestudiować cechy robota, czy jest wart pieniędzy, za które jest sprzedawany (wiele robotów jest bardzo drogich).

Przydatne materiały

W Internecie można znaleźć wiele materiałów dotyczących programowania w MQL5. Obejmuje to szczegółowe przewodniki krok po kroku do tworzenia Expert Advisors i Expert Advisors przez doświadczonych programistów. Większość materiałów wyjaśniających i szkoleniowych jest dostępna na samej stronie MQL5.

Istnieje dość duży wybór książek na ten temat, w szczególności "Tutorial (przewodnik) do języka programowania MQL5" autorstwa T. Mashnina (pobierać za darmo), istnieją darmowe kursy wideo oraz liczne entuzjastyczne lekcje na forach dla traderów. Materiały przeznaczone są nie tylko dla początkujących, ale także dla użytkowników, którzy chcą pogłębić swoją wiedzę.

Trzeba pamiętać, że jakiekolwiek lekcje się dezaktualizują, sam język ciągle się rozwija i udoskonala, podobnie jak platforma, na której jest używany i szukając lepszych materiałów do nauki jest na bieżąco - a z tym są już pewne trudności, większość materiałów jest w sieci od ponad roku.

Przy okazji, ponieważ język MQL5 jest bliski językowi C++, wielu doświadczonych użytkowników poleca lekturę książek poświęconych C++, np. Bronson G.J. A First Book of C++, Stephan R. Davis "C++ for Dummies", S. Lippman "C++ for Beginners", B.N. Pakhomov "C/C++ and MS Visual C++ 2010 for Beginners" itp. Wszystkie te książki można bez problemu pobrać z Internetu. Opanowanie MQL5 nie będzie trudne, - po opanowaniu C++.

Wnioski

Język MQL5 to sprawdzone narzędzie do pisania programów transakcyjnych o dużych możliwościach. Jednocześnie w Internecie można znaleźć wypowiedzi stwierdzające, że MQL5 jest łatwy do nauczenia i można go opanować od podstaw w ciągu zaledwie miesiąca. W takich wypowiedziach są bardzo duże wątpliwości.

Prawdopodobnie można nauczyć się składni w krótkim czasie, ale programowanie, wszystkich bardziej złożonych aplikacji, zajmie dużo czasu. A jeszcze dłużej trwa nauka programowania naprawdę wartościowych aplikacji.

Należy również zaznaczyć, że najtrudniejszą i najbardziej czasochłonną opcją jest samodzielna nauka programowania z książek i kursów wideo bez doświadczonego programisty, który doradzi nam w ważnych kwestiach.

Innym, ważniejszym pytaniem jest to, czy trzeba się go uczyć. Nauka programowania może mieć sens, jeśli zamierzasz rozwijać i sprzedawać te same roboty handlowe i EA później.

Ale jeśli chodzi tylko o optymalizację handlu, to być może bardziej efektywna byłaby możliwość oceny już opracowanych aplikacji i wybranie tych, które są naprawdę przydatne.

3.70 / 3
Zostaw recenzję

Recenzje

  • Strona internetowa MQL5 to oszustwo. Wykorzystując monopol, agresywnie reklamują się, co ostatnio pojawiło się w terminalu w prawym górnym rogu na czerwone tło tej, która początkowo przykuła mój wzrok i przeszkadzała w pracy, bo żeby owocnie pracować w forexie trzeba się skupić na Rynek nie był rozpraszany przez różne reklamy. Zawiadomienia o transakcjach i zamknięciach rynku są teraz podawane w języku angielskim, co znowu odciąga od pracy. Gdy wyraziłem wątpliwości na forum, zostałem po prostu zbanowany do 2030 roku, nie przejmując się napisaniem powodu bana. Przy okazji mówiąc, że moderator oprócz że przy niezbyt wysokiej inteligencji delikatnie mówiąc, popełnia też błędy gramatyczne i obraża. Tak zwani programiści napotkali osobiście, gdy uczyłem się języka programowania. Pytałem, dlaczego nie mogę zrobić tak a tak, na co dostawałem gotowy kod. Kiedy zapytałem Kazano mi wyjaśnić, dlaczego kod został napisany tak, a nie tak, jak ja go napisałem, a odpowiedzią był prosty cios w szczękę. To znaczy Sam programista nie rozumie nic z programowania, tylko po prostu bierze gotowe kody i pisze sowy, indyki i wszystko inne. Naturalnie, po takim programiści tak naprawdę nic nie robią. Nie mówię za wszystkich programistów, ale większość jest taka. Morał jest więc taki. Zanim zaufasz Pisany, a tym bardziej kupowany EA musi krytycznie ocenić oferowany produkt. Załączam zrzut ekranu, aby udowodnić moją tezę

    Odpowiedź na informację zwrotną
  • wideo jak oszuści MQL5 fałszują statystyki i wyłudzają subskrybentów. https://www.youtube.com/watch?v=h9bEzoivCLU&t=117s

    Odpowiedź na informację zwrotną
  • Mql5 — oszuści. strona MQL5 — fałszywe historii rachunku handlowego, pozycje handlowe, które są publikowane w historii handlu na stronie MQL5 nie są odpowiadają pozycjom handlowym w platformie handlowej mt4. Strona MQL5 może pokazywać na swojej stronie tylko pozycje z zyskami, a pozycje z straty, które w historii handlu na platformie, na stronie MQL5 mogą nie być wyświetlane. Stąd otrzymujemy doskonałą miesięczną historię handlu, a po opublikowane, konto zostaje wypalone wraz z abonentami w ciągu 1-2 miesięcy.
    Ponadto, drawdown konta jest publikowany tylko od momentu rejestracji konta w Jeśli drawdown na koncie wyniósł 90%, strona MQL5 nie pokaże tego w historii handlu, pokaże drawdown, z dzień rejestracji konta na stronie MQL5.
    Dlatego istnieje wiele kont handlowych z maksymalnym drawdownem 2-10% i miesięcznymi zyskami 100-250% w miesiąc. Strona MQL5 nie powiadamia o tym subskrybentów, wprowadzając tym samym w błąd handlowców.Za to handlowcy, którzy stracili swoje pieniądze na stronie MQL5, kopiowanie sygnałów handlowych, mają prawo domagać się zwrotu utraconych środków od strony MQL5 oraz odszkodowania na drodze sądowej.
    Jeśli chodzi o roboty handlowe, to po prostu ten sam algorytm, który otwiera pozycje handlowe automatycznie, w sposób losowy. Administracja strony zmienia wtedy nazwę robota, wgrywa nowe zdjęcie okładki, pisze zaktualizowaną robotę w ogłoszeniu i sprzedaje tym samym algorytmem, który losowo otwiera pozycje. Pomyśl

    Odpowiedź na informację zwrotną
    • Konstantin 12 lipca 2019 в 09:47

      Cóż, można by spierać się, że strona sprzedaje ekspertów. Są tylko platformą, przez którą programiści sprzedają programy. Przy tej sprzedaży odliczany jest procent na rzecz serwisu. Historia handlu może być korygowana w DC, a ich sygnały mogą być publikowane. Podzielą się też zainteresowaniem z serwisem. I to oni zgarną główny zysk.
      Nie ma więc co iść na skróty bez zrozumienia istoty sprawy.

    • Vladimir Mosevnin 2 marca 2020 в 17:09

      Nawet jeśli wskaźnik lub Expert Advisor działał idealnie, możesz za darmo uruchomić go na zdarzeniach historycznych i dowiedzieć się, jaki był poziom rentowności lub drawdown.

Mapa strony