MQL4 COURSE. By Coders guru www.forex-tsd.com. -13 Váš první Expert Advisor - část 1



Podobné dokumenty
MQL4 COURSE. By Coders guru Váš první Expert Advisor - Část 2

MQL4 COURSE. By Coders guru Váš první indikátor Část 1

MQL 4 COURSE. By Coders guru -15 Váš první Expert Advisor - Část 3

MQL4 COURSE. By Coders guru -8- Proměnné

MQL4 COURSE. V tomto dodatku je obsažen popis 25 obchodních funkcí jazyka MQL4. Rozhodl jsem se napsat

MQL4 COURSE. By Coders guru -12 Váš první indikátor Část 3

MQL4 COURSE. By Coders guru Váš první indikátor - část 2

MQL4 COURSE. By Coders guru (Dodatek 2) Obchodní Funkce

MQL4 COURSE. By Coders guru -5 Smyčky & Rozhodnutí Part 1

Návod pro připojení telefonu Sony Ericsson P900 jako modem přes datový kabel a pro Windows 2000/XP

Instrukce pro zprovoznění FXstreet.cz VIP Exit Managera

MQL4 COURSE. By Coders guru -5 Smyčky & Rozhodnutí Část 2

NAS 109 Použití NAS s Linux

051.MT4.v Orientace v Platformě MT4

METATRADER 4 PRŮVODCE ZAČÁTEČNÍKA

Write-N-Cite - stručný návod

2

Změna názvu banky v aplikaci elektronického bankovnictví MultiCash Classic

ORCID. Návod na založení globálního identifikátoru vědce. (vytvořeno )

MQL4 COURSE. By Coders guru -3 DATA TYPES. Doufám, že předchozí lekce SYNTAX se vám líbila. V té jsme se pokoušeli zodpovědět:

REGISTRACE UŽIVATELE

POSTUP NAHRÁNÍ SOFTWAROVÝCH ROZŠÍŘENÍ DO OBCHODNÍ PLATFORMY METATRADER 4 PRO UŽIVATELE MS WINDOWS

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

Nápověda a postupy. Instalace a aktivace PDF-XChange Viewer Pro. Instalace a aktivace software. Nápověda a postupy. 1 z

Obsah TradeMaster. Obchodování...2. Analyzer Automatické strategie Další možnosti Kontaktní údaje...30

MIDAM Simulátor Verze 1.5

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

MS SQL Server 2008 Management Studio Tutoriál

NAS 323 NAS jako VPN Server

ISI WEB OF SCIENCE - manuál

Obchodujeme systém. RSIcross. Martin Kysela

Nej.cz. Uživatelská příručka k interaktivní televizi

Návod pro připojení k síti VŠPJ prostřednictvím VPN Vysoká škola polytechnická Jihlava

PTV MAP&GUIDE INTERNET V2 USNADNĚNÝ PŘECHOD

Začíname bittrex.com

Tvorba článků na knihožroutu: Slovo úvodem... 2 Přihlášení... 3 Tvorba tabulky... 5 Vložení obrázků... 8 Vložení hypertextového odkazu...

DEMO OBCHODOVÁNÍ A PLATFORMA

Pro definici pracovní doby nejdříve zvolíme, zda chceme použít pouze informační

Návod na synchronizaci ekasy s ekonomickými systémy. Pohoda idoklad/money Helios Orange

Průvodce pro přenos dat

UŽIVATELSKÁ PŘÍRUČKA PRO HOMEBANKING PPF banky a.s.

CAD library. Spuštění aplikace. Práce s aplikací. Popis okna

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

REGISTRACE UŽIVATELE

Úvod. OLYMPUS Stream Rychlý návod k obsluze

Obsah: Bezpečnost Vybavení Vlastnosti Popis a funkce Pracovní postupy Nastavení Záznam teploty...

Set Top Box Motorola VIP 1003

REGISTRACE UŽIVATELE

Nej.cz Uživatelská příručka k interaktivní televizi NetTV

Průvodce aplikací. Aplikaci easyeldp spusťte z nabídky Start pomocí ikony KomixFiller, kterou naleznete ve složce Komix.

Sběr informačních povinností regulovaných subjektů. Návod na instalaci certifikátů a nastavení prohlížeče. Verze: 2.1

Práce v návrhovém prostředí Xilinx ISE WebPack 10.1 BDOM UMEL FEKT Šteffan Pavel

PRÁCE S TEXTOVÝM EDITOREM 6.4 TEXTOVÉ POLE

THEOPHILOS. (návod k použití)

WiFi kamerový systém 4x 2Mpix kamera + NVR

Citrix klient a OneTimePass moje.cpas.cz Uživatelský návod pro uživatele České pojišťovny a.s. a Generali Pojišťovny a.s.

MIDAM Verze 1.1. Hlavní okno :

Nejčastější dotazy na Kukátko

Sentech AL Instalace a ovládání programu BREATH

1. Instalace programu LUPA

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

Lokality a uživatelé

Návod pro aktualizaci map a navigačního softwaru pro přístroje ZENEC E>GO (ZE-NC2010, ZE-NC2040, ZE-NC3810, ZE-NC5010) pomocí Toolbox a Synctool

Průvodce instalací modulu Offline VetShop verze 3.4

Nastavení L2TP VPN ve Windows

Nastavení Sony Ericsson XPERIA X1

WiFi kamerový systém 4x 4Mpix kamera + NVR

Klávesy, které lze naprogramovat:

MetaTrader 4 Builder. X-Trade Brokers DM S.A., organizační složka. Manuál k základnímu ovládání. X-Trade Brokers DM S.A., organizační složka 1/26

Naším cílem je Vaše spokojenost...

Návod pro SMS Operátor off-line klient

eretail.cz MANUÁL PRO PARTNERY

VISA KARTY ELEKTRONICKÉ VÝPISY Z VISA KARET V SYSTÉMECH OFFICE NET ČR (MULTICASH CLASSIC) A ACCESS ONLINE ČR

Návod jak žádat o dotace pro neorganizovanou mládež

Elektronická evidence činnosti studentů DSP na FLD Česká zemědělská univerzita v Praze

NAS 232 Aplikace AiFoto pro mobilní zařízení. Správa fotografií na vašem NAS z mobilního zařízení

Manuál k aplikaci FieldGIS v.2.27

ÚLOHA 6. Úloha 6: Stěžejní body tohoto příkladu:

METODICKÝ POKYN PRÁCE S MS PowerPoint - ZAČÁTEČNÍCI. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Instalace MS SQL Server Express a MS SQL Server Management Express

Statistica Enterprise

NVR Easyn pro IP kamery 1080p

PowerPoint. v PowerPointu se pracuje se snímky, u kterých je možné si vybrat rozvržení obrazovky

108Mbps Wlireless 11G+ PCI-Card. Instalační manuál P/N:

ABRA Software a.s. ABRA on- line

UŽIVATELSKÁ PŘÍRUČKA PRO HOMEBANKING PPF banky a.s.

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

Psaní programu pro PLC SIMATIC S7-300 pomocí STEP 7

Postupy práce se šablonami IS MPP

Instrukce k provádění QA kontrol pro překladatele a korektory

Nej.cz Uživatelská příručka k interaktivní televizi NetTV

Porn Detection Stick. Návod k použití. Hlavní výhody produktu:

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

1. - Připojení přes web na adrese

Návod na používání členské sekce OSAD.cz

UŽIVATELSKÁ PŘÍRUČKA PRO HOMEBANKING PPF banky a.s.

UŽIVATELSKÁ PŘÍRUČKA

Registrační číslo projektu: Škola adresa: Šablona: Ověření ve výuce Pořadové číslo hodiny: Třída: Předmět: Název: Mozilla Firefox nastavení Anotace:

Základní nastavení systému Windows 7

VoIP telefon Gigaset A580IP

Transkript:

MQL4 COURSE By Coders guru www.forex-tsd.com -13 Váš první Expert Advisor - část 1 V předchozí lekci jsme vytvořili první indikátor. Sice nebyl příliš užitečný pro naše obchodování, byl však užitečný pro naše programování. Indikátory jsou obecně velmi důležité pro technické analýzy trhu za účelem předpovědi vývoje cen. Indikátorem sledujeme graf, ruce pak použijeme při prodeji, nákupu a manuální modifikaci příkazů. Budete muset sedět před vašim terminálem s očima do široka otevřenýma. Pokud se unavíte, budete si chtít odskočit na čaj nebo kávu, případně si vzít krátké volno, budete muset zvážit jedno z těchto řešení: Můžete někoho najmout, aby terminál hlídal pro vás a volal vám každých 5 minut, aby hlásil, co je nového. Pokud se bude jednat o odborníka, bude vás stát veškerý váš výdělek. Pokud to bude začátečník, bude vás stát váš kapitál. Druhým řešením je použití programu pro automatizaci vašich obchodů. K tomu slouží program Expert Advisor. Expert advisor je program zapsaný v jazyce MQL4, používající oblíbené indikátory a obchodovací metody k automatizaci vašich příkazů. Může pro vás nakupovat, prodávat i modifikovat objednávky. Umožní vám dát si kávu a zároveň ušetřit výdaje na plat vašemu asistentovi. Dnes vytvoříme náš první expert advisor, pojďme tedy na to. První dva kroky: Krok 1: Pokud jste ještě neotevřeli MetaEditor, myslím, že je na čase jej spustit. Z menu MetaEditor File klikněte na New (můžete použít zkratkové klávesy CTRL+N nebo klikněte na ikonku New v nástrojové liště standard toolbar). Takto se vyobrazí nový programový pomocník (wizard), který jste již viděli při tvorbě prvního indikátoru. (Obr. 1). Tentokrát použijeme první volbu Expert Advisor program a klikneme na volbu Next.

Obr. 1 okno prvního kroku Krok 2: Poté, co jste kliknuli na volbu Next, vyobrazí se vám okno pro obecné vlastnosti. (Obr 2). Toto okno vám umožňuje nastavení vlastností vašeho expert advisoru a nastavení externích proměnných, které budete ve vašem expert advisoru používat. V tomto kroku budeme nastavovat tyto vlastnosti: 1-Jméno vašeho indikátoru, v našem případě použijeme My_First_EA. 2-Autorovo jméno, zadáte vaše (já jsem v příkladu použil své). 3-Odkaz na vaši webovou stránku. 4-Seznam externích proměnných: Jedná se o seznam externích proměnných, které umožní uživateli Expert Advisoru změnu v okně Expert properties. Pro přidání nové proměnné klikněte na volbu Add, tím přidáte nový záznam do seznamu externích proměnných. Každý záznam obsahuje 3 pole: Name: dvojitým kliknutím na toto pole nastavíte jméno (identifikátor) proměnné.

Type: dvojitým kliknutím na toto pole nastavíte datový typ proměnné. Initial value: dvojitým kliknutím na toto pole dáte proměnné inicializační hodnotu. Toto pole je volitelné, což znamená, že pole můžete přejít bez provedení změny. V našem případě jsme přidali tři proměnné: Varaible Type initial value TakeProfit double 350 Lots double 0.1 TrailingStop double 35 Obr. 2 okno pro druhý krok Nyní klikněte navolbu Finish, abyste okno uzavřeli a MetaEditor vám vynese kód vytvořený pomocníkem a uloží soubor My_First_EA.mq4 v přístupové cestě MetaTrader4 \experts. Poznámka: expert advisory musíte vkládat do složky MetaTrader 4\experts a indikátory do MetaTrader 4\experts\indicators, jinak nebudou pracovat.

Toto je kód, který pro nás pomocník vytvořil: // My_First_EA.mq4 // Coders Guru // http://www.forex-tsd.com #property copyright "Coders Guru" #property link "http://www.forex-tsd.com" vstupní parametry extern double extern double extern double TakeProfit=250.0; Lots=0.1; TrailingStop=35.0; // expert inicializační funkce int init() // expert deinicializační funkce int deinit()

// expert funkce spouštěcí int start() Jak vidíte výše, kód, vygenerovaný pomocníkem, je pro vás šablonou pro přidání vašeho kódu bez obtěžujících vypisování hlavních funkcí od začátku. Nyní přidáte váš vlastní kód: // My_First_EA.mq4 // Coders Guru // http://www.forex-tsd.com #property copyright "Coders Guru" #property link "http://www.forex-tsd.com" vstupní parametry extern double extern double extern double TakeProfit=250.0; Lots=0.1; TrailingStop=35.0; // expert inicializační funkce int init()

// expert - deinicializační funkce int deinit() int Crossed (double line1, double line2) static int last_direction = 0; static int current_dirction = 0; if(line1>line2)current_dirction = 1; //nahoru if(line1<line2)current_dirction = 2; //dolů if(current_dirction!= last_direction) //změněno last_direction = current_dirction; return (last_direction); else

return (0); // expert spouštěcí funkce int start() int cnt, ticket, total; double shortema, longema; if(bars<100) Print("bars less than 100"); if(takeprofit<10) Print("TakeProfit less than 10"); // check TakeProfit shortema = ima(null,0,8,0,mode_ema,price_close,0); longema = ima(null,0,13,0,mode_ema,price_close,0); int iscrossed = Crossed (shortema,longema); total = OrdersTotal(); if(total < 1) if(iscrossed == 1) ticket=ordersend(symbol(),op_buy,lots,ask,3,0,ask+takeprofit*point,

"My EA",12345,0,Green); if(ticket>0) if(orderselect(ticket,select_by_ticket,mode_trades)) Print("BUY order opened : ",OrderOpenPrice()); else Print("Error opening BUY order : ",GetLastError()); if(iscrossed == 2) ticket=ordersend(symbol(),op_sell,lots,bid,3,0, Bid-TakeProfit*Point,"My EA",12345,0,Red); if(ticket>0) if(orderselect(ticket,select_by_ticket,mode_trades)) Print("SELL order opened : ",OrderOpenPrice()); else Print("Error opening SELL order : ",GetLastError()); for(cnt=0;cnt<total;cnt++) OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(ordertype()<=op_sell && OrderSymbol()==Symbol()) // měla by být uzavřena? if(iscrossed == 2) if(ordertype()==op_buy) // long position - otevřena // uzavření pozice OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);

// opuštění // kontrola trailing stop else // přechod do pozice short // měla by být uzavřena? if(iscrossed == 1) if(trailingstop>0) if(bid-orderopenprice()>point*trailingstop) if(orderstoploss()<bid-point*trailingstop) OrderModify(OrderTicket(),OrderOpenPrice(),Bid- Point*TrailingStop,OrderTakeProfit(),0,Green); // uzavření pozice OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // opuštění // kontrola trailing stop if(trailingstop>0) if((orderopenprice()- Ask)>(Point*TrailingStop)) if((orderstoploss()>(ask+point*trailingst op)) (OrderStopLoss()==0))

OrderModify(OrderTicket(),Order OpenPrice(),Ask+Point*TrailingS top, OrderTakeProfit(),0,Red); Poznámka: Nekopírujte a nevkládejte výše uvedený kód, protože je zdeformovaný a nebude pracovat. Použijte kód uvedený v lekci na www.forex-tsd.com. Vystrašeni? Těch 160 řádků, které vidíte výše, se nemusíte obávat, celý kód si řádek po řádku probereme a slibuji, že se jedná o jednoduchý úkol. Test Expert Advisoru: Před prostudováním kódu expert advisoru musíme zkontrolovat, zda je přínosný či nikoliv. Poznámka: Náš expert advisor bude pracovat s páry EUR/USD v 4 Hodinovém časovém pásmu. Zkompilujeme tedy expert advisor stiskem klávesy F5 a jejím nahráním do MetaTraderu. Váš expert advisor můžete otestovat použitím dvou metod: 1-Live trading V testování živého obchodu jsou výsledky přesnější, budete však muset strávit dny (a možná i měsíce), abyste zjistili, zda je přínosný. Musíte expert advisoru umožnit, aby automatizoval vaše obchody. Pro tento účel klikněte na Tools Option menu (nebo použijte klávesové zkratky CTRL+O), čímž se přesunete do okna Options (obr. 3), klikněte na volbu Expert Advisors a aktivujte volbu: Tato aktivace umožňuje obchodování naživo. A potvrďte volbou Ok

Obr. 3 Aktivace automatického obchodování funkce expert advisor Uvidíte symbol Smajlíka vedle jména expert advisoru, což znamená že je expert advisor připraven pro vás provádět obchody (Figure 4). Figure 4 Expert advisor is enabled 2-Strategy Tester: Druhou metodou testování vašeho expert advisoru, který je méně přesný, nebude však zabírat tolik času, je Strategy tester. O něm si popovídáme později, nyní vyvoláme jeho okno klávesou F6 (Obr. 5). Otevřením okna se nám vyobrazí tyto volby: Symbol: EURUSD. Period: H4 (4 Hours). Model: Open price only.

Obr. 5 Okno Strategy tester Nyní klikněte na volbu Start pro spuštění testování expert advisoru. Uvidíte svíci průběhu a ze dvou lišt (Settings a Journal) se stalo pět. Nás zajímá lišta Report (Obr. 6); kliknutím na něj uvidíte váš zisk. V další lekci máme mnoho co říct a udělat; Doufám, že jste na tento boj připraveni. Velmi uvítám jakékoliv dotazy a připomínky. S pozdravem Coders Guru 24-11-2005