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

Doporučené příspěvky

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

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Odesláno

to [bold]Georg3[/bold]
no tak indikator svuj vypocet vyhodnoti vtedy, ked sa uzavre bar. Preotze jeho hlavna metoda OnBarUpdate(){...} sa zavola vzdy, ked graf vytvori novy bar. LIVE ani REPLAY neviem co je, som to este nepouzival,..
sak co s tym potrebujes vlastne??

Odesláno

>> Já si sice myslím, že i v těch strategiích by se
>> nějak mohlo dat kreslit,
>
>mas pravdu, jde to, ale ma to urcita omezeni (dale jsem nezkoumal) viz:
>www.ninjatrader-support2.com/vb/showthread.php?t=6651

no tak je to způsob, jak může strategie vykreslit Plot do Chartu, ale když jsem koukal ty kódy tak to je vlastně obyčejný indikátor, který má jako jednu z metod getPlot() ve které vrací svůj vlastní plot. Pak jenom importuješ tento indikátor do strategie a nastavuješ v něm hodnotu value toho Plotu, ktery ti dává ten indikátor. (no doufám že je to srozumitelné)
Normálně to funguje ale ne pro multi time framovové strategie.

Odesláno

to programmer

pod LIVE som myslel ked sa ti vykresluju grafi a indikatory v reale.
a REPLAY je ked si v Ninje pustis prehravanie grafov zo starsich dat.

pises
Ano, ale ked je CALCULATE ON BAR CLOSE na FALSE tak nie. vtedy indikator svuj vypocet upresni z kazdym tickom a nie az na close. takze napr ICC(20)[0] sa za kazdym tickom trosku zmeni.

Ide mi o to ze napr. "V" formacia sa na ICC vytvori uz v polke vykreslovania baru a vtedy chcem zareagovat, nie cakat az na close.
No a pri backteste funkcia CALCULATE ON BAR CLOSE na FALSE nefunguje, len v realy.

Georg3

Odesláno

programmer, přestaňte prosím masírovat fórum svými příspěvky s kontaktem.

Než odešlete příspěvek, tak souhlasíte s ČERVENĚ napsanou větou "Neuvádějte do příspěvků své e-maily, webové stránky ani jiné kontakty - tyto příspěvky nejsou schvalovány", která je myslím dostatečně srozumitelná.

Pokud se chcete diskuze na těchto stránkách účastnit, tak si nejprve přečtětě pravidla diskuze:
www.financnik.cz/art/zkusenosti/pravidla-diskuze.html

Pokud s pravidly nesouhlasíte, tak zde prosím nediskutujte.

Petr

Odesláno

to Programmer

Díky za informaci. Jak jsem již psal, vnímám tu skutečnost, že zobrazování dvou různých tf v RB je programátorský oříšek, možná neřešitelný problém. Nejde tady o strategii, vstupy či výstupy. EMY slouží jako silné s/r úrovně, zejména na vyšším tf...např.RB24. Je to komfortní záležitost, která měla eliminovat otevření dalších grafů a sledovat více obrazovek. Takže zřejmě neúměrná práce vůči získanému aktivu.
V každém případě ještě jednou díky

Odesláno

to [bold]Georg3[/bold]

ano, ked si nastavis atribut calculateOnBarClose = false tak ti to na realy bude fungovat, pretoze real este nevie, ako sa ten bar skonci. Takze bar sa zacne prvym tickom, ale to je zatial jedin informacia o nom. Ale ty by si ju rad vedel, tak sa vytvori bar, ktoreho close cena je prave ten prvy tick. Potom pride dalsi tick. A uzivatel by bol zasa celkom rad, keby o nom vedel :) takze sa ten bar chirurgicky otvori, natrepe sa donho novy tick a potom sa bar zasije. A tvari sa uz ako hotovy bar, ktory ma aj svoju close cenu (ktorou bol posledny tick), napriek tomu, ze tvoj TimeFrame je Tick50. Nemoze sa cakat polhodiny na 50tickov, ten bar sa bude vytvarat a dokreslovat postupne, avsak, aby sa s nim dalo pracovat, tak aj pocas jeho vyvoja, ho po kazdej dalsej zmene Ninja chape ako plne funkcny bar.
Tak to vyslo z toho, co som vypozoroval.
Sposob ako ale toto vstupovanie do obchodu vyriesit uz pocas vyvoja baru a to v historickych datach, teraz hladam aj ja, pretoze koncept NinjaTraderu je taky, ze ak mas historicke data a skusis ich zobrazit ako timeframe Tick5, tak jeden bar je jeden nedelitelny objekt, ktory si chcel. Tak preco vstupovat do baru? ...takze to je myslim si celkom velka chyba v Ninje...

Odesláno

to [bold]Georg3[/bold]
ano už chápem o čo ti ide, aj ja som momentálne narazil na tento problém pri backtestovaní a zdá sa, že je žialbohu neriešitelný. Totižto pri LIVE alebo REPLAY ninjatrader pracuje takto:
Máš napr. 5tickový timeframe. Vytvára sa prvý bar. Príde prvý tick. Aby ti mal Ninja čo ponúknuť, tak vytvorí bar, ktorého "náplň" je zatiaľ len ten jeden tick. To je zároveň teda aj jeho Close cena. Príde další tick. Bar sa otvorí a nasype sa doň ten druhý tick a zasa sa zatvorí. Takže close cena baru je teraz ten druhý tick. Príde tick tretí tak sa bar znova otvorí, natrepe sa doň nový tick a bar sa zasa zatvorí a to až do piateho ticku, po ktorom sa zatvorí definitívne a vytvorí sa tak funkčný objekt Bar. Funkčným objektom Bar bol sídce už aj v dobe svojho vývoja, ale tam ešte nesplňoval podmienku TimeFrame a to, že musí byť zložený z 5 tickov. Ale ináč sa s ním dalo pracovať ako s každým iným objektom typu Bar.
Bar sa musel takto vytvárať postupne, pretože Ninja nevie, ako bude v konečnom dosledku vyzerať ten bar (aké prídu ceny, pretože to je live,..nevidí do budúcna :) bohužial) takže ti musí zatiaľ zostrojiť tento nekompletný bar, aby ti mohol ponúkať aktuálne informácie.

V historyckých dátach to je už ale iné. Tu sa vychádza z toho, že program pozná ako to dopadlo, keď sa 1.1.2007 začala vyvýjať cena 5tickového baru, pretože má všetky informácie až do 31.1.2007
Takže si prečíta všetky informácie, zostrojí Bary a tie ti potom ponúkne a ty s nimi možeš pracovať. Za každým jedným novým, ktorý ti ponúkne, sa zavolá metóda OnBarUpdate() a potom si Ninja načíta ďalších 5 tickov, vytvorí kompletný objekt Bar, nakreslí ti ho na obrazovku a zasa zavolá metódu OnBarUpdate()

Z tohoto konceptu je jasné, že na historyckých datach intrabarové operácie nebudu fungovat.
Je to celkom velká medzera-chyba pre NinjaTrader, ale bohužial (a aj mna to mrzí) je tam a nič sa nedá robiť.
Možno skúsiť taký TradeStation.

Odesláno

to programmer

Tajne som cakal ze je to len moja neznalost v programovani a ze nejako to predsa pojde vyriesit.
Bohuzial si mi to potvrdil tiez, som z toho sklamany.
Takato trapna chyba, ktora vlastne znemozni pouzivat zmysluplne backtest, teraz ked som sa uz naucil v tom slusne programovat vsetko co som potreboval. Do ........
Asi im tam napisem. Mozno to budu riesit vo verzii 7.0.
No a ak nie mozem sa ucit nejaky iny program na backtest. Ale ako zistit, ktory je ten spravny ?

Diky moc za radi, a ze si tomu tiez venoval cas.
Georg3

P.S. este ma napadlo zohnat si data do replay a pustat to na plnu rychlost (500x), ale to je take riesenie (td)

Odesláno

Programmer: Vsiml jsem si tve odpovedi az ted. Takze jak to myslim. Sleduji volume. Po otevreni je vetsinou jeho hodnota extremni. Tzn. az 4000 kontraktu v jedne minute. Tim, jak se osa y indikatoroveho okna dynamicky meni, dochazi k tomu, ze bezne bary, okolo 500 az 1000 kontraktu jsou zbytecne male. Ja bych potreboval, aby se dal nastavit nejaky fixni horni limit osy y.. Napr. na 2000 kontraktu. Doufam, ze jsem to uz vysvetlil lepe. Diky za tvuj cas!

Odesláno

to Pavel K.:
s tím Vám bohužel neumím poradit,.. já se zabývám programováním strategií a indikátorů v NinjaScriptu, abych mohl pro své zákazníky do NinjaTraderu implementovat různé obchodní strategie pro jejich bezpečné a rychlé testování, optimalozaci anebo automatizované obchodování, takže nějak moc dopodrobna jsem upravování detailních vlastností nějakého zobrazování nějakých cen v Chartu v NinjaTraderu vůbec nezkoumal, ale myslím, že by jste to mohli najít někde ve vlastnostech, nastavení zobrazování atd. anebo zkuste mrknout do manuálu..


×
×
  • Vytvořit...