Pokud již nemáte, tak si vytvořte v MetaEditoru nový projekt (viz 2. díl seriálu). Pojďme se podívat z čeho se skládá předpřipravená šablona kódu.
Hlavička
Část zvýrazněná červenou barvou je hlavička kódu, která obvykle obsahuje popisné informace o programu, informace o autorovi apod. Informace, které se mají zobrazit uživateli po spuštění programu v MT4 je nutné začít identifikátorem #property a déle upřesnit typ informace (např. copyright, version, apod.). Tyto informace jsou pro samotný běh programu nepodstatné a můžete je, stejně jako všechny komentáře (zobrazeny šedě), klidně vynechat. Dále se v hlavičce obvykle definují globální proměnné, k nim se ale dostaneme v průběhu psaní kódu později.
Speciální funkce OnInit()
Samotný program bývá často rozdělen na 3 části, první z nich je funkce OnInit(). V ní je napsána část kódu, která se při spuštění vykoná jako první. Využívá se např. ke grafické úpravě či přípravným výpočtům.
Speciální funkce OnDeinit()
Funkce OnDeinit() naopak obsahuje kód, který se spustí až při ukončení programu. Slouží např. k vyčištění zavedených dat, grafických prvků apod.
Speciální funkce OnTick()
Funkce OnTick() pro nás bude tvořit při výrobě AOS srdce programu. Jedná se o speciální funkci určenou pouze pro AOS (ne indikátory či skripty). Jak už možná tušíte, funkce je přivolána s každým novým tickem (změnou ceny). Běží stále dokola, dokud není program ukončen.
Pro náš jednoduchý AOS nebudeme funkce OnInit ani OnDeinit potřebovat, proto je můžeme smazat, stejně jako většinu hlavičky, kde necháme např. jen název strategie. Zůstane nám tak téměř čistý editor.
Pracovní prostor tak máme nyní připraven dle našich potřeb. Je čas si stanovit nějakou konkrétní jednoduchou obchodní myšlenku, kterou se následně pokusíme naprogramovat a vytvořit tak AOS. Nezáleží teď na tom, jestli bude myšlenka zisková nebo ne, bude sloužit pouze jako výukové zadání. Zkusme tedy zadání následující:
Chci vytvořit obchodní strategii, která je určená pro obchodování krátkodobých korekcí akciových indexů. Mým cílem je nakoupit pokaždé, když hodnota akciového indexu poklesne oproti předchozímu dni alespoň o 1 %. Abych se vyhnul nákupům v dlouhodobém klesajícím trendu, budu do pozice vstupovat pouze v případech, kdy se cena nachází také nad úrovní 100denního klouzavého průměru (průměr uzavíracích cen za posledních 100 dní, jež lze použít jako potvrzení dlouhodobějšího trendu). Maximální risk na 1 obchod chci mít nastaven na úrovni 2 % z ceny indexu a ziskový cíl nastavíme například na 4% růst indexu.
Cíl je stanoven a nyní se k němu pokusíme dostat. V příštím díle se již naplno vrhneme na psaní programu. Začneme s deklarací a výpočtem proměnných.