Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

Ninja Trader - programování (strategie)


Jezinka

Doporučené příspěvky

Dobrý den,
protože jsem nikde na foru nenašel o tak skvělém programu jako je NT vlákno o programování, založil jsem jej zde. Jistě většina z vás na toto již narazila, jak programovat strategie pro backtesting v NT. Já se o to pokouším nyní a není mi jasné, jak vytvořit složitější kontrolu grafu programem.
Konkrtétně třeba aby program rozpoznal, kdy dojde k vytvoření patternu V. Nevím jak přesně definovat hodnoty. Řekněme že podmínka na grafu CCI 14 je splněna, tak aby program vyhodnotil podmínku na CCI 50, která by měla vypadat asi nějak takto: Pokud je nyní nějaká hodnota, prověř, zda předchozí bar byla hodonota nižší a ještě jeden bar opět vyšší. Tím by měl vzniknout obraze V. Pak ještě aby script zkontroloval, zda tyto hodnoty nepřekročili jistou mez, kterou si definuji v závislosti na patternu.

Máte někdo prosím s tímto zkušenost a lze toto vytvořit v NT? Případně má li někdo toto vytvořeno, je možné script někam umístit na ukázku a vyzkoušení?

Díky Jirka

Link to comment
Sdílet pomocí služby

  • Odpovědí 718
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Jezinka:
Myslíš takto nějak? Pattern V pro long:

if (CCI(50)[1] > 0 //pata véčka musí být nad 0
&& CCI(50)[1] && CCI(50)[2] > CCI(50)[1] //levá nožička musí být větší než pata V
&& CCI(50)[0] > CCI(50)[1]) //pravá nožička musí být větší než pata V

Jinak patterny FinWinu jsem programoval jako strategii i jako indikátor (kód je podobný), odkazy ke stažení jsou ve vlákně "FinWin den po dni".

Link to comment
Sdílet pomocí služby

To Masaryk
No výborně:-) Já to hledal v sekci NT a nic jsem nikde nenašel. Je to ono, ano patterny Finwinu se pokouším dostat do NT. Podařilo se mi pouze protitrendové. Jen mě štve že vždy ukazují o jeden bar pozadu a první bar je největší. respektive šipka se zakreslí na správném baru, ale vždy až když je ukončen. S tim asi ale nejde nic dělat, bejt o jeden bar napřed že? mrknu jinak do vlíkna a snad najdu to co hledám. Díky moc.
Jirka

Link to comment
Sdílet pomocí služby

To Masaryk,
tak jsem si to stáhnul a už to zkuším. Protože mam před seou ticková data za 3 měsíce a je to docela na dlouho, chci se tě zeptat, máš zkušenost ještě ve strategii s doprogramováním na automatické vstupy a výstupy? Nebo nevíš jak funguje automatickej tester v NT? Jinak si to asi prjdu na grafech po barech. I tak díky Jirka

Link to comment
Sdílet pomocí služby

Tak ještš jednou. Konečně testuji a líbí se mi právě to, že vstupy jsou vykreslovány na začátku, již při vytvoření signálu. Vím, že nemusí být platný, ale většinou nejsou platné signály ani opožděné a v této fázi zobrazení je aspoň šance nabrat jeden bar, kdyby byl falešnej. Každopádně uvidíme, jak to bude na živejch datech:-) Nicméně se mi to hodně líbí. Zatím testuji pouze ten, který je jako verze 2 v grafu jedna jako indikátor.
Díky Jirka

Link to comment
Sdílet pomocí služby

Tak to byl omyl Ty šipky se vykreslí dřív, pokud je graf posunut v čase zpět a jelikož jsem to měl na hraně, neviděl jsem, že šipky už tam jsou bez grafu, ale schované. Pokud se přehrává graf normálně od začátku a nebyl načten celej jako zobrazení, pak to zobrazí šipku zpětně, jako u všech. A já se těšil, jak je to úžasně propočítanej indikátor:-)))

Jirka

Link to comment
Sdílet pomocí služby

chavito:
Ano, toto vlákno je ve VIP sekci. Nevím, jestli by uvedení kódu detailně definujícího patterny obchodního systému FinWin volně ke stažení nebyl porušením nějakých autorských práv nebo tak něco, tak jsem jej raději umístil tam. Možná jsem ale zbytečně paranoidní, každopádně by to byl spíš dotaz na Tomáše a Petra.

Link to comment
Sdílet pomocí služby

Ahoj,
nevíte někdo jak v NT používat výpočet MAE a MFE když použijete strategy analizer? Snažím se na to přijít abych si automaticky hrubě otestoval spoustu dat na několika TF a mohl jsem se odrazit od nějakého MAE a MFE. Pokud si již někdo s tím více hrál a porozuměl tomuto testování, prosím ozvěte se.
Díky Jirka

Link to comment
Sdílet pomocí služby

  • 2 months later...

Bulltip: v okamžiku, kdy se na úsečce vytvoří close, tak už je ta úsečka historie. V historii obchodovat nemůžeš. Takže tvé přání vidím dost jako nereálné.
Jako možnost, jak to obejít, vidím tento koncept (jestli to fungovat bude fakt nevím) - vypneš si calculateOnBarClose. Tím se dostaneš k tomu, že při každém update úsečky (pohyb o tick) si zkontroluješ aktuální čas úsečky a pokud je např. 2 sekundy do konce úsečky provedeš vstup - samozřejmě takto na klasickém timeframe. Na volume bys mohl použít indikátor měřící počet zobchodovaných kontrattů a vstoupit o kontrakt dříve.
Jasně že v ani jednom případě nebudeš vstupovat přesně na close, můžeš to ale používat v rámci simulace slippage a hlavně budeš vstupovat na té úsečce, na které chceš.
K čemu to vlastně potřebuješ? V reálu stejně nikdy na close nedokážeš vstoupit, pouze více či méně v té chvíli klikneš a stejně se to exekuuje na open a později....

Link to comment
Sdílet pomocí služby

maitreja:je mi jasný, že přesně na close nevstoupím, ale NT mi v backtestu ukazuje vstup na jedné úsečce kterou samozřejmě potřebuje mít celou vykreslenou aby se splnily mnou zadané podmínky, to chápu. Myslel jsem, že by mohlo jít vsoupit na close úsečky, v momentě kdy už program ví, že je vše splněno, ale asi je to blbost. V tom případě vstoupím na open další.
Ale jsem trochu blbej, když mu řeknu např. aby vstoupil do dlouhé pozice když je close>close předchozí úsečky tak vstoupí, když ale je podmínka splněna dál a dál tak vstoupí až na poslední úsečku která neodpovídá podmínce, tzn. že pětkrát je close větší a program vstoupí do pozice až na šesté úsečce a já nevím jak to mám naprogramovat aby vstoupil už na druhé...
Jirka

Link to comment
Sdílet pomocí služby

Měl bych otázku k programování strategií v NJ. Naprogramovat patterny pro FinWin není zas takový problém, ale nevím si rady s dvěmi věcmi
1. jak naprogramovat k této strategii výstupy podle Mplaye 1-2-3 ( pravidla znám, .... ale převést je do progr. jazyka :-) )
2. jak naprogramovat dynamický stop loss závislý na ATR ( třeba sl=2xATR při vstupu )

Jestli toto už někdo řešil, přivítal bych kód nebo postup.
Díky.

Link to comment
Sdílet pomocí služby

Mplay výstup - dvě CCI50 proti mě, výstupní svíčka je reverzní řeším takhle :

if (CCI(SlowCCI)[0] && CCI(SlowCCI)[1] && Close[0] {
ExitLong("123vystup", "");
}

// Condition set 10
if (CCI(SlowCCI)[0] > CCI(SlowCCI)[1]
&& CCI(SlowCCI)[1] > CCI(SlowCCI)[2]
&& Close[0] > Close[1])
{
ExitShort("123vystup", "");
}


CCI50 je zde SlowCCI.

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...