4. MQL4 - Můj první skript

Napsal Geafer 02.08.2010 08:02 Sekce MQL4

V této kapitole si zkusíme společně vytvořit první velice jednoduchý skript. Ukážeme si tak, jak se skript zakládá, seznámíme se s prvními funkcemi a nasadíme skript do platformy MetaTraderu.

Pokud nemáte otevřený MetaEditor, tak jej otevřete.

Kliknutím na New z menu File nebo na ikonu Ikona pro přidání nového skriptu z nástrojové lišty spustíme průvodce pro založení skriptu.

V prvním dialogu průvodce vyberte položku Script a klikněte na tlačítko Další.

Zobrazit obrázek

V dalším dialogu vyplňte v poli Name název vašeho skriptu. Zadejte např. MyTestScript. Pole Author slouží k zadání informace o tvůrci skriptu a pole Link umožňuje zadat odkaz na bližší informace ohledně skriptu nebo např. odkaz na stránky tvůrce, apod. Oblast Parameters není aktivní, protože skript z důvodu své účelnosti nepřejímá vstupní parametry od uživatele. Klikněte na tlačítko Dokončit.

Zobrazit obrázek

Tím jste vytvořili základ pro napsání skriptu. Když se nyní podíváte do oblasti se soubory (Navigator) a rozbalíte složku scripts, najdete tam soubor MyTestScript.mq4. Jak již bylo zmíněno v předchozí kapitole, navigátor se soubory zobrazuje soubory, které jsou umístěné ve složce, kde máte nainstalovanou platformu MetaTrader. Tuto informaci uvádím jen kvůli tomu, abyste věděli, kde je vlastně uložen váš kód se skriptem, např. kvůli zálohování nebo distribuci skriptu.

Zobrazit obrázek

Pokud se nyní zaměříme na vlastní kód, tak průvodce nám připravil skript v základní podobě. Zde si můžeme všimnout, že na začátku se nachází v komentářích název skriptu, autor, poté následují tzv. dodatečné parametry (#property  …), které pomáhají terminálu MetaTraderu při základní obslužnosti skriptu, aniž by bylo nutné jej spustit. Za těmito parametry se již nachází známá funkce start().

Zobrazit obrázek

Určitě jste si všimli, že v kódu je mnoho textu začínajících znaky „//“. Tyto dvě lomítka umožňují v kódu zadávat komentáře. Kompilátor je pak ve výsledku vypouští, komentáře slouží pouze pro vás, abyste si popsali např., co která funkce vykonává, nebo okomentovali složitější logiku kódu. Komentáře na více řádků lze zapsat pomocí znaků „/*“ a „*/“.

// toto je komentář na jednom řádku

/*
Toto je komentář
na více řádcích
*/

Pokud vás ve vygenerovaném skriptu komentáře ruší, můžete si tyto řádky smazat a případně napsat své vlastní komentáře.

Nyní nastává čas pro napsání vlastního kódu. Do těla funkce start() napište následující kód:

Alert("Aktuální nabídka pro symbol ", Symbol(), " je ", Ask);

Kompletní funkce start() by nyní měla vypadat takto:

int start()
{
   Alert("Aktuální nabídka pro symbol ", Symbol(), " je ", Ask);   

   return(0);
}

V jednom příkazu jsme použili 3 nová klíčová slova: Alert, Symbol a Ask.

Funkce Alert() slouží v platformě k zobrazení zprávy formou dialogu se zvukovým signálem, tzv. Alarm. Do parametrů funkce se zadávají hodnoty, které chceme ve zprávě zobrazit. Parametry jsou odděleny čárkou a funkce tyto parametry skládá v pořadí do jednoho řetězce, který pak v Alarm dialogu zobrazí. Proto v našem příkladu vidíme, že nejdříve následuje řetězec "Aktuální nabídka pro symbol ", za ním pak chceme zobrazit další hodnotu získanou z funkce Symbol(), za ní máme pokračující text a poslední hodnotu předanou z předdefinované proměnné Ask.

Funkce Symbol() vrací textovou značku (identifikátor) aktuálního měnového páru zobrazený v grafu, pro který se náš skript vykoná. Pokud budeme mít zobrazen graf s měnovým párem EUR/USD, funkce vrátí text „EURUSD“. Tato značka pak slouží pro jiné funkce jako identifikátor měnového páru, např. pro funkci, která odesílá žádost o otevření pokynu.

Proměnná Ask vrací cenu aktuální nabídky daného měnového páru. Hodnota je vždy poslední známá, a pokud bychom chtěli sáhnout do historie, slouží k tomu jiné proměnné, které si zmíníme později.

Když jsem tu zmínil proměnnou Ask, bylo by slušné také zmínit její protějšek a to proměnnou pro získání ceny aktuální poptávky a tou je předdefinovaná proměnná Bid.

Pokud bychom chtěli upravit náš kód pro získání informace o poptávce, upravili bychom funkci Alert() takto:

Alert("Aktuální poptávka pro symbol ", Symbol(), " je ", Bid); 

Vraťme se ale k naší hotové funkci start() a vyzkoušejme si funkčnost našeho skriptu. V MetaEditoru klikněte v nástrojové liště na ikonu Ikona pro kompilaci skriptu. Pokud jste opisovali správně, tak by se vám měl skript zkompilovat bez chyb. Pokud ne, udělali jste někde chybu a pokud ji neodhalíte sami, začněte od začátku. V této části kapitoly se nebudeme zabývat chybami při kompilaci.

Zobrazit obrázek

Nyní můžeme vyzkoušet funkci našeho skriptu. Pokud nemáte spuštěnou platformu MetaTrader, tak ji spusťte.

V platformě se podívejte do seznamu skriptů (najdete v navigátoru, kde máte zobrazený seznam účtů, ukazatelů, skriptů a strategií) a najděte skript MyTestScript. Pokud nemáte otevřený graf, otevřete nějaký měnový pár, např. EURUSD. Je jedno pro jakou periodu (timeframe). Přetáhněte skript do grafu a voilá. Měl by se vám zobrazit Alarm dialog, který zobrazuje zprávu o měnovém páru.

Zobrazit obrázek

Tímto jsme si vyzkoušeli velice jednoduchý skript, na kterém jsme si představili nasazení kódu do platformy. Postupně budeme přitvrzovat a hlavně si probereme funkce, které nás budou zajímat pro vytvoření vlastního automatizovaného obchodního systému.

Sdílej na Google Buzz Delicious pošli na vybrali.sme.sk

 


Diskuse ke článku

Diskuse je přístupná pouze pro registrované uživatele.
Přihlásit se | Nová registrace

Autor Geafer

avatar
Zdeněk Hübner, člen teamu FXstreet.cz
Hodnocení autora:

Kategorie blogu

Kurzy obchodování

Kvě
19

Juniorská škola tradingu - Forex I-II (Praha)

Juniorská škola tradingu - Forex I-II je určený pro začínající tradery. Pokud toho o Forexu zatím moc nevíte ale máte chuť začít něco nového, naučit se úspěšně obchodovat.
Led
1

Profesionálem na Forexu - kurz pro pokročilé tradery

Seminář Profesionálem na Forexu - kurz je určený pro absolventy juniorské školy Forexu a pokročilé FX tradery.  
Sleva: Absolventi semináře Juniorská škola tradingu  mají tento seminář za 3.800,-Kč.
Led
1

Začínáme s FOREXEM - Efektivní seminář online – webinář

Nový exkluzivní online seminář. Získejte kompletní přehled o základech obchodování na Forexu a načerpejte forexové know-how v pohodlí domova. Zahrňte nás dotazy, na něž byste se na live semináři báli zeptat.
Led
1

Praktický workshop technické analýzy + profi obchodní systémy na Forexu

FXstreet.cz představuje nový exkluzivní seminář s hostem - Patrikem Urbanem, který působil jako profesionální trader na Wall Streetu. Praktické použití technické analýzy a metody profesionálních traderů.

Literatura

Kniha FOREX obálka

Jak se stát FOREXOVÝM obchodníkem - Ondřej Hartman

Server FXstreet přichází s jedinečnou novinkou - knihou, která vás naučí, jak vydělávat na největším a nejoblíbenějším finančním trhu světa - Forexu. Obsahuje vůbec nejkomplexnější informace, rady a tipy, které doposud o obchodování na měnových trzích v ČR a SK vyšly.

raghee horner.jpg

Forex tradingem k maximálním ziskům - Raghee Horner

Nejúspěšnější kniha od Raghee Horner v češtině. Kniha představuje vynikající návod pro začínající a středně pokročilé obchodníky a obsahuje velmi konkrétní obchodní techniky, oblíbené cenové patterny, vstupy, výstupy a množství dalších rad, tipů a zkušeností.

krotitele trhu 2.jpg

Krotitelé trhů - Inspirujte se příběhy George Sorose, Warrena Buffetta a Paula Volckera

Krotitelé trhů George Soros a Warren Buffett patří mezi nejlepší investory všech dob. Vy se z jejich příběhů můžete poučit. Podívejte se na dění na finančních trzích pohledem světových osobností.

 

reklama
reklama