MQL prakticky. Základy a pulz Rynku [kurz programovania]
V cykle MQL prakticky poskytneme vám znalosti potrebné na začatie práce s aplikáciami napísanými v MQL 4 pre platformu Meta Trader. Téma programovania je samozrejme veľmi široká, ale účelom tejto série nie je pokryť každú možnú tému a zavaliť vás komplikovanou teóriou. Cieľom tohto cyklu je ukázať vám, ako začať pracovať s MQL a poskytnúť vám poznatky, ktoré vám umožnia samostatne sa rozvíjať v tomto spektre.
Pre účely úloh, ktoré budeme spoločne vykonávať, je potrebná samostatná inštalácia platformy MetaTrader 4, na ktorej je nainštalovaný iba demo účet akéhokoľvek brokera. Nechceme robiť neporiadok na skutočnom účte. Môže ísť o pôvodnú verziu platformy MT4.
Základné funkcie
Začnime od základov, teda ako vyzerá okno platformy MT4 a aké funkcie obsahuje súvisiace s aplikáciami napísanými v MQL. Poďme sa pozrieť na obrázok nižšie.
V oblasti označenej jedným je okno "navigátor" (Ctrl + N). Panel nám umožňuje prístup ku všetkým nástrojom MQL nainštalovaným na danej platforme a je rozdelený na "Indikátory", "stratégie" i "skripty". Programy spustíme pretiahnutím na vybraný graf a v zobrazenom okne nakonfigurujeme parametre aplikácie. Na mieste označenom dvojkou vidíme príklad okna nastavení. Všetky parametre, ktoré je možné pre aplikáciu nakonfigurovať, sú dostupné tu, no zamerajme sa na základné prvky, ktoré sú spoločné pre všetky programy. Lúka "Povoliť obchod" používatelia často prehliadajú a v tomto bode závisí od vtáka, či bude algoritmus schopný vstupovať do transakcií. Táto funkcia vám umožňuje zakázať a povoliť obchodnú funkciu pre každý algoritmus samostatne na rozdiel od funkcie "AutoTrading", označený trojuholníkom, čo je globálny prepínač, ktorý umožňuje všetkým nástrojom pracujúcim na danej platforme Meta Trader uzatvárať transakcie.
Myslím si, že v tejto fáze nie je potrebné obťažovať vás ďalšími funkciami. Vyššie uvedené informácie sú dostatočné na to, aby sme úspešne spustili náš prvý program.
Môžeme začať uvažovať o programovaní. Prostredie na vývoj aplikácií je integrované v platforme MetaTrader. Prostredie je dostupné z ponuky "Nástroje / editor MQL4".
Po výbere možnosti v ponuke sa otvorí nová aplikácia - "MetaEditor". Tu napíšeme algoritmy pre platformu MT4. Zastavme sa tu na chvíľu a dozvieme sa o najdôležitejších prvkoch editora.
Na ľavej strane okna, rovnako ako v samotnom MT4, je panel "navigátor". Na mieste označenom jednotkou na obrázku vyššie sme rozbalili obsah adresára Experts a následne dvojitým kliknutím na názov programu otvorili jeho zdrojový kód, ktorý sa ukázal v časti okna označenej číslo dva. V tejto časti vytvárame a upravujeme algoritmy. Keď dokončíme písanie aplikácie, musíme ju pretransformovať do počítačom čitateľnej podoby, t.j. program skompilovať výberom možnosti "kompilovať" (F7), označené trojuholníkom. Zostavený algoritmus nájdete na paneli "navigátor" platformu MT4 a začnite potiahnutím vybraného grafu. Presne ako v predchádzajúcej časti tohto článku.
Stromček "navigátor" odráža štruktúru súborov umiestnených v adresári MQL4, t.j. adresári, do ktorého daná platforma ukladá všetky aplikácie napísané v MQL. Keď chceme nainštalovať aplikáciu, napríklad aplikáciu sprístupnenú v rámci nášho cyklu, musíme súbor skopírovať do adresára MQL4, pričom musíme pamätať na to, že "stratégie" vložiť do katalógu "MQL4 \ Experti"sa "Indikátory" V katalógu "MQL4 \ Indikátory" a že každá kópia platformy Meta Trader 4 nainštalovaná v počítači má svoj vlastný adresár MQL4. Ako nájsť adresár MQL4 danej platformy je znázornené na obrázku nižšie (kliknite na ikonu MQL4 pravým tlačidlom myši).
Už vieme, ako spúšťať, inštalovať a písať aplikácie pre Meta Trader 4. Poďme teda k veci a začnime sa učiť programovanie.
Vytvárame prvú aplikáciu
Aby ste mohli urobiť prvé kroky ako programátor, napíšeme malú aplikáciu, ktorá nás bude informovať o aktuálnej aktivite na trhu. Zavoláme jej "Puls Rynku"a pri čakaní na objavenie sa požadovanej variability, ktorú budeme počuť vďaka zmene frekvencie zvukov generovaných naším algoritmom, využijeme rušné prezeranie tlače.
Ako prílohu k tomuto článku viď TENTO ODKAZ nájdete zvukový súbor "Pulse_beep.wav". Vložte ho prosím do adresára „Znie“ktorý sa nachádza v koreňovom adresári platformy MT4. Katalóg „Znie“ možno nájsť otvorením vlastností skratky spúšťača terminálu, ako na obrázku nižšie.
Na obrázkoch nižšie je znázornené, ako vytvoriť nový, takmer prázdny súbor automatickej politiky. Vyberte funkciu v okne MetaEditor "Nový", potom označte "Odborný poradca", vyberte názov programu a kliknite "Ďalšie" kým sa v editore neotvorí šablóna pre nový program.
Nejdeme tou jednoduchšou cestou a vymažeme celý obsah súboru v okne označenom jednotkou na poslednom obrázku. Celý kód našej aplikácie si napíšeme sami. Začnime.
// Puls Rynku.mq4
// Copyright 2019, Mistrz Programowania
// https://www.mistrz.ty
Zadaním „//“ na začiatok riadku vytvárame komentáre, teda fragmenty, ktoré nám, programátorom, slúžia na vytváranie najrôznejších informácií a poznámok vo vnútri kódu. Komentáre nemajú vplyv na fungovanie programu. Pomocou komentárov si vytvoríte hlavičku vašej aplikácie, ktorá bude poskytovať napríklad informácie o autorovi, informácie o samotnej aplikácii či autorských právach. Vytvorme hlavičku (alebo nie) a potom umiestnime nasledujúci kód na nový riadok.
#property strict
Parametre typu „#property“ umožňujú poskytnúť platforme ďalšie informácie o vytváranom programe. Parameter „#property strict“ umiestnený na začiatku riadku informuje platformu, že algoritmus sa vyvíja pomocou najnovšej syntaxe MQL4.
V ďalšom kroku zadajte do nového riadku nasledujúcu operáciu.
input string Plik_dzwiekowy = "pulse_beep.wav";
Slovo "Vstup" informuje program, že vytvárame parameter, ktorý nám umožní zadať nastavenia potrebné pre chod programu. Po "Vstup" vždy špecifikujeme typ vstupných údajov, tu je "reťazec" teda text. Potom vytvoríme názov premennej, čo je v podstate názov časti pamäte počítača, na ktorú sa budeme môcť v budúcnosti odvolávať pri čítaní zadaných údajov. Našu premennú nazývame "Sound_file", je typu string, teda umožní nám zadať do programu text, ktorý použijeme ako názov zvukového súboru, ktorý má náš algoritmus použiť.
Za názvom premennej vidíme znamienko rovnosti. Znamená to, že našej premennej má byť priradený text "Pulse_beep.wav". V tomto prípade sa táto hodnota použije ako predvolená hodnota a možno ju zmeniť po pretiahnutí programu do grafu v okne nastavení. Práve sme definovali operáciu priradenia údajov. Je to jednoduchá operácia a končíme ich bodkočiarkou.
V tomto bode by ste sa mali na chvíľu zastaviť a prečítať si o typoch údajov. Vo vyššie uvedenom riadku sme použili dátový typ "reťazec", ale typov je oveľa viac a sú základnou súčasťou jazyka, ktorému sa nedá vyhnúť. Adresu pridávam do fragmentu dokumentácie popisujúcej dátové typy jazyka MQL4.
Píšeme ďalej.
void OnTick()
{
PlaySound(Plik_dzwiekowy);
}
Vyššie uvedený zápis definuje funkciu "OnTick ()". Funkcie sú prvky algoritmu zodpovedné za vykonávanie operácií, ktoré im boli zverené. V tomto prípade vidíme integrálnu funkciu jazyka MQL, ktorého úlohou je vykonať operáciu, keď sa zmení cena nástroja, na ktorom náš algoritmus funguje. Platforma zavolá túto funkciu vždy, keď sa objaví nová značka. Definujeme operácie, ktoré má vykonať každá nami napísaná funkcia. Máme tu plnú slobodu a prakticky žiadne obmedzenia. Tentoraz však budeme rezervovaní a prehráme iba zvukový súbor špecifikovaný skôr s parametrom "Vstup". Na tento účel použijeme ďalšiu, tiež vstavanú funkciu jazyka MQL 4 - "PlaySound (reťazcový názov súboru)"ktorého úlohou je prehrať zvukový súbor s názvom, ktorý získa pomocou premennej s dátovým typom "string", ktorý očakáva v zátvorkách za názvom funkcie. Operácia volania funkcie "Prehrať zvuk" končíme bodkočiarkou, pretože rovnako ako operácia priradenia údajov je to jednoduchá operácia.
Ako si viete predstaviť, v tomto bode je potrebné ponoriť sa do operácií dostupných v syntaxi jazyka.
Tlačíme na kompiláciu!
Držím palce, aby všetko vyzeralo ako na obrázku vyššie. Ak áno, kompilácia bola úspešná. Ak na druhej strane výsledok vyzerá skôr ako na obrázku 10, potom musíme nájsť chybu podľa informácií zobrazených na spodnom paneli, ktoré sa objavili po pokuse o kompiláciu. Na ľavej strane panela si môžeme prečítať, čoho sa chyby týkajú, a na pravej strane, o aký riadok ide. Dvojitým kliknutím na riadok s chybou sa dostanete do príslušnej časti zdrojového kódu. Vložte chýbajúce bodkočiarky a zátvorky a stlačte znova "kompilovať".
Pripravený! Môžeme prejsť na MT4 a pretiahnuť náš prvý algoritmus na ľubovoľný graf.
Píp píp ... 😉
Uvidíme sa budúci týždeň. Napíšeme nový program a preskúmame pokročilejšie jazykové funkcie.