Středa 18. prosince 2024 07:04
reklama
RebelsFunding
reklama
Dukascopy new
reklama
RebelsFunding SLEVA 25 %
reklama
Dukascopy new

Jednoduchý automatický obchodní systém založený na změně volatility

V tomto článku vám představím jednoduchý automatický obchodní systém založený na změně volatility. Jedná se pouze o demonstraci myšlenky a přiložený zdrojový kód je určený pouze k testovacím účelům.

Č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 Jednoduchý automatický obchodní systém založený na změně volatility (27 odpovědí)
Martinor
Gold member
avatar
Příspěvky: 830
Více informací o uživateli >>
AOS 21.07.2019 08:22

Parádní popis AOS s celým zdrojovým kódem. Bravo! thumbsup

Jak dlouho jsi se učil programovat AOS?

Fr4kur
Silver member
avatar
Příspěvky: 81
Více informací o uživateli >>
Re: AOS 21.07.2019 10:21
Odpověď na: Martinor

Parádní popis AOS s celým zdrojovým kódem. Bravo! thumbsup

Jak dlouho jsi se učil programovat AOS?

Díky za pozitivní reakci.

Jelikož jsem měl základy programování ze školy (podmínky, cykly atd.), tak mi stačilo naučit se funkce mql. Trvalo mi to přibližně pár měsíců.

Petr Kouba
Silver member
avatar
Příspěvky: 76
Více informací o uživateli >>
MQ4 21.07.2019 12:02

Pěkný článek! Demonstruje možnosti jednoduchého základu, nad kterým může vzniknout solidní AOS. Parametry jsou asi vyladěné speciálně pro eurusd h1, test mně vychází stejně. Kladné RRR, výsledky symetrické long-short, rozumný počet obchodů.

Těším se na další příspěvky, jen Tě prosím, aby ses ještě zkusil zamyslet ohledně svých tezí, že limit pro zhodnocení neexistuje. Cesta tímhle směrem je mnohem trnitější než se může na první pohled zdát.           

Od roku 2015 se věnuju na 100% už jen problematice AOS. Algotrading je jen hra s pravděpodobností, nic víc, nic míň. Tweetuju pod nickem @investor666666
Fr4kur
Silver member
avatar
Příspěvky: 81
Více informací o uživateli >>
Re: MQ4 21.07.2019 14:47
Odpověď na: Petr Kouba

Pěkný článek! Demonstruje možnosti jednoduchého základu, nad kterým může vzniknout solidní AOS. Parametry jsou asi vyladěné speciálně pro eurusd h1, test mně vychází stejně. Kladné RRR, výsledky symetrické long-short, rozumný počet obchodů.

Těším se na další příspěvky, jen Tě prosím, aby ses ještě zkusil zamyslet ohledně svých tezí, že limit pro zhodnocení neexistuje. Cesta tímhle směrem je mnohem trnitější než se může na první pohled zdát.           

Díky za zhodnocení!

Je to přesně tak, funkční v tomhle nastavení to je jen na EUR/USD. Kdyby to se stejným nastavením fungovalo i například na GBP/USD a USD/JPY tak bych to označil za robustní a určitě na tom pracoval dál.

Za názorem že limit pro zhodnocení neexistuje si stojím, i když to zní tak jak to zní. Jelikož se soustředím spíš na scalping systémy, tak si myslím že díky násobení zisků a velkému množství obchodů s vysokou efektivitou (čím kratší doba držení obchodu, tím vyšší efektivita systému) se dá s pominutím nedostatku likvidity potencionálně dosáhnout opravdu neomezené zhodnocení. Jde jen o to překročit pomyslnou čáru ziskovosti ve formě skluz/komise/spread. Možná máš pravdu, ale to ukáže čas. Každopádně peníze jsou pro mě vedlejší, jinak bych se spokojil s cílem 50% za rok s nějakým rozumným drawdownem.

Andílek
Veteran member
avatar
Příspěvky: 1269
Více informací o uživateli >>
Nenadšení 21.07.2019 23:31

Vždy si vážím někoho, kdo obětuje svůj volný čas a poskytne ostatním popis jakéhokoli systému. Potud palec nahoru.

Bohužel nemohu sdílet nadšení z přiloženého kódu (v tomto případě by bylo pro ostatní asi lepší, kdybyste zůstal jen u popisu a kód nepřikládal). Chápu, že po pár měsících a základech programovaní ve škole jste se svým výtvorem spokojený, ale aniž bych Vás chtěl nějak schazovat, tak musím konstatovat, že ten kód je hrozný a opravdu nikomu nedoporučuji ho použít. Mohl bych tu dlouze a odborně probrat jednotlivé prohřešky a nedostatky, ale nejsem si jistý, zdali by to někoho zajímalo.

Ať už vám pořadatelé kurzů o programování slibují cokoli, tak věřte, že napsání dobrého kódu není otázka ani dnů, ani týdnů, ani měsíců, ale roků. Pokud budete ve svém vzdělávání pokračovat (což Vám jen doporučuji), tak už za rok by se Vám mohlo stát, že se budete za takový kód stydět a budete si přát, abyste ho nikdy nezveřejnil.

Omlouvám se za můj negativní příspěvek, ale v tomto případě jsem to považoval skoro za povinnost. Asi málokdo by si chtěl nechat operovat mozkový nádor od někoho, kdo měl na gymnáziu biologii. A zde sice nejde o život, ale mohlo by hypoteticky někomu jít o peníze.

Krakra
Veteran member
avatar
Příspěvky: 4234
Více informací o uživateli >>
Re: Nenadšení 22.07.2019 08:02
Odpověď na: Andílek

Vždy si vážím někoho, kdo obětuje svůj volný čas a poskytne ostatním popis jakéhokoli systému. Potud palec nahoru.

Bohužel nemohu sdílet nadšení z přiloženého kódu (v tomto případě by bylo pro ostatní asi lepší, kdybyste zůstal jen u popisu a kód nepřikládal). Chápu, že po pár měsících a základech programovaní ve škole jste se svým výtvorem spokojený, ale aniž bych Vás chtěl nějak schazovat, tak musím konstatovat, že ten kód je hrozný a opravdu nikomu nedoporučuji ho použít. Mohl bych tu dlouze a odborně probrat jednotlivé prohřešky a nedostatky, ale nejsem si jistý, zdali by to někoho zajímalo.

Ať už vám pořadatelé kurzů o programování slibují cokoli, tak věřte, že napsání dobrého kódu není otázka ani dnů, ani týdnů, ani měsíců, ale roků. Pokud budete ve svém vzdělávání pokračovat (což Vám jen doporučuji), tak už za rok by se Vám mohlo stát, že se budete za takový kód stydět a budete si přát, abyste ho nikdy nezveřejnil.

Omlouvám se za můj negativní příspěvek, ale v tomto případě jsem to považoval skoro za povinnost. Asi málokdo by si chtěl nechat operovat mozkový nádor od někoho, kdo měl na gymnáziu biologii. A zde sice nejde o život, ale mohlo by hypoteticky někomu jít o peníze.

Kód nemá takzvanou "štábní kulturu", některé části se píší trošku jinak. Není tam ošetření chyb, například, když se nepovede zadat příkaz (nevstoupí se).

Ale jinak je kód v pořádku (sám jsme he nezkoušel). Jako příklad nějakého (asi funkčního) kódu je to zcela v pořádku.

Ale váš názor je negativní až moc.

Kdo mála si cení, ten velkého hoden není.
11JanJan11
Silver member
avatar
Příspěvky: 109
Více informací o uživateli >>
Re: Re: Nenadšení 22.07.2019 08:13
Odpověď na: Krakra

Kód nemá takzvanou "štábní kulturu", některé části se píší trošku jinak. Není tam ošetření chyb, například, když se nepovede zadat příkaz (nevstoupí se).

Ale jinak je kód v pořádku (sám jsme he nezkoušel). Jako příklad nějakého (asi funkčního) kódu je to zcela v pořádku.

Ale váš názor je negativní až moc.

Souhlasím s Krakrou.

Skoro mi přijde jako kdyby Andílek nabízel nějaké placené programování a snažil se na všem hledat to špatné, jen aby si získal klienty pro své programovací služby.

Andílek
Veteran member
avatar
Příspěvky: 1269
Více informací o uživateli >>
Re: Re: Re: Nenadšení 22.07.2019 08:36
Odpověď na: 11JanJan11

Souhlasím s Krakrou.

Skoro mi přijde jako kdyby Andílek nabízel nějaké placené programování a snažil se na všem hledat to špatné, jen aby si získal klienty pro své programovací služby.

Zde se musím ohradit. Je sice pravda, že občas pro někoho (obvykle pro přátele) něco programuji, ale je to pro mě naprosto zanedbatelná část mých příjmů a své "klienty" v žádném případě aktivně nevyhledávám. I tak jich mám po celém světě dostatek a občas je i musím odmítat. Takže žádné klienty tímto způsobem nehledám.

Včera, když jsem psal komentář do tohoto vlákna, tak jsem opravdu dlouze přemýšlel, jestli se vůbec takto negativně vyjadřovat. Dnes už bych takový komentář nenapsal. Nenapsal bych žádný komentář, protože ti, kteří programování rozumí, tak by na první pohled měli kvalitu kódu rozpoznat a většina těch, kteří programovaní nerozumí, tak budou v mém komentáři hledat vedlejší úmysly jako Vy.

Satik
Veteran member
avatar
Příspěvky: 2403
Více informací o uživateli >>
Re: Re: Nenadšení 22.07.2019 09:41
Odpověď na: Krakra

Kód nemá takzvanou "štábní kulturu", některé části se píší trošku jinak. Není tam ošetření chyb, například, když se nepovede zadat příkaz (nevstoupí se).

Ale jinak je kód v pořádku (sám jsme he nezkoušel). Jako příklad nějakého (asi funkčního) kódu je to zcela v pořádku.

Ale váš názor je negativní až moc.

Hurá, už jsi zase tady, možná, že bude občas jako obvykle veselowink. ( Všem ostatním se omlouvám za nevhodný příspěvek k tomuto foru)

Krakra
Veteran member
avatar
Příspěvky: 4234
Více informací o uživateli >>
Re: Re: Re: Nenadšení 22.07.2019 09:46
Odpověď na: Satik

Hurá, už jsi zase tady, možná, že bude občas jako obvykle veselowink. ( Všem ostatním se omlouvám za nevhodný příspěvek k tomuto foru)

Ahoj Satiku, jsme zase zpět.....

Kdo mála si cení, ten velkého hoden není.
Tumorek
Gold member
avatar
Příspěvky: 926
Více informací o uživateli >>
Re: Re: Re: Re: Nenadšení 22.07.2019 10:42
Odpověď na: Andílek

Zde se musím ohradit. Je sice pravda, že občas pro někoho (obvykle pro přátele) něco programuji, ale je to pro mě naprosto zanedbatelná část mých příjmů a své "klienty" v žádném případě aktivně nevyhledávám. I tak jich mám po celém světě dostatek a občas je i musím odmítat. Takže žádné klienty tímto způsobem nehledám.

Včera, když jsem psal komentář do tohoto vlákna, tak jsem opravdu dlouze přemýšlel, jestli se vůbec takto negativně vyjadřovat. Dnes už bych takový komentář nenapsal. Nenapsal bych žádný komentář, protože ti, kteří programování rozumí, tak by na první pohled měli kvalitu kódu rozpoznat a většina těch, kteří programovaní nerozumí, tak budou v mém komentáři hledat vedlejší úmysly jako Vy.

To co napíšu berte prosím jen jako radu , jen můj názor...  V životě jsem zjistil že nejúčinější kritikou je faktická ukázka. Kritizovat umí každý a bohužel ne každý je v "právu"... Když vidím že můj zaměstnanec dělá něco špatně, jdu a ukážu mu jak by to dělat měl...samozřejmě Vás k ničemu nenutím, je to jen takové pobídnutí  a chápu že čas je to nejdražší co máme ... Hezký den... wink

Andílek
Veteran member
avatar
Příspěvky: 1269
Více informací o uživateli >>
Re: Re: Re: Re: Re: Nenadšení 22.07.2019 14:02
Odpověď na: Tumorek

To co napíšu berte prosím jen jako radu , jen můj názor...  V životě jsem zjistil že nejúčinější kritikou je faktická ukázka. Kritizovat umí každý a bohužel ne každý je v "právu"... Když vidím že můj zaměstnanec dělá něco špatně, jdu a ukážu mu jak by to dělat měl...samozřejmě Vás k ničemu nenutím, je to jen takové pobídnutí  a chápu že čas je to nejdražší co máme ... Hezký den... wink

Věřte mi, že už dnes lituji toho, že jsem můj názor včera zveřejnil (viz můj předchozí příspěvek). Oprávněně to může většina lidí vnímat jako nemístnou kritiku. Ale ona to původně ode mě vůbec neměla být kritika (spíše varování). Včera jsem se na ten kód koukal a s přivřením obou očí by ten kód mohl být brán jako velmi triviální pokus o prvotní backtestování myšlenky, tzn. zdali ta myšlenka vůbec má jakýkoli potenciál. Ale i tak bych k tomu měl výhrady. Ještě včera jsem hned po prohlédnutí soubor z mého počítače smazal, takže abych jen nemlátil prázdnou slámu, tak napíši pár věcí (rozhodně to nebude kompletní výčet výhrad), které si (doufám) pamatuji, a které (podle mě) nejsou v pořádku.

  1. Absence kontroly marže
  2. Absence kontroly otevřeného trhu
  3. Absence kontroly povoleného obchodování na všech dostupných úrovních
  4. Nekompatibilita s jakýmkoli jiným paralelně spuštěným AOS
  5. Neefektivita kódu (to se samozřejmě projeví až v okamžiku, kdy máte spuštěno více AOS najednou)
  6. Nevhodné použití Market příkazů (pro danou strategii by bylo mnohem vhodnější a efektivnější využívat čekajících příkazů)
  7. Absolutní neošetření chyb a jakýchkoli nestandardních stavů
  8. Absence jakéhokoli MM

Určitě bych (pokud bych si kód znovu stáhl) dokázal najít i další nedokonalosti. Málokdo si totiž uvědomuje, že naprogramování základní myšlenky strategie (obzvlášť při takto triviální strategii) je to nejjednodušší a v takové formě by nemělo zabrat více jak deset minut. Mnohem náročnější je všechno to okolo. Ideální je (já to tak mám vytvořeno) připravit si nějaký obecný framework, kde se řeší veškeré nutné kontroly a metody a pak jen za použití tohoto frameworku doplňovat konkrétní pravidla jednotlivých strategií. Jenže takový framework je otázka např cca 10 000 řádků kódu (ve zhruba takovém rozsahu ho mám já) a dalece překračuje objem kódu strategií, které jsou napsány podobným stylem, jako píše autor.

Takže se omlouvám za moji kritiku, kterou jistě nevyvážilo ani uznání "zásluh" za zveřejnění logiky strategie, a ve vlastním zájmu se do budoucna podobných komentářů pokusím zržet.

Krakra
Veteran member
avatar
Příspěvky: 4234
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Nenadšení 22.07.2019 14:27
Odpověď na: Andílek

Věřte mi, že už dnes lituji toho, že jsem můj názor včera zveřejnil (viz můj předchozí příspěvek). Oprávněně to může většina lidí vnímat jako nemístnou kritiku. Ale ona to původně ode mě vůbec neměla být kritika (spíše varování). Včera jsem se na ten kód koukal a s přivřením obou očí by ten kód mohl být brán jako velmi triviální pokus o prvotní backtestování myšlenky, tzn. zdali ta myšlenka vůbec má jakýkoli potenciál. Ale i tak bych k tomu měl výhrady. Ještě včera jsem hned po prohlédnutí soubor z mého počítače smazal, takže abych jen nemlátil prázdnou slámu, tak napíši pár věcí (rozhodně to nebude kompletní výčet výhrad), které si (doufám) pamatuji, a které (podle mě) nejsou v pořádku.

  1. Absence kontroly marže
  2. Absence kontroly otevřeného trhu
  3. Absence kontroly povoleného obchodování na všech dostupných úrovních
  4. Nekompatibilita s jakýmkoli jiným paralelně spuštěným AOS
  5. Neefektivita kódu (to se samozřejmě projeví až v okamžiku, kdy máte spuštěno více AOS najednou)
  6. Nevhodné použití Market příkazů (pro danou strategii by bylo mnohem vhodnější a efektivnější využívat čekajících příkazů)
  7. Absolutní neošetření chyb a jakýchkoli nestandardních stavů
  8. Absence jakéhokoli MM

Určitě bych (pokud bych si kód znovu stáhl) dokázal najít i další nedokonalosti. Málokdo si totiž uvědomuje, že naprogramování základní myšlenky strategie (obzvlášť při takto triviální strategii) je to nejjednodušší a v takové formě by nemělo zabrat více jak deset minut. Mnohem náročnější je všechno to okolo. Ideální je (já to tak mám vytvořeno) připravit si nějaký obecný framework, kde se řeší veškeré nutné kontroly a metody a pak jen za použití tohoto frameworku doplňovat konkrétní pravidla jednotlivých strategií. Jenže takový framework je otázka např cca 10 000 řádků kódu (ve zhruba takovém rozsahu ho mám já) a dalece překračuje objem kódu strategií, které jsou napsány podobným stylem, jako píše autor.

Takže se omlouvám za moji kritiku, kterou jistě nevyvážilo ani uznání "zásluh" za zveřejnění logiky strategie, a ve vlastním zájmu se do budoucna podobných komentářů pokusím zržet.

Ano

Tak jsme doma.

Opravdu, ty věci kolem, řízení obchodu posun SL, vstupování, do se dává do nějakých objektů, které to zařizují, klidně po vašem do nějakého framworku.

Poznámky:

1) K čemu kontrolovat marži, když není na marži, tak se obchod neprovede.

2) K čemu kontrolovat otevření trhu, když neběží trh tak neběží ani AOS (vlastnost MT4).

3) nerozumím

4) Ano, každý AOS by měl vědět, která otevřená pozice patří jemu, například pokud AOS kontorluje zda sám není v pozici, tak by za vlastní pozici neměl považovat pozici otevřenou jiným AOSem.

5) nerozumím (do jednoho kódu nemícháme více AOSů).

6) Jaké použít příkazy je záležitostí strategie, tady bych já spíše použil market příkazy, ale to je do diskuze.

7) Ano

8) Může být, na druhou stranu nepředpokládáme, že velikost účtu se bude měnit tak rychle, že to nezvládneme měnit přes parametry. Na druhou stranu, měla by se riskovat neustále stejné procento, a k toto v kódu vůbec není. Do budoucna by se to tam dodělat mělo.

Dalo by se říct, že kód je dobrý k onomu otestování myšlenky.

Kdo mála si cení, ten velkého hoden není.
Andílek
Veteran member
avatar
Příspěvky: 1269
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Re: Nenadšení 22.07.2019 15:03
Odpověď na: Krakra

Ano

Tak jsme doma.

Opravdu, ty věci kolem, řízení obchodu posun SL, vstupování, do se dává do nějakých objektů, které to zařizují, klidně po vašem do nějakého framworku.

Poznámky:

1) K čemu kontrolovat marži, když není na marži, tak se obchod neprovede.

2) K čemu kontrolovat otevření trhu, když neběží trh tak neběží ani AOS (vlastnost MT4).

3) nerozumím

4) Ano, každý AOS by měl vědět, která otevřená pozice patří jemu, například pokud AOS kontorluje zda sám není v pozici, tak by za vlastní pozici neměl považovat pozici otevřenou jiným AOSem.

5) nerozumím (do jednoho kódu nemícháme více AOSů).

6) Jaké použít příkazy je záležitostí strategie, tady bych já spíše použil market příkazy, ale to je do diskuze.

7) Ano

8) Může být, na druhou stranu nepředpokládáme, že velikost účtu se bude měnit tak rychle, že to nezvládneme měnit přes parametry. Na druhou stranu, měla by se riskovat neustále stejné procento, a k toto v kódu vůbec není. Do budoucna by se to tam dodělat mělo.

Dalo by se říct, že kód je dobrý k onomu otestování myšlenky.

Samozřejmě je na každém, jakou kvalitu od kódu očekává, a co je ochoten sám spustit. Možná se Vám moje požadavky zdají přemrštěné a mně se zase Vaše požadavky zdají nedostatečné. U toho bychom mohli zůstat, protože Vy mě nepřesvědčíte a ani já nemám ambici kohokoli přesvědčovat. Rád bych již déle netrávil nad tímto tématem čas, ale přesto se Vám pokusím ve stručnosti odpovědět:

  1. Marže by se měla kontrolovat a v součinosti s (zde neexistujícím) MM případně upravovat velikost pozice.
  2. Nemáte pravdu. Trh může být otevřený pro kotaci, ale nepřístupný pro obchodování
  3. Obchodování může být povoleno/zakázánu terminálem, vstupními parametry strategie, konkrétním symbolem...
  4. Zde jsme se shodli
  5. Obvykle je v rámci jednoho terminálu spuštěno několik paralelně běžících strategií. Pokud je každá napsaná neefektivně, tak bude docházet k zahlcení terminálu. Navíc kde jste přišel na to, že do jednoho kódu se nemůže "smíchat" více strategií, pro více symbolů? A tam už je opravdu na místě optimalizaci kódu pro vyšší efektivitu sledovat.
  6. Tento bod souvisí s tou efektivitou. Sledování splnění podmínek při každém ticku je výrazně nehospodárné v okamžiku, kdy se to dá vyřešit zadáním jednoho čekajícího příkazu při Open svíčky.
  7. Zde jsme se shodli
  8. Osobně strategii bez MM nepovažuji za strategii.

Doufám, že jsem poskytl dostatek informací, které mě neprozřetelně vedly k původní "kritice". A pokud někomu výše uvedené výhrady nevadí, tak vesele do použití takového, či podobných kódů. A pokud by mé poznámky jen jednomu člověku otevřely oči, tak mé úsilí nepřišlo vniveč.

Krakra
Veteran member
avatar
Příspěvky: 4234
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Re: Re: Nenadšení 22.07.2019 15:19
Odpověď na: Andílek

Samozřejmě je na každém, jakou kvalitu od kódu očekává, a co je ochoten sám spustit. Možná se Vám moje požadavky zdají přemrštěné a mně se zase Vaše požadavky zdají nedostatečné. U toho bychom mohli zůstat, protože Vy mě nepřesvědčíte a ani já nemám ambici kohokoli přesvědčovat. Rád bych již déle netrávil nad tímto tématem čas, ale přesto se Vám pokusím ve stručnosti odpovědět:

  1. Marže by se měla kontrolovat a v součinosti s (zde neexistujícím) MM případně upravovat velikost pozice.
  2. Nemáte pravdu. Trh může být otevřený pro kotaci, ale nepřístupný pro obchodování
  3. Obchodování může být povoleno/zakázánu terminálem, vstupními parametry strategie, konkrétním symbolem...
  4. Zde jsme se shodli
  5. Obvykle je v rámci jednoho terminálu spuštěno několik paralelně běžících strategií. Pokud je každá napsaná neefektivně, tak bude docházet k zahlcení terminálu. Navíc kde jste přišel na to, že do jednoho kódu se nemůže "smíchat" více strategií, pro více symbolů? A tam už je opravdu na místě optimalizaci kódu pro vyšší efektivitu sledovat.
  6. Tento bod souvisí s tou efektivitou. Sledování splnění podmínek při každém ticku je výrazně nehospodárné v okamžiku, kdy se to dá vyřešit zadáním jednoho čekajícího příkazu při Open svíčky.
  7. Zde jsme se shodli
  8. Osobně strategii bez MM nepovažuji za strategii.

Doufám, že jsem poskytl dostatek informací, které mě neprozřetelně vedly k původní "kritice". A pokud někomu výše uvedené výhrady nevadí, tak vesele do použití takového, či podobných kódů. A pokud by mé poznámky jen jednomu člověku otevřely oči, tak mé úsilí nepřišlo vniveč.

1) záleží podle čeho chcete upravovat velikosto pozice... podle velikosti marže možná, ale spíš by to měl řešit MM

2) slyším poprvé, nehodlám zkoumat

3) pokud je nějaký zákaz, tak je zbytečné aby to řešil samotný AOS

5) Ano jeden AOS může obchodvat více symbolů/trhů, ale mnohem jednodušší je spusti AOS na více stejných trzích (v MT4 možné).

A více strategií pro více symbolů do jednoho kódu? - proč dělat věci složitě a komplikovaně?

6) Je možné v MT4 dělat kontorlu jinak než na událost OnTick() ?, funkce OnTimer() se  na toto moc nepoužívá, při jejím použití by zase bylo třeba dělat kontorolu na to zda je trh otevřen jak píšete v dřívějších bodech. MT4 ani její editor není žádný zázrak.

7) Stategie je strategie, není komplexní obchodní plán s nadefinováním úplně všeho.

 

Kdo mála si cení, ten velkého hoden není.
avatar
Veteran member
avatar
Příspěvky: 3445
Více informací o uživateli >>
.. 22.07.2019 15:36

Páni, niektorí mi pripadáte hodne nevďační. Autor tu dal k dispozícii systém, z ktorého je možné vytvoriť AOS, dokonca s funčným nástrelom AOS. To nemá na týchto stránkach obdobu. Namiesto kritizovania kódu sem dajte niečo lepšieho.

Fr4kur
Silver member
avatar
Příspěvky: 81
Více informací o uživateli >>
- 22.07.2019 18:02

Díky všem za názory. Co se týče toho kódu, tak ten je určený pouze k testovacím účelům (jak je psáno v prvním odstavci) a nemá to být určené jako funkční celek, ale pouze pro backtest myšlenky, takže proto ta absence magic numberu a kontroly errorů. Kód jsem přikládal spíš kdyby si to chtěl někdo otestovat, nebo přidat další podmínky. 

nuvacik
Veteran member
avatar
Příspěvky: 1959
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Nenadšení 22.07.2019 19:01
Odpověď na: Andílek

Věřte mi, že už dnes lituji toho, že jsem můj názor včera zveřejnil (viz můj předchozí příspěvek). Oprávněně to může většina lidí vnímat jako nemístnou kritiku. Ale ona to původně ode mě vůbec neměla být kritika (spíše varování). Včera jsem se na ten kód koukal a s přivřením obou očí by ten kód mohl být brán jako velmi triviální pokus o prvotní backtestování myšlenky, tzn. zdali ta myšlenka vůbec má jakýkoli potenciál. Ale i tak bych k tomu měl výhrady. Ještě včera jsem hned po prohlédnutí soubor z mého počítače smazal, takže abych jen nemlátil prázdnou slámu, tak napíši pár věcí (rozhodně to nebude kompletní výčet výhrad), které si (doufám) pamatuji, a které (podle mě) nejsou v pořádku.

  1. Absence kontroly marže
  2. Absence kontroly otevřeného trhu
  3. Absence kontroly povoleného obchodování na všech dostupných úrovních
  4. Nekompatibilita s jakýmkoli jiným paralelně spuštěným AOS
  5. Neefektivita kódu (to se samozřejmě projeví až v okamžiku, kdy máte spuštěno více AOS najednou)
  6. Nevhodné použití Market příkazů (pro danou strategii by bylo mnohem vhodnější a efektivnější využívat čekajících příkazů)
  7. Absolutní neošetření chyb a jakýchkoli nestandardních stavů
  8. Absence jakéhokoli MM

Určitě bych (pokud bych si kód znovu stáhl) dokázal najít i další nedokonalosti. Málokdo si totiž uvědomuje, že naprogramování základní myšlenky strategie (obzvlášť při takto triviální strategii) je to nejjednodušší a v takové formě by nemělo zabrat více jak deset minut. Mnohem náročnější je všechno to okolo. Ideální je (já to tak mám vytvořeno) připravit si nějaký obecný framework, kde se řeší veškeré nutné kontroly a metody a pak jen za použití tohoto frameworku doplňovat konkrétní pravidla jednotlivých strategií. Jenže takový framework je otázka např cca 10 000 řádků kódu (ve zhruba takovém rozsahu ho mám já) a dalece překračuje objem kódu strategií, které jsou napsány podobným stylem, jako píše autor.

Takže se omlouvám za moji kritiku, kterou jistě nevyvážilo ani uznání "zásluh" za zveřejnění logiky strategie, a ve vlastním zájmu se do budoucna podobných komentářů pokusím zržet.

1 Tak to je dosť neskoro, keď neni na maržu. Čo tak ukončiť aos pri nejakom drawdovne alebo pri volitelnej hodnote marže. Určite by som nedával MM ako súčasť aos. Dobrý aos musí spĺňať požadované parametre aj so stálou veľkosťou pozície a navyšovanie, či zníženie si zvolí trader podľa svojich predstáv. 

2 Napríklad menové indexy, sú kótované ale nedajú sa obchodovat. No predpokladám, že bežné menové páry ako EURUSD budú dostupné vždy keď sú kótované.

3 Ak má aos akýmkoľvek spôsobom zakázané alebo znemožnené obchodovať, či už otvoriť, zavrieť, posúvať... očakávam, že o tom bude informovať a umožní korektný ručný zásah

4 Nutne treba rozlišovať nielen od iných aosov ale aj zaregistrovať vlastné pozície, či je otvorená správna veľkosť a správny počet. 

5 Samozrejme, každý naprogramuje ako vie. Ak mám viac stratégie, viac párov... je absolútne nevyhnutné aby každý pracoval efektívne a nie čakal zbytočne dlho na ostatné.

6 To je jasné, kým prácne zistíme, že ste na danej sviečke spĺňa podmienky pre vstup, cena už bude niekde inde. A keďže hľadáme vstupy pri prudkej zmene volatility asi bude niekde ďalej od otváracej ceny. To, že market cenu musíme stále kontrolovať a stop cenu stačí zadať raz, je myslím veľký rozdiel.

7 To ovšem musí programátor vedieť aké rôzne neštandardné stavy môžu nastať a ktoré z nich trader pripúšťa ako povolené. Napríklad trader si určí, že neštandardným stavom je blížiaca sa správa, koniec dňa, koniec týždňa, otvorenie na blízkej cene atď

8 Ako som písal, ja práve toto pokladám za správne. Vylepšovať výsledky aosu optimalizovanym MM pokladám za chybné. Okrem toho MM optimalizovaný pre daný aos nemôže zohľadniť MM iných aosov a ručne otvorené pozície. Inak budeme meniť veľkosť pozícii ak aos pracuje ako jediný a inak ak je na jednom páre otvorených päť stratégií.

Rozoznávať dlhodobé súvislosti a nachádzať metódy ich využitia.
nuvacik
Veteran member
avatar
Příspěvky: 1959
Více informací o uživateli >>
Limit 22.07.2019 19:32

Určite by som pri extrémnej dynamike ako je trojnásobok priemernej zmeny nevstupovali na tomto extréme ale na limite keď došlo k začiatku extrémneho pohybu.

Rozoznávať dlhodobé súvislosti a nachádzať metódy ich využitia.
Andílek
Veteran member
avatar
Příspěvky: 1269
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Re: Nenadšení 22.07.2019 20:47
Odpověď na: nuvacik

1 Tak to je dosť neskoro, keď neni na maržu. Čo tak ukončiť aos pri nejakom drawdovne alebo pri volitelnej hodnote marže. Určite by som nedával MM ako súčasť aos. Dobrý aos musí spĺňať požadované parametre aj so stálou veľkosťou pozície a navyšovanie, či zníženie si zvolí trader podľa svojich predstáv. 

2 Napríklad menové indexy, sú kótované ale nedajú sa obchodovat. No predpokladám, že bežné menové páry ako EURUSD budú dostupné vždy keď sú kótované.

3 Ak má aos akýmkoľvek spôsobom zakázané alebo znemožnené obchodovať, či už otvoriť, zavrieť, posúvať... očakávam, že o tom bude informovať a umožní korektný ručný zásah

4 Nutne treba rozlišovať nielen od iných aosov ale aj zaregistrovať vlastné pozície, či je otvorená správna veľkosť a správny počet. 

5 Samozrejme, každý naprogramuje ako vie. Ak mám viac stratégie, viac párov... je absolútne nevyhnutné aby každý pracoval efektívne a nie čakal zbytočne dlho na ostatné.

6 To je jasné, kým prácne zistíme, že ste na danej sviečke spĺňa podmienky pre vstup, cena už bude niekde inde. A keďže hľadáme vstupy pri prudkej zmene volatility asi bude niekde ďalej od otváracej ceny. To, že market cenu musíme stále kontrolovať a stop cenu stačí zadať raz, je myslím veľký rozdiel.

7 To ovšem musí programátor vedieť aké rôzne neštandardné stavy môžu nastať a ktoré z nich trader pripúšťa ako povolené. Napríklad trader si určí, že neštandardným stavom je blížiaca sa správa, koniec dňa, koniec týždňa, otvorenie na blízkej cene atď

8 Ako som písal, ja práve toto pokladám za správne. Vylepšovať výsledky aosu optimalizovanym MM pokladám za chybné. Okrem toho MM optimalizovaný pre daný aos nemôže zohľadniť MM iných aosov a ručne otvorené pozície. Inak budeme meniť veľkosť pozícii ak aos pracuje ako jediný a inak ak je na jednom páre otvorených päť stratégií.

Jsem rád, že se alespoň s někým trochu shodnu laughing

1. Kontrola velikosti marže nemusí nutně znamenat nechat dojít účet zugrund. V dnešní době ESMA regulací se na limit marže můžete dostat při otevření pár obchodů a ty obchody vůbec nemusí být ztrátové. Samozřejmě souhlasím, že by se AOS měl možnost sám pohlídat a např. při dosažení určitého drawdownu nebo po určité sérii po sobě jdoucích ztrát apod. by se měl s upozorněním vypnout, ale to už nepovažuji za úplně běžnou a základní věc a takový "nedostatek" by mě nedonutil reagovat.

2. Nejen měnové indexy a komodity, ale u některých brokerů i běžné měnové páry se obvykle okolo New York Close nedají obchodovat.

3. Přesně

4. Ano

5. Ano

6. Ano. Navíc tento typ strategie je přesně takový ten typ strategie pro backtest. Při reálném obchodování by se choval (díky skluzům a roztaženým spreadům v době vyšší volatility úplně jinak (hůř).

7. Ano

8. Tady se neshodneme. Já osobně mám můj základ naprogramovaný tak, aby umožňoval používat fixní objem při testování (aby nedocházelo ke zkreslování), ale pro reálné obchodování téměř vždy používám určité procento z volných prostředků a zároveň nesmí překročit určité procento pro všechny současně otevřené obchody (z jiných strategií). Takže MM každé jednotlivé strategie zohledňuje nejen své vlastní obchody, ale i všechny (včetně ručně otevřených) otevřené obchody ostatních strategií.

Andílek
Veteran member
avatar
Příspěvky: 1269
Více informací o uživateli >>
Re: - 22.07.2019 20:54
Odpověď na: Fr4kur

Díky všem za názory. Co se týče toho kódu, tak ten je určený pouze k testovacím účelům (jak je psáno v prvním odstavci) a nemá to být určené jako funkční celek, ale pouze pro backtest myšlenky, takže proto ta absence magic numberu a kontroly errorů. Kód jsem přikládal spíš kdyby si to chtěl někdo otestovat, nebo přidat další podmínky. 

Ještě jednou se omlouvám, že jsem Vám to tak pohanil. Ale berte to tak, že se z následné diskuze můžete Vy nebo někdo jiný trochu poučit a objevit nové možnosti. Držím palce. A ano, připouštím, že Váš kód může být (s přivřeným okem) použit na hrubé otestování myšlenky. Já jsem jen měl obavu, aby nějaký místní dobrodruh tento kód neotestoval a poté, co mu to ukáže jakž takž výsledky v backtestu, tak aby to hned nenasadil na reálné obchodování.

Petr Kouba
Silver member
avatar
Příspěvky: 76
Více informací o uživateli >>
Re: Limit 23.07.2019 08:45
Odpověď na: nuvacik

Určite by som pri extrémnej dynamike ako je trojnásobok priemernej zmeny nevstupovali na tomto extréme ale na limite keď došlo k začiatku extrémneho pohybu.

Prosím Tě o rozvedení tohoto příspěvku, strašně moc mě to zajímá, jak by se to udělalo - vstup "na limite keď došlo k začiatku extrémneho pohybu". Prosím konkrétně a názorně třeba i s obrázkem jednoho obchodu této strategie vysvětlit, abychom to všichni pochopili :-)

Díky moc!

 

 

Od roku 2015 se věnuju na 100% už jen problematice AOS. Algotrading je jen hra s pravděpodobností, nic víc, nic míň. Tweetuju pod nickem @investor666666
nuvacik
Veteran member
avatar
Příspěvky: 1959
Více informací o uživateli >>
Re: Re: Limit 23.07.2019 14:54
Odpověď na: Petr Kouba

Prosím Tě o rozvedení tohoto příspěvku, strašně moc mě to zajímá, jak by se to udělalo - vstup "na limite keď došlo k začiatku extrémneho pohybu". Prosím konkrétně a názorně třeba i s obrázkem jednoho obchodu této strategie vysvětlit, abychom to všichni pochopili :-)

Díky moc!

 

 

Nemám teraz dostupné poznámky, no väčšinou po dynamickej reakcii nasleduje spätný pohyb. Čiže tvojou úlohou nebude nakupovať keď cena už prešla trojnásobok bežného pohybu ( napr 60 pips miesto 20) ale po takomto pohybe zadať limit a vstupovať na lepšej cene. A tiež by som dal pozor na čas, prečo sa obmedzovať iba začiatkom hodiny, keď dynamika môže vzniknut napr po sprave o 10:30. Až sa vrátim z dovolenky, skúsim k tomu pohľadať nejaké príklady.

Rozoznávať dlhodobé súvislosti a nachádzať metódy ich využitia.
Petr Kouba
Silver member
avatar
Příspěvky: 76
Více informací o uživateli >>
Re: Re: Re: Limit 23.07.2019 15:35
Odpověď na: nuvacik

Nemám teraz dostupné poznámky, no väčšinou po dynamickej reakcii nasleduje spätný pohyb. Čiže tvojou úlohou nebude nakupovať keď cena už prešla trojnásobok bežného pohybu ( napr 60 pips miesto 20) ale po takomto pohybe zadať limit a vstupovať na lepšej cene. A tiež by som dal pozor na čas, prečo sa obmedzovať iba začiatkom hodiny, keď dynamika môže vzniknut napr po sprave o 10:30. Až sa vrátim z dovolenky, skúsim k tomu pohľadať nejaké príklady.

Ok nemusíš cool

Mně je to jasné, jen že to bylo tak podivně popsané - vstup limitkou když došlo k začátku extrémního pohybu ... Tak daleko se cena asi většinou nevrátí, asi bych použil jen Fibo. Ani já nejsem příliš fanouškem vstupu za market.

  

    

Od roku 2015 se věnuju na 100% už jen problematice AOS. Algotrading je jen hra s pravděpodobností, nic víc, nic míň. Tweetuju pod nickem @investor666666
nuvacik
Veteran member
avatar
Příspěvky: 1959
Více informací o uživateli >>
Re: Re: Re: Re: Limit 23.07.2019 17:02
Odpověď na: Petr Kouba

Ok nemusíš cool

Mně je to jasné, jen že to bylo tak podivně popsané - vstup limitkou když došlo k začátku extrémního pohybu ... Tak daleko se cena asi většinou nevrátí, asi bych použil jen Fibo. Ani já nejsem příliš fanouškem vstupu za market.

  

    

Tam je zásadný rozdiel, tu uvedený popis udáva vstup za market ak je od začiatku hodiny veľký pohyb. Druhá možnosť je hneď na úvod zadať stop prikaz, ktorý bude hodinu (prípadne iný čas ak sledujeme iný časový rámec) platný. A čo ja navrhujem, že ak sa splní podmienka 1, teda v čase menšom ako je zadaný cena vykoná pohyb napríklad trojnásobok priemeru, až potom dáme limit. Či už na začiatku tohto pohybu alebo na nejaké fibo, na trendlinku, na dvoch úrovniach a pod. Samozrejme s časovým obmedzením platnosti.

Rozoznávať dlhodobé súvislosti a nachádzať metódy ich využitia.
Fr4kur
Silver member
avatar
Příspěvky: 81
Více informací o uživateli >>
Re: Re: - 23.07.2019 18:58
Odpověď na: Andílek

Ještě jednou se omlouvám, že jsem Vám to tak pohanil. Ale berte to tak, že se z následné diskuze můžete Vy nebo někdo jiný trochu poučit a objevit nové možnosti. Držím palce. A ano, připouštím, že Váš kód může být (s přivřeným okem) použit na hrubé otestování myšlenky. Já jsem jen měl obavu, aby nějaký místní dobrodruh tento kód neotestoval a poté, co mu to ukáže jakž takž výsledky v backtestu, tak aby to hned nenasadil na reálné obchodování.

V pohodě, určitě jsem rád i za kritiku. Konkrétně použití limitních příkazů už mě taky napadlo. Nevím jak moc by to mělo vliv při použití na H1, ale při použití na nižších TF (M1) bude skluz mít určitě zásadní vliv.

nuvacik
Veteran member
avatar
Příspěvky: 1959
Více informací o uživateli >>
ukážky ako sa môže hľadať vstup 29.07.2019 18:34

 

Obrázky nie sú moje, možno ich niekto na internete nájde a k nim aj nejaký pokec. NIkdy neobchoduj proti smeru takejto dynamiky.

 

Rozoznávať dlhodobé súvislosti a nachádzať metódy ich využitia.

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
Investingfox Nastroje