programování
Teď čteš
MQL Prakticky. Základy a tržní puls [Programovací kurz]
0

MQL Prakticky. Základy a tržní puls [Programovací kurz]

vytvořil Radek SzafronMarch 12 2019

V cyklu MQL Prakticky Poskytneme vám znalosti potřebné pro práci s aplikacemi napsanými v MQL 4 pro platformu Meta Trader. Předmět programování je samozřejmě velmi široký, ale účelem tohoto cyklu není upozornit na všechny možné problémy a pokrýt vás složitou teorií. Účelem tohoto cyklu je ukázat, jak začít pracovat s MQL a poskytovat znalosti, které vám umožní rozvíjet se v tomto spektru.

Účelem úkolů, které budeme provádět společně, je samostatná instalace platformy MetaTrader 4, na které je nainstalován pouze demo účet jakéhokoli makléře. Nechceme pokazit skutečný účet. To může být původní verze platformy MT4.

STAŽENÍ METATRADER 4

Základní funkce

Začněme se základy, tedy z toho, jak vypadá okno platformy MT4 a jaké funkce obsahuje pro aplikace napsané v MQL. Podívejme se na níže uvedený obrázek.

experts_config

MQL prakticky - obr

V místě označeném jedním je okno "Navigator" (Ctrl + N). Panel umožňuje přístup ke všem MQL nástrojům nainstalovaným na dané platformě a je rozdělen na „Indikátory“, „Strategie“ i "Scripts", Programy spustíme přetažením do vybraného grafu a konfigurací parametrů dané aplikace v zobrazeném okně. V místě označeném dvěma vidíme příklad okna nastavení. Všechny parametry, které můžeme konfigurovat pro aplikaci, jsou dostupné zde, ale zaměřme se na základní prvky, které jsou společné pro všechny programy. pole "Nechat obchod" uživatelé často přehlížejí a pták určuje, zda bude algoritmus schopen uzavřít transakce. Tato funkce umožňuje zakázat a povolit funkce transakcí pro každý algoritmus na rozdíl od funkce "Autotrading", označený trojúhelníkem, což je globální přepínač možnosti uzavření transakcí všemi nástroji pracujícími na dané platformě Meta Trader.

Domnívám se, že v této fázi není třeba vás obtěžovat dalšími funkcemi. Výše uvedené informace nám stačily k úspěšnému spuštění našeho prvního programu.

Můžeme začít přemýšlet o programování. Platforma MetaTrader integruje prostředí pro vývoj aplikací. Prostředí je dostupné z menu "Editor jazyků / MQL4".

metaeditor_launch

MQL prakticky - obr

Po výběru možnosti v nabídce se otevře nová aplikace - "MetaEditor", V tomto okamžiku budeme psát algoritmy pro platformu MT4. Zastavme se na okamžik a seznámíme se s nejdůležitějšími prvky editoru.

metaeditor_basic

MQL prakticky - obr

Na levé straně okna, stejně jako v samotném MT4u, je panel "Navigator", V místě vyznačeném na výše uvedeném výkresu jsme vyvinuli obsah katalogu Experts a dvojitým kliknutím na název programu jsme otevřeli jeho zdrojový kód, který se objevil v části okna označené číslem dvě. V této části vytváříme a upravujeme algoritmy. Když dokončíme psaní aplikace, musíme ji převést na počítačově čitelnou formu, tj. Kompilovat program výběrem možnosti „Kompilace“ (F7), označené trojúhelníkem. Kompilovaný algoritmus naleznete v panelu "Navigator" Platforma MT4 a spuštění přetažení na vybraném grafu. Přesně jako v předchozí části tohoto článku.

stromeček "Navigator" Odráží strukturu souborů v adresáři MQL4, tj. adresář, ve kterém platforma ukládá všechny aplikace napsané v MQL. Chcete-li aplikaci nainstalovat, např. Aplikaci zpřístupněnou v rámci našeho cyklu, je třeba, abyste soubor zkopírovali do adresáře MQL4. „Strategie“ umístíme do katalogu "MQL4 Odborníci", je „Indikátory“ v katalogu "MQL4 indikátory" a že každá kopie platformy Meta Trader 4 instalovaná v počítači má svůj vlastní adresář MQL4. Jak najít katalog MQL4 dané platformy je uveden na obrázku níže (v ikoně MQL4 klikněte pravým tlačítkem myši).

metaeditor_mql_folder

MQL prakticky - obr

Již víme, jak spouštět, instalovat a psát aplikace pro Meta Trader 4. Přejdeme k zásluhám a začneme se učit programování.


odborní poradci


Vytvoříme první aplikaci

Abychom vám mohli učinit první kroky jako programátor, napíšeme malou aplikaci společně, jejímž úkolem bude informovat nás o současné tržní aktivitě. Zavoláme to "Puls Rynku"a budeme používat zaneprázdněné procházení tisku v očekávání vzhledu požadované variability, kterou budeme slyšet díky změně frekvence zvuků generovaných naším algoritmem.

Jako příloha k tomuto článku, pod TENTO LINK najdete zvukový soubor "Pulse_beep.wav", Prosím, vložte ho do katalogu „Zvuky“který je umístěn v hlavním katalogu platformy MT4. katalog „Zvuky“ můžete najít otevřením vlastností zástupce, který terminál provozuje, jak je vidět na obrázku níže.
mt4_location

MQL prakticky - obr

Následující obrázky ukazují, jak vytvořit nový, téměř prázdný, automatický soubor zásad. V okně MetaEditor vyberte funkci „Nový“a poté vyberte "Expertní poradce", vyberte název programu a klepněte na tlačítko "Další" pokud se v editoru objeví otevřená šablona nového programu.

metaeditor_new_1

Rys.6

 

metaeditor_new_2

Rys.7

 

metaeditor_new_3

Rys.8

Nejdeme snadným způsobem a smažeme celý obsah souboru v okně označeném jedním v posledním obrázku. Napíšeme celý kód naší aplikace sami. Začněme.


              // Puls Rynku.mq4
              // Copyright 2019, Mistrz Programowania
              // https://www.mistrz.ty
            

Zadáním "//" na začátek řádku vytvoříme komentáře, tj. Fragmenty, které nám slouží jako programátor k vytvoření všech druhů informací a poznámek uvnitř kódu. Poznámky neovlivňují fungování programu. Pomocí komentářů můžete vytvořit záhlaví vaší aplikace, které například poskytne údaje o autorovi, informace o samotné aplikaci nebo o autorských právech. Vytvořme záhlaví (nebo ne) a na nový řádek vložíme následující kód.

          
              #property strict
            

Parametry typu "#property" umožňují poskytnout platformě další informace o vytvořeném programu. Parametr "#property strict" umístěný na začátku řádku informuje platformu, že algoritmus je vytvořen pomocí nejnovější syntaxe jazyka MQL4.

V dalším kroku zadejte do nového řádku následující operaci.

    
              input string Plik_dzwiekowy =  "pulse_beep.wav";
            

slovo "Input" informuje program, že vytváříme parametr, který nám umožní zadat nastavení potřebná pro spuštění programu. na "Input" Vždy zadáváme typ zadaných dat, zde je "String" to je text. Dále vytvoříme název proměnné, což znamená ve zjednodušené podobě název fragmentu paměti počítače, na který budeme moci v budoucnu odkazovat, abychom mohli číst zadaná data. Nazýváme naši proměnnou "Plik_dzwiekowy", je typu řetězce, to znamená, že nám umožní zadat do programu text, který budeme používat jako název zvukového souboru, který má být použit v našem algoritmu.

Za názvem proměnné vidíme znak rovnosti. To znamená, že chcete přiřadit text naší proměnné "Pulse_beep.wav", Tato hodnota se v tomto případě použije jako výchozí hodnota a lze ji změnit po přetažení programu do grafu v okně nastavení. Právě jsme definovali operaci přiřazení dat. Jedná se o jednoduchou operaci, která končí středníkem.

V tomto okamžiku byste se měli na chvíli zastavit a přečíst si o typech dat. Ve výše uvedeném řádku jsme použili datový typ "String"ale existuje mnoho dalších typů a jsou základní součástí jazyka, který nelze obejít. Umístím adresu na fragment dokumentace popisující datové typy jazyka MQL4.
Jak můžete vidět na výše uvedených fragmentech, jeden řádek je velmi důležitý v programování a jeden by měl být velmi opatrný na to, co píšeme ve zdrojovém kódu, protože i nejmenší chyba zabrání kompilaci algoritmu.

Píšeme dále.


                void OnTick()   
                {
                
                PlaySound(Plik_dzwiekowy);
                
                }
          

Výše uvedený záznam definuje funkci "OnTick ()", Funkce jsou prvky algoritmu zodpovědného za provádění operací, které jim byly svěřeny. V tomto případě vidíme integrální funkci jazyka MQL, jehož úkolem je provádět operaci, když se mění průběh nástroje, na kterém náš algoritmus pracuje. Platforma zavolá tuto funkci pokaždé, když se objeví nové zaškrtnutí. Operace, které má provádět každá funkce, kterou píšeme, jsou definovány sami. Máme zde úplnou svobodu a prakticky nulová omezení. Tentokrát však budeme omezeni a znovu vytvoříme pouze zvukový soubor definovaný parametrem "Input". Pro tento účel použijeme další, také vestavěnou funkci jazyka MQL 4 - "PlaySound (řetězec název_souboru)"úkolem je reprodukovat zvukový soubor s názvem, který obdrží, pomocí proměnné s datovým typem "řetězec", který očekává mezi závorkami za názvem funkce. Funkce volání funkce "PlaySound" končíme středníkem, protože stejně jako operace mapování dat je jednoduchá operace.

Jak pravděpodobně víte, zde je téma operací dostupných v syntaxi jazyka.

Tiskneme kompilaci!

metaeditor_compile_ok

Rys.9

Držím palce, aby všechno vypadalo jako nahoře. Pokud ano, kompilace proběhla dobře. Pokud je výsledek spíše jako výkres čísla 10, pak musíme chybu vyhledat pomocí informací zobrazených ve spodním panelu, které se objevily po pokusu o kompilaci. Na levé straně panelu můžeme číst, co se chyby týkají, a na pravé straně, ve které jsou. Dvojitým kliknutím na řádek s chybou se dostanete do příslušné části zdrojového kódu. Vložte chybějící středníky a závorky a stiskněte znovu „Kompilace“.

metaeditor_compile_ups

Rys.10

Připravte se! Můžeme jít do MT4 a přetáhnout náš první algoritmus do libovolného grafu.

Píp píp ... 😉

Uvidíme se příští týden. Napíšeme nový program a prozkoumáme pokročilejší jazykové funkce.

ZÁVĚREČNÝ KÓD - TRHOVÝ PULZ

Co si o tom myslíš?
68%
zajímavý
28%
Heh ...
6%
Šok!
11%
Nemám rád
15%
zranění
3%
O autorovi
Radek Szafron
Autorem publikace je Radek Szafron, majitel společnosti Expert Advisors, která již řadu let podporuje investory poskytováním technologií určených pro trh FOREX. Autor je absolventem Vysoké školy ekonomické ve Varšavě se specializací "Finanční trhy" a programátor s téměř letními zkušenostmi z 20. Společnost implementuje návrhy algoritmů a aplikací napsaných ve všech jazycích z rodiny "C", včetně oblíbených platforem Meta Trader 4 a 5. Expertní poradci naleznete na www.expertadvisors.pl.