Úterý 19. březen 2024 04:06
reklama
Dukascopy new
reklama
CapXmaster
reklama
Dukascopy new
reklama
Instaforex Dakar

Obchodujete pouze manuálně? Ztrácíte svůj drahocenný čas!

14.10.2019  Autor: Tým FXstreet.cz  Sekce: Programování v MetaTraderu a AOS   Tisk


V našem světě je mezi lidmi naprosto běžnou praxí strach z nepoznaného. Pokud něco neznáme, či tomu nerozumíme, máme k tomu přirozený odstup a často se toho i bojíme. Je to asi stejné, jako kdybyste potkali člověka ze středověku a zeptali se ho, zdali mu chybí auto? Řekl by pochopitelně, že nikoliv, jelikož ani neví co to je a tím pádem to rozhodně ani k životu nepotřebuje. Ano, měl by pravdu, k životu to potřeba určitě není, avšak umíme si představit dnešní dobu bez aut?

Stejné je to v tradingu. Konkrétněji myšleno v oblasti automatizovaného tradingu a vůbec přístupu k automatizovanému tradingu obecně. Pokud obchodujete čistě manuálně a s automatickým tradingem nemáte žádné zkušenosti, nejspíše vám to opravdu nijak nechybí. Co kdybych vám však řekl, že automatizovaný trading dokáže ušetřit až 90 % času, který prosedíme za obchodní platformou. Ba co více, dokáže trading zpříjemnit, zpřesnit a hlavně zrychlit. Navíc to není žádá raketová věda. Poté by vás už automatizovaný trading zajímal? Pokud ano, věnujte tomuto článku ještě pár minutek svého času.

Automatizovaný trading nejsou jen plnohodnotné robotické systémy, nýbrž i jakákoliv automatizovaná činnost, kterou za vás může vykonávat přímo sama obchodní platforma MetaTrader 4 (MT4). Napadlo mě, že bych napsal praktický článek, ve kterém vám dokážu, jak může být tvorba automatických pomocníků jednoduchá a zároveň užitečná.

Jak jistě víte, obchodní platforma MT4 má mnohé omezení, které vám nedovolují nastavit vše, jak byste potřebovali. Pokud u otevřeného obchodu chcete nastavit klasický Take-Profit, není to žádný problém. Problém však nastane v případě, kdy nechcete využít klasický Take-Profit (kalkulovaný na základě výše pipů), ale rádi byste obchod ukončili v nějakém konkrétním měnovém zisku. Dejme tomu, že chcete obchod uzavřít po dosažení zisku 100 USD. Takový scénář MT4 prostě neumí a vám nezbývá nic jiného, než čekat u obchodní platformy a pilně sledovat, zdali váš obchod této hodnoty již nedosáhl. Poté obchod ručně uzavřít. Co kdybychom si však nyní ukázali, jak tento problém vyřešit elegantně, a hlavně bez nutnosti vaší přítomnosti u obchodní platformy.

Vytvoříme si spolu systém, který výše zmíněný problém dokáže vyřešit! Pojďme na to…

1) Zapněte obchodní platformu MT4.

2) Vyberte „Nástroje“ a následně „Editor jazyka MetaQuotes“.

3) Otevře se vám editor na vytváření automatizovaných systémů do MT4.

4) Zde vyberte možnost „Soubor“ a následně „Nový“.

5) Zvolte možnost „Automatický obchodní systém“

6) Do jména napište „Experts\AOS“ zbytek ponechte.

7) V dalším kroku „Ovladače událostí“ nic neměňte.

8) V dalším kroku „Ovladače Tester“ také nic neměňte a klikněte na Dokončit.

9) Otevře se vám nová záložka (nový projekt) s názvem AOS. Nyní se můžeme pustit do programování…

Veškerý obsah kódu, který se vám nyní zobrazil prosím smažte. Tedy tak, abyste před sebou měli pouze čistou stránku. Následně na prázdnou stránku vložte celý tučně zvýraznění kód, který uvádím zde:


extern double pozadovany_zisk = 100;

void OnTick() {

for(int i=OrdersTotal()-1; i>=0; i--) {  

      if ((OrderSelect(i,SELECT_BY_POS,MODE_TRADES))) {

         if (OrderProfit() >= pozadovany_zisk) {

            if (OrderType() == OP_BUY) {

               bool close_buy = OrderClose(OrderTicket(),OrderLots(),Bid,0,clrNONE);

            }

            if (OrderType() == OP_SELL) {

               bool close_sell = OrderClose(OrderTicket(),OrderLots(),Ask,0,clrNONE);

            }

         }        

      }

   } 

}


Pojďme si nyní v jednoduchosti vysvětlit, co jednotlivé řádky kódu znamenají. V prvním řádku extern double pozadovany_zisk = 100; si vytvoříme (deklarujeme) naší vlastní proměnnou s názvem pozadovany_zisk, která dále v kódu poslouží pro porovnání skutečného zisku obchodu s naším požadovaným. Tedy jakmile skutečný zisk obchodu dosáhne požadovaného, obchod se ukončí.

Řádek void OnTick() { je hlavní, požadovaná, speciální funkce OnTick, která se zavolá pokaždé, když se změní cena na trhu. Tedy veškerá logika systému musí být uvedena uvnitř této speciální funkce. Jelikož situaci na trhu chceme monitorovat non-stop, je třeba, aby MT4 přečetl náš kód pokaždé, když se změní cena na trhu. Tedy něco se stane.

Na řádku for(int i=OrdersTotal()-1; i>=0; i--) { následuje cyklický operátor for. Vše, co je vloženo v rámci tohoto operátoru, bude opakovaně MT4 přečteno do té doby, dokud bude splněna podmínka operátoru. OrdersTotal() není nic jiného, než počet aktuálně otevřených obchodů. Pokud tedy v aktuální chvíli budete mít v obchodní platformě například 5 otevřených obchodů, veškerý obsah kódu v rámci tohoto operátoru bude při každé změně ceny přečten celkem 5x. Proč to vůbec potřebujeme? Jednoduše proto, abychom postupně zkontrolovali každý z pěti otevřených obchodů, zdali některý z nich již nesplnil naše nastavené podmínky. Tedy zdali některý z nich již nedosáhl zisku 100 USD.

Na řádku if ((OrderSelect(i,SELECT_BY_POS,MODE_TRADES))) { je poté funkce OrderSelect(), která jednoduše vybírá zvolený obchod. Jak jsem již psal výše, postupně takto vybereme všech 5 otevřených obchodů. Každý otevřený obchod musíme funkcí OrderSelect() vybrat, abychom s ním mohli pracovat. Tedy například zkontrolovat jeho aktuální zisk a případně obchod uzavřít.

Na řádku if (OrderProfit() >= pozadovany_zisk) { se jednoduše ptáme, zdali aktuální zisk obchodu již dosáhl požadovaného zisku, který jsme nastavili v naší proměnné „pozadovany_zisk“. Tedy v našem případě hodnoty 100 USD. Pokud ano, MT4 se dostane do další části našeho kódu „uzavření obchodu“. Pokud ne, přichází na řadu kontrola dalšího obchodu.

Dejme tomu, že naše požadovaná podmínka je splněna, a tedy obchod již dosáhl požadovaného zisku 100 USD. Následuje řádek if (OrderType() == OP_BUY) {. Na tomto řádku se ptáme, zdali se jedná o obchod BUY? Pokud ano, MT4 se dostane na další řádek

bool close_buy = OrderClose(OrderTicket(),OrderLots(),Bid,0,clrNONE);, na kterém je funkce OrderClose() uzavírající náš obchod.

Na dalších dvou řádcích probíhá to samé, avšak pro obchod SELL.

Nyní, když máme celý kód hotový, jednoduše jej musíme zkompletovat. To uděláme tlačítkem „Kompilovat“. Poté prosím vypněte obchodní platformu MT4 a následně znovu zapněte. V levé části navigátoru rozklikněte Strategie a poté dvojklikem otevřete náš nově vytvořený program AOS. V záložce „Obecné“ zaškrtněte „Umožnit obchodování“ a v záložce „Vložit parametry“ poté nastavte libovolnou hodnotu zisku měny obchodního účtu, pro uzavření obchodu. Zde prosím berte v potaz, že hodnota bude brána dle měny vašeho obchodního účtu. Pokud tedy máte účet například v CZK a nastavíte zde 1000, každý váš otevřený obchod se okamžitě ukončí, jakmile dosáhne zisku 1000 Kč.

Následně jen klikněte na tlačítko OK a zkontrolujte, zdali se objevil v pravém horním rohu na grafu usmívající se smajlík. Pokud ano, vše jste provedli správně.

Jak vidíte, během chvíle jste si vytvořili program, který vám může v tradingu značně pomoci a ušetřit spousty času. Ačkoliv se vám možná kód zdá na první pohled složitý, opak je pravdou. Nejen o tom bych se však již rád zmínil na blížícím se semináři, na kterém se můžeme potkat osobně a na který bych vás nyní rád pozval.

Veškeré info o tomto semináři naleznete ZDE.

Pokud vás automatizovaný trading zajímá a rádi byste se o této problematice dozvěděli více, neváhejte dorazit. Budu se na vás s kolegy moc těšit.


Tomáš Rozehnal
Tým FXstreet.cz

Sdílení článku: 
   

 

Čtěte více

  • Diskreční obchodování – pohled z druhého břehu
    Jedním z možných dělení způsobů obchodování je na obchodování diskreční a mechanické. Osobně se považuji za přívržence mechanického obchodování a rád bych poskytl můj subjektivní pohled na obchodování diskreční. Na pomoc si vezmu nositele Nobelovy ceny Daniela Kahnemana a jeho knihu „Myšlení rychlé a pomalé“, která v některých závěrech silně souzní s (v těchto kruzích možná známější) knihou „Černá labuť“ od Nassima Nicholase Taleba. K vysvětlení, proč můj článek věnuji stylu, který nepreferuji, použiji první citaci z výše uvedené knihy: „Je mnohem snadnější, a taky mnohem příjemnější, identifikovat a pojmenovávat omyly jiných než rozpoznávat své vlastní.“
  • Editor jazyka MetaQuotes a úvod do MQL4
    Dnešní díl se bude zabývat editorem jazyka MetaQuotes. Představíme si vlastnosti editoru, ukážeme si, jak se s ním pracuje. Poté se ponoříme do základů jazyka MQL4 (programování v MQL4), popíšeme si syntaxi jazyka a vysvětlíme si něco o struktuře tohoto jazyka.
  • Exkluzivní sbírka automatických systémů traderů týmu FXstreet.cz
    Nyní tomu je již přes rok, kdy jsme po prvé uspořádali nový vzdělávací seminář s názvem "Jak vytvářet ziskové AOS a testovat obchodní strategie". Tento seminář si mezi návštěvníky portálu FXstreet.cz získal možná až neočekávanou oblibu a pouze utvrzuje fakt, že běžné obchodní strategie ať už forexových, komoditních či akciových obchodníků již nemusí stačit rychlému tempu finančních trhů, které stanovují nejmodernější technologie 21. století.
  • Exkluzivní seminář: Ziskové obchodování na finančních trzích pomocí ROBOTŮ
    Přinášíme vám jedinečnou příležitost osobně potkat zástupce týmu profesionálních vývojářů a full-time traderů, kteří obchodují pomocí automatických obchodních systémů (AOS) ve společnosti FXstreet.cz. Cílem tohoto semináře je pomoci vám s profesionálním využitím a optimalizací těchto skvělých automatických pomocníků každého tradera. Vše se bude odehrávat přímo v obchodní platformě MetaTrader, včetně praktických ukázek.
  • Jak správně backtestovat AOS v MT4
    Dnešní článek připravil člen týmu FXstreet.cz Patrik Polák, který se v rámci společnosti FXstreet.cz věnuje mimo jiné vývoji automatických obchodních systémů (AOS). Patrik Polák patří mezi lektory semináře na téma AOS a zároveň mezi aktivně přispívající tradery do VIP zóny - Forex Asistent. Patrik Polák dnes poodkryje své zkušenosti z obchodování s AOS, konkrétně backtestování AOS na historických datech. Upozorní na jeden z mnoha nešvarů, kvůli kterému tradeři nezískají vypovídající informace o výkonnosti AOS, a zbytečně tak přicházejí o kapitál.
  • MetaTrader Tester - výsledky a optimalizace testování
    V dnešním díle navážeme na minulý díl, kdy jsme si ukázali základní backtestování strategie v testeru strategií. Dnes si představíme, jak se pracuje s výsledky testu, jaká nastavení lze změnit a poté se podíváme na optimalizaci testu, která nabízí další možnosti testování obchodní strategie.
  • Moje cesta k úspěchu v tradingu
    Dnešní článek připravil člen týmu FXstreet.cz Patrik Polák, který se v rámci společnosti FXstreet.cz věnuje vývoji automatických obchodních systémů (AOS). Patrik Polák dnes poodhalí svůj forexový příběh, jakým si prošel od úplných začátků a základů až po skutečné obchodování na reálném účtu.
  • Nový seminář: Jak vytvářet ziskové AOS
    Představujeme vám exkluzivní seminář se zástupci profesionálního vývojářského týmu, působícího v FXstreet.cz...
  • Obchodník robotických systémů
    Jsem si velmi dobře vědom, že drtivá většina obchodníků zná a obchoduje pouze manuálně, klasicky za pomocí obchodní platformy a obchodních příkazů. Pak tu ještě ovšem existuje vcelku malá skupina obchodníků, kteří dávají přednost spíše algoritmickému přístupu k tradingu, tedy robotickým obchodním systémům, případně alespoň polo-robotickým obchodním systémům.
  • Obchodujeme zlato pomocí AOS
    Dnešní článek volně navazuje na seriál o programování a tvorbě automatických obchodních systémů (AOS) v platformě MetaTrader. Článek pro vás připravil Patrik Polák, který se v FXstreet.cz věnuje programování v MT4 a MT5 na zakázku pro zájemce z řad našich klientů.
  • Objevte tajemství ziskového obchodování pomocí robotů
    Ve světě obchodování na finančních trzích se neustále objevují nové technologie a inovace. Jednou z těchto technologií, která mění způsob, jakým lidé obchodují, je automatický obchodní systém (AOS). Tyto systémy, často označované jako "obchodní roboti", umožňují obchodníkům vytvářet a provádět komplexní strategie bez nutnosti neustálého dohledu. Díky nim mohou obchodníci maximalizovat své zisky, minimalizovat rizika a zároveň získat více času pro jiné aktivity.
  • Robotické obchodování
    Dnešní doba by se dala nazvat také dobou binární, kdy téměř celý svět ovládají jedničky a nuly, tedy počítače. Už je jen velmi málo míst na světě, kam se počítače ještě nedostali a kde se na jejich příchod teprve čeká.
  • Unikátní vlastnosti platformy MT4
    Pro začínající tradery může být forex velmi psychicky náročný, protože musí udělat mnohá často nelehká rozhodnutí. U kterého brokera začít obchodovat? Se kterými instrumenty pracovat? Na co si dát pozor? To je jen malý výčet otázek, na které musí aspirující obchodník najít odpověď. Kromě těchto odpovědí, je však také důležité najít a zvolit si správné obchodní prostředí.
  • Úvod do automatických obchodních systémů (AOS)
    Jelikož je problematika robotizace obchodních strategií mezi tradery velmi populární, rozhodl jsem se sepsat tento článek a přiblížit vám fungování obchodních robotů. Prvně bych rád podotkl, že používání obchodních robotů (dále jen „AOS“) bych určitě doporučil spíše pokročilejším obchodníkům, kteří již vědí, jak finanční trhy fungují a umí se dobře orientovat v obchodní platformě MT4.
  • Úvod do světa forexových robotů
    Na poli forex tradingu mohou obchodníci aktuálně realizovat svůj trading buďto manuálně, nebo pomocí robotizace, takzvaných obchodních robotů. Při manuálním tradingu obchodníci, jak ve svých analýzách, tak i při obchodních vstupech, obvykle spoléhají sami na sebe a naopak v případě automatizovaného tradingu, pak tuto veškerou práci nechávají na buďto svých vlastních, nebo i cizích obchodních robotech.
  • VIDEO: Automatické testování strategií
    V tomto díle si povíme pár slov o automatickém testování strategií. Představíme si centrum historie dat v MetaTraderu, podíváme se jakým způsobem se testují strategie, ukážeme si nástroj Tester strategií a popíšeme si jeho základní vlastnosti.
  • Video článek MT4: Informace o cenách a účtu
    V tomto dílu si představíme některé základní funkce a proměnné v programovacím jazyku MQL (MetaTrader 4), pomocí nichž můžeme číst informace o cenách grafu a informace o obchodním účtu.
  • Video článek MT4: Praktická část – Zavření pokynů
    Tento díl přinese ukázku využití skriptu v praxi. Napíšeme si skript, pomocí kterého automaticky zavřeme všechny otevřené pokyny (CloseOrders).
  • Video článek MT4: Skripty - funkce MessageBox
    V dnešním díle našeho video seriálu se opět podíváme na programování skriptů a tentokrát si představíme funkci MessageBox, pomocí které můžeme zobrazit uživateli informace a také od něj získat i zpětnou vazbu.
  • Video - Instalace, nastavení a spuštění strategie
    V tomto díle si představíme automatickou obchodní strategii (AOS) a ukážeme si, jak se instaluje do platformy MetaTrader 4, jaké nastavení lze změnit, abychom ovlivnili chování strategie. Dále si na přiloženém testovacím souboru ukážeme, jak se strategie spouští a jak ji určitá nastavení ovlivňují.

 


Diskuse ke článku

Diskuse je přístupná pouze pro registrované uživatele.
Přihlásit se | Nová registrace
Forex - doporučené články:

Co je FOREX?
Základní informace o finančním trhu FOREX. Forex je obchodování s cizími měnami (forex trading) a je zároveň největším a také nejlikvidnějším finančním trhem na světě.
Forex pro začátečníky
Forex je celosvětová burzovní síť, v jejímž rámci se obchoduje se všemi světovými měnami, včetně české koruny. Na forexu obchodují banky, fondy, pojišťovny, brokeři a podobné instituce, ale také jednotlivci, je otevřený všem.
1. část - Co to vlastně forex je?
FOREX = International Interbank FOReign EXchange. Mezinárodní devizový trh - jednoduše obchodování s cizími měnami - obchodování se směnnými kurzy.
VIP zóna - Forex Asistent
Nabízíme vám jedinečnou příležitost stát se součástí týmu elitních obchodníků FXstreet.cz. Ve spolupráci s předními úspěšnými obchodníky jsme pro vás připravili unikátní VIP skupinu (speciální uzavřená sekce na webu), až doposud využívanou pouze několika profesionálními tradery, a k tomu i exkluzivní VIP indikátory, doposud úspěšně používané pouze k soukromým účelům. Nyní se vám otevírá možnost stát se součástí této VIP skupiny, díky které získáte jedinečné know-how pro obchodování na forexu, výjimečné VIP indikátory, a tím také náskok před drtivou většinou ostatních účastníků trhu.
Forex brokeři - jak správně vybrat
V podstatě každého, kdo by chtěl obchodovat forex, čeká jednou rozhodování o tom, s jakým brokerem (přeloženo jako makléř/broker nebo zprostředkovatel) by chtěl mít co do činění a svěřil mu své finance určené k obchodování. Velmi rád bych vám přiblížil problematiku výběru brokera, rozdíl mezi jednotlivými typy brokerů a v neposlední řadě uvedu několik příkladů nejznámějších z nich.
Forex robot (AOS): Automatický obchodní systém
Snem některých obchodníků je obchodovat bez nutnosti jakéhokoliv zásahu do obchodu. Je to pouhá fikce nebo reálná záležitost? Kolik z nás věří, že "roboti" mohou profitabilně obchodovat? Na jakých principech fungují?
Forex volatilita
Forex volatilita, co je volatilita? Velmi užitečným nástrojem je ukazatel volatility na forexu. Grafy v této sekci ukazují volatilitu vybraného měnových párů v průběhu aktuální obchodní seance.
Forex zůstává největším trhem na světě
V dnešním článku se podíváme na nejnovější statistiky globálního obchodování na forexu. Banka pro mezinárodní vyrovnání plateb (BIS) totiž před pár týdny zveřejnila svůj pravidelný tříletý přehled, ve kterém detailně analyzuje vývoj na měnovém trhu. BIS je označována jako "centrální banka centrálních bank". Je nejstarší mezinárodní finanční organizací a hraje klíčovou roli při spolupráci centrálních bank a dalších institucí z finančního sektoru. Dnešní vzdělávací článek sice nebude zcela zaměřen na praktické informace z pohledu běžného tradera, ale i přesto přinese zajímavé a důležité poznatky.

Nejnovější články:


Naposledy čtené:

reklama
Fintokei ProTrader