Neděle 23. leden 2022 16:15
reklama
BidAskBit
reklama
Bidaskbit ebook
reklama
Swissquote Bank
reklama
BidAskBit

10. MQL4 - Moje první strategie (2/2)

V následujícím bloku budeme pokračovat ve vytváření naší první strategie

Článek najdete ZDE.

Jste na diskusním fóru jako nepřihlášený uživatel a Vaše funkce jsou tak omezené. Pro neomezený přístup je nutné být registrovaný a přihlášený uživatel. Nejste-li registrován/a klikněte pro bezplatnou registraci. Jednoduchá registrace vám otevře cestu k profesionálním informacím.

Registrací na FXstreet.cz můžete získat:

  • Možnost diskutovat s ostatními tradery.
  • Vkládání nových příspěvků a zakládání nových témat v diskusním fóru.
  • Možnost vyhledávání v tomto velmi rozsáhlém diskusním fóru.
  • Přístup k uzamčeným odborným článkům, sekcím a školy forexu.
  • Ebooky, manuály a obchodní systémy zdarma.
  • Zasílání newsletterů a informací o nových akcích a aktivitách portálu FXstreet.cz
  • Možnost psát vlastní blogy a články.
  • Možnost objednání tradingových knih, seminářů nebo VIP zóny.
  • Další přínosné informace z oblasti obchodování na forexu.
Autor 10. MQL4 - Moje první strategie (2/2) (18 odpovědí)
netservis
Nováček v diskuzi
avatar
Příspěvky: 2
Více informací o uživateli >>
Díky 28.09.2010 11:34

Děkuji za tenhle seriál. Přesně tohle sem hledal. Doufám, že bude i pokračování.

J.H. 13676
Nováček v diskuzi
avatar
Příspěvky: 4
Více informací o uživateli >>
vice pozic 12.11.2010 23:25

zdravim,

mam dotaz, zda se prikaz uzavre se musi hlidat? Myslel jsem, ze kdyz je nastaven S/L a TP, tak se prikaz uzavre sam automaticky, jakmile cena dosahne tyhle hodnoty.

Chtel bych se zeptat jak by se to delalo u vicero pozic otevrenych naraz? Rekneme, ze nez by se mi uzavrel jeden prikaz, tak prijde signal na otevreni dalsiho. Jak to udelat programove, aby program pochopil, ktery obchod uzavrit tedy ktere ticketId

Dekuji (v pripade muj email czech_lion@atlas.cz)

 

japapatramtara
Gold member
avatar
Příspěvky: 636
Více informací o uživateli >>
Re: vice pozic 13.11.2010 08:59
Odpověď na: J.H. 13676

zdravim,

mam dotaz, zda se prikaz uzavre se musi hlidat? Myslel jsem, ze kdyz je nastaven S/L a TP, tak se prikaz uzavre sam automaticky, jakmile cena dosahne tyhle hodnoty.

Chtel bych se zeptat jak by se to delalo u vicero pozic otevrenych naraz? Rekneme, ze nez by se mi uzavrel jeden prikaz, tak prijde signal na otevreni dalsiho. Jak to udelat programove, aby program pochopil, ktery obchod uzavrit tedy ktere ticketId

Dekuji (v pripade muj email czech_lion@atlas.cz)

 

Já bych řekl, že mícháš hrušky s jablkama.. Smile Pokud zadáš příkazům ať už ze scriptu, nebo ručně SL PT, tak je na serveru, aby si to pohlídal(bavíme se o MT4, ne že mě bude někdo prudit, že  CME to má jinakTongue out). Takže tam je jedno jaké příkazy se otevřou nebo zavřou.. to ty neovlivníš.

Problém nastává když se snažíš maskovat SL, PT market ordery a hlídáš si tyto hranice sám. Tam potom skutečně může nastat, že pošleš příkaz na uzavření za MKT cenu a on ti vrátí chybu. Program nemá co chápat.. to záleží na tobě jak si to pohídáš.. pokud budou mít příkazy nastaveno něco ve smyslu, že na PT/SL jednoho se otevře přes LMT/STP druhý, potom to opět hlídá server a máš klid. Pokud otvíráš příkazy přes MKT, tak si zase musíš hlídat, jestli se skutečně otevřely.. Pokud se order otevře, tak se ti vrátí správné ID, jinak se vrátí ID neplatné, což si můžeš ověřit nějakou podmínkou a pokud se skutečně ID vrátí špatně, tedy se neotevře/neuzavře za MKT příkaz, tak máš možnost opakovat příkaz tak dlouho, dokud se neprovede.. Tam už je to ale potom otázka, jestli se má provedení zkoušet "přes" mrtvoly tedy za každé situace, nebo se v každém dalším ticku zároveň ověří podmínky vstupu/výstupu

takže shrnutí:

- pokud máš hejblo napsané ať otvírá přes LMT/STP příkazy a hned jim setuješ SL/PT, tak máš vystaráno, protože takové příkazy se většinou provedou(jj vim, je zde prostor pro diskuzi, ale polkněte to.. Smile)

- nebo si všechno řešíš přes MKT příkazy a tedy si skutečně musíš všechno hlídat sám.

a závěrem jenom příklad konkrétního bloku kódu, kde se platforma snaží poslat na server příkaz tak dlouho, až se to povede:

koukni sem

 

 

Jan Mareček - senior teapot manager
Geafer
Gold member
avatar
Příspěvky: 439
Více informací o uživateli >>
Re: vice pozic 15.11.2010 18:51

Ano pokyn se sám uzavře, pokud: je nastaven SL nebo TP a cena se této hranice dotkne, nebo pokud jej zavře broker, nebo možná z jiného důvodu, který mě momentálně nenapadá. Pokud vycházíte z mých příkladů a narážíte na to, že se ptám, zda příkaz je ještě otevřen, je to z důvodu, že nemám zpětnou vazbu o tom, že pokyn byl automaticky uzavřen. Vždy musí být nějaká obslužná rutina, která toto kontroluje - je jedno jakou formou se to provede.

Na tu druhou otázku, jestli jsem dobře pochopil, že se jedná o dvě otázky, tak příklad, který uvádím uvažuje pouze jeden otevřený obchod. Pokud potřebujete otevřít více běžících obchodů, jednoduše si vytvořte pole se seznam ID pokynů, které máte otevřené. Potom stačí upravit metody tak, aby uměly pracovat s kolekcí pokynů a ne pouze s jedním. Pokud potřebujete poradit konkrétně, dejte vědět. Snad to takhle stačí.

J.H. 13676
Nováček v diskuzi
avatar
Příspěvky: 4
Více informací o uživateli >>
Re:vice pozic 19.11.2010 01:39

Zdravim vsechny a diky za vycerpavajici odpovedi :) Omlouvam se pokud to jsou laicke otazky, koukam do toho +/- teprve 2 tydne nepravidelne. Pred tim jsem programoval tak max. v excelu :)

Ja si prave rikal, ze pokud zadam SL a TP, ze by si to mel system hlidat sam, zda doslo k naplneni ci ne. A jak pisete Geafer, zmatlo me to kontrolovani zda je pozice otevrena nebo ne a zda uz nastal cas ji zavrit. Chapu to dobre, ze takto se to hlavne dela, pokud nechci otvirat vice nez jednu pozici?

No a jinak, skvely serial. Skoda, ze uz skoncil, super by bylo, treba probirat nejake speky, jak se co da elegantne resit....

Chci se zeptat, musi byt ve skriptu neco zvlastniho napsaneho, aby mi provedl nakup pozice, ci uzavreni? Nejak mi nefunguji scripty a to ani ty standartni v MT jako napr. na uzavreni pozic. Chtel jsem si udelat script, ktery by mi ulehcil nakup, ze by rovnou vypocital i SL a TP.

Diky moc

Geafer
Gold member
avatar
Příspěvky: 439
Více informací o uživateli >>
Re: Re:vice pozic 19.11.2010 08:22
Odpověď na: J.H. 13676

Zdravim vsechny a diky za vycerpavajici odpovedi :) Omlouvam se pokud to jsou laicke otazky, koukam do toho +/- teprve 2 tydne nepravidelne. Pred tim jsem programoval tak max. v excelu :)

Ja si prave rikal, ze pokud zadam SL a TP, ze by si to mel system hlidat sam, zda doslo k naplneni ci ne. A jak pisete Geafer, zmatlo me to kontrolovani zda je pozice otevrena nebo ne a zda uz nastal cas ji zavrit. Chapu to dobre, ze takto se to hlavne dela, pokud nechci otvirat vice nez jednu pozici?

No a jinak, skvely serial. Skoda, ze uz skoncil, super by bylo, treba probirat nejake speky, jak se co da elegantne resit....

Chci se zeptat, musi byt ve skriptu neco zvlastniho napsaneho, aby mi provedl nakup pozice, ci uzavreni? Nejak mi nefunguji scripty a to ani ty standartni v MT jako napr. na uzavreni pozic. Chtel jsem si udelat script, ktery by mi ulehcil nakup, ze by rovnou vypocital i SL a TP.

Diky moc

Ke skriptům: je třeba zapnout strategie - v nástrojové liště je pro to tlačítko. Ale byl bych opatrný, musíte vědět, co spouštíte, pokud se jedná o demo účet, tak je to v pohodě.

K otázce: systém v MT pochopitelně hlídá SL nebo TP. V ukázce seriálu je pouze otevírání pozic na základě otočení směru. Příklady neuvažují TP, takže zavření pokynu např. pro BUY je závislé na tom, zda nastává pokyn pro SELL. Je to jenom jiná technika (v rámci ukázky kódu - ne v rámci "správného" obchodování), těch technik je určitě spoustu, ale v základě se opíráte vždy o nějaký signál, ať už jej ponecháte na systému nebo pokyn zavřete na základě svého vlastního signálu.

K seriálu: pokud máte konkrétní dotaz, buď jej zadejte do fóra, určitě vám tady někteří lidi poradí nebo zašlete na geafer@centrum.cz, rád vám odpovím.

Roman119977
Nováček v diskuzi
avatar
Příspěvky: 7
Více informací o uživateli >>
Dotaz na chyby při kompilaci 31.01.2013 12:55

Dobrý den, snažím se naučit MQL. Vložil jsem kód knihovny a EA do MetaEditoru, ale právě EA mi vygeneroval 4 chyby (viz příloha), mohl by mi někdo poradit, co s tím?

kralv
Veteran member
avatar
Příspěvky: 5015
Více informací o uživateli >>
Re: Dotaz na chyby při kompilaci 31.01.2013 13:15
Odpověď na: Roman119977

Dobrý den, snažím se naučit MQL. Vložil jsem kód knihovny a EA do MetaEditoru, ale právě EA mi vygeneroval 4 chyby (viz příloha), mohl by mi někdo poradit, co s tím?

Takhle asi těžko - obrázek je příliš malý a nedá se přečíst. Vlož sem obrázek v plné velikosti a někdo (třeba jáWink) ti určitě poradí...

broker: AdmiralMarkets (live) | Patria forex (live) | IBFX.au (demo + live)
Roman119977
Nováček v diskuzi
avatar
Příspěvky: 7
Více informací o uživateli >>
Re: Dotaz na chyby při kompilaci 31.01.2013 13:36

Tak ještě jednou.. každopádně děkuji

kralv
Veteran member
avatar
Příspěvky: 5015
Více informací o uživateli >>
Re: Re: Dotaz na chyby při kompilaci 31.01.2013 13:57
Odpověď na: Roman119977

Tak ještě jednou.. každopádně děkuji

Podle toho, co ti to tam píše tam máš ty funkce vícekrát než jednout (Init, DeInit...)...

broker: AdmiralMarkets (live) | Patria forex (live) | IBFX.au (demo + live)
Roman119977
Nováček v diskuzi
avatar
Příspěvky: 7
Více informací o uživateli >>
Re: Re: Re: Dotaz na chyby při kompilaci 03.02.2013 11:48
Odpověď na: kralv

Podle toho, co ti to tam píše tam máš ty funkce vícekrát než jednout (Init, DeInit...)...

Soubor jsem stáhl ze stránek FXSTREET.CZ a neprováděl jsem žádné úpravy. V EA ty funkce 2krát určitě nejsou, ale, je k tomu připojen soubor TradeLib (pomocná knihovna), ve kterém jsou ony funkce také, tak nevím kde je chyba...

Roman119977
Nováček v diskuzi
avatar
Příspěvky: 7
Více informací o uživateli >>
Dotaz na nefunkčnost testru strategií 09.02.2013 12:05

Dobrý den, opět jsem se dostal k metaeditoru, předešlé chyby jsem zdárně vyřešil, ale po úspěšné kompilaci, mi EA nevygeneruje žádné výsledky v testeru strategií. V deníku se mi objevují tyto chyby: OderSend error 131. Ve výpisu chyb jsem našel toto, že se jedná o "Invalid trade volume". Mohli byste mi prosím poradit.

kralv
Veteran member
avatar
Příspěvky: 5015
Více informací o uživateli >>
Re: Dotaz na nefunkčnost testru strategií 09.02.2013 12:14
Odpověď na: Roman119977

Dobrý den, opět jsem se dostal k metaeditoru, předešlé chyby jsem zdárně vyřešil, ale po úspěšné kompilaci, mi EA nevygeneruje žádné výsledky v testeru strategií. V deníku se mi objevují tyto chyby: OderSend error 131. Ve výpisu chyb jsem našel toto, že se jedná o "Invalid trade volume". Mohli byste mi prosím poradit.

Moc velká nebo spíš malá pozice. Každý broker má omezenou minimální velikost pozice, kterou lze otevřít. Např. pokud má AdmiralMarkets u PRO účtu minimální velikost pozice 0,1 lotu, nedovolí otevřít pozici např. 0,05 lotu...

broker: AdmiralMarkets (live) | Patria forex (live) | IBFX.au (demo + live)
Roman119977
Nováček v diskuzi
avatar
Příspěvky: 7
Více informací o uživateli >>
Re: Re: Dotaz na nefunkčnost testru strategií 09.02.2013 14:06
Odpověď na: kralv

Moc velká nebo spíš malá pozice. Každý broker má omezenou minimální velikost pozice, kterou lze otevřít. Např. pokud má AdmiralMarkets u PRO účtu minimální velikost pozice 0,1 lotu, nedovolí otevřít pozici např. 0,05 lotu...

Děkuji za odpověď. Nicméně již před napsáním dotazu jsem změnil velikost pozice na 1, což by dle měl být 1 lot a ani tak EA nefungoval. Problém je, že se nevykoná ani jeden obchod..

Roman119977
Nováček v diskuzi
avatar
Příspěvky: 7
Více informací o uživateli >>
Re: Re: Re: Dotaz na nefunkčnost testru strategií 09.02.2013 14:13
Odpověď na: Roman119977

Děkuji za odpověď. Nicméně již před napsáním dotazu jsem změnil velikost pozice na 1, což by dle měl být 1 lot a ani tak EA nefungoval. Problém je, že se nevykoná ani jeden obchod..

Dobrá, ruším planý poplach, pak to vyhodilo ještě chybu č.130 (chybný sl), kterou jsem také opravil a vše již funguje.. Ještě jednou moc děkuji.

Roman119977
Nováček v diskuzi
avatar
Příspěvky: 7
Více informací o uživateli >>
Import dat do MT4 04.04.2013 11:13

Dobrý den, dovedu Monte Carlo simulací vytvořit stovky tisíc scénářů, ale narazil jsem na problém, jak je v rozumně velkých maticích naimportovat do MT4, Máte s tím někdo zkušenost?

Děkji

kralv
Veteran member
avatar
Příspěvky: 5015
Více informací o uživateli >>
Re: Import dat do MT4 04.04.2013 12:19
Odpověď na: Roman119977

Dobrý den, dovedu Monte Carlo simulací vytvořit stovky tisíc scénářů, ale narazil jsem na problém, jak je v rozumně velkých maticích naimportovat do MT4, Máte s tím někdo zkušenost?

Děkji

Netuším v jaké podobě máš ty matice, ale můžu načrtnout jedno z jednodušších řešení:

Matice uložit v podobě CSV souborů, CSV soubory načítat přímo ve strategii a načtené hodnoty vkládat do proměnné typu pole a pak s nimi pracovat. Funkce pro načítání souborů v MQL: http://book.mql4.com/functions/files

Nebo složitější způsob vyžadující větší znalosti: Napsat si v nějakém vyšším jazyku (C/C++/C#/Delphi...) DLL knihovnu s metodou (funkcí) která bude strategii dodávat data. Tohle řešení ale vyžaduje řádově větší znalosti a zkušenosti (pokud tedy nemáš zkušenosti s psaním DLL knihoven vůbec bych se do toho nepouštěl - ne že by to teoreticky nedokázal začátečník napsat, ale časově na tom zabije takového času, že to nejspíš po pár dnech vzdá).

broker: AdmiralMarkets (live) | Patria forex (live) | IBFX.au (demo + live)
Canaris
Nováček v diskuzi
avatar
Příspěvky: 1
Více informací o uživateli >>
Re: Re: Re: Re: Dotaz na nefunkčnost testru strategií 23.01.2015 19:54
Odpověď na: Roman119977

Dobrá, ruším planý poplach, pak to vyhodilo ještě chybu č.130 (chybný sl), kterou jsem také opravil a vše již funguje.. Ještě jednou moc děkuji.

Ahoj Roman tiež mám ten istý problém že mi to neuzavrie žiadny obchod s chybou 130. Nebol by si tak láskavý a neposunul mi čo mám opraviť aby to fungovalo zatiaľ len začínam s MQL4 a aj keď som sa snažil tak som nenašiel v čom je problém. Ďakujem.

Předchozí témata

Následující témata

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
Dukascopy krypto