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

Zdravím Vás všechny, já jsem v podstatě LAMA a nerozumím ničemu z toho co tady probíráte. Potřeboval bych poradit, už 5 dní se mi na grafu zobrazuje obchod a nejde ukončit at delám co dělám tak to vysí v grafu a mění se to jen následujícím příkazem. Je ot nekonečný obchod. Poradíte mi prosím jak to ukončit?
Píše mi to V CONTROL CENTRU:INITIALIZED,
ZKOUŠEL JSEM V NASTAVENÍ REPAIR DATA, V CHARTRADERU VŠECHNY PŘÍKAZY A STÁLE NIC.
Můžete mi prosím poradit jak v SIM verzi opavit takový nedostatek.
Děkuji a odivuji vaše schopnosti:-)
Radek

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

ahojte, mám dotaz. Pokusil jsem si wizardem nastavit jednoduchou strategii na uzavření gapu. (viz foto) to, že strategie při backtestu uzavírá až na open další svíčky jsem pochopil, ale co nechápu je chyba, která se mi vykreslila u jednoho Open v grafu. Fotku přikládám a přikládám tedy i wizard pro případ, že mi něco uteklo. Mám tedy dvě otázky: 1. lze testovat i na tickových datech a minimalizovat tak chybu vzniklou při výstupu? 2. proč mi obchod na přiloženém obrázku neuzavřel? .......a když už tu píši mám ještě jeden dotaz, který s problémem neouvisí: Bylo zde jasně řečeno, že nelze kombinovat diskreční obchodování a strategie. Rozumím. 3) Co, ale když vstoupím do obchodu díky strategii v NT a pak do SL a PT vesele strkám na platformě IB, případně vystoupím za market??? 4) Předpokládám, že strategie běží na mém počítači, kde je SL v případě výpadku spojení, mého počítače - tedy výpadku na mém konci? Díky za odpovědi, budete-li mít trpělivost a přeji Dobré obchody, P.

21246

21247

Link to comment
Sdílet pomocí služby

PetrPavel:

Dobrý den,

no já vidím chybu v tom, že výstupní podmínka je stanovena na překřížení Low pod Close předešlého dne. Již při vstupu do obchodu se Low nacházelo pod tímto Close a do uzavření aktuálního dne k tomuto překřížení směrem dolů již nenastalo, proto výstupní signál nebyl aktivován.

Ohledně 1) testovat na tickových datech jde, stačí při backtestování nastavit v DataSeries pod atributem Type.

K 3) Je to rozhodně nestandardní chování, od kterého bych očekával nestandardní odezvu :o) Asi by bylo vhodnější si sám doprogramovat tuto vlastnost do automatizované strategie, aby šlo SL i PT posouvat přímo ze samotného grafu v NinjaTraderu.

4) To záleží na brokerovi, jestli podporuje StopLoss na své straně. Nedávno tu o tom byl dokonce článek:
www.financnik.cz/komodity/fin_home/oco-vazba.html

S pozdravem
Dalibor

Link to comment
Sdílet pomocí služby

delf,
děkuji moc za odezvu.

Pokud jde o umístění SL (výše bod 4), zmíněný článek jsem samozřejmě četl. Standartně mám SL u brokera (IB), jen jsem nevěděl jak to funguje při strategii. Předpokládám, že klasické výstupy např. zmíněný kros indikátoru, jsou umístěny u mne, kdežto SL, který zadávám v posledním okně wizardu se přenáší jako klasický SL k brookerovi???
Zatím se nechystám na AOS jen mě problematika zajímá. Důležitější je pro mne automatický backtest.

s tím překřížením to moc nerozumím, v jiné dny se to vykresluje na grafu správně. Mám to samozřejmě na obě strany, zde jen uvádím příklad s low. Kdy je vstup

když čas = 15:30
a současně
dnešníOpen je větší než Close na indikátoru PriorDayOHLC
pak jdi Short

z toho vyplývá, že denní graf se nachází "nad Close of prior day" a výstupní signál jsem tedy dal na okamžik kdy Low úsečky překříží přes Close indikátoru PriorDayOHLC.

Tak to aspoň chápu já a na grafu je vidět, že k překřížení CloseOPD došlo směrem zhora dokonce 6x než se obchod uzavřel při ukončení seance. (konkrétně jde o 1.,2., a 4 svíčku od vstupu, dále pak na konci ta velká červená a 9. a 4. od konce)

Zdůrazňuji, na jiných obchodech se vše chová standartně - samozřejmě s posunem výstupu na open další svíčky.

Dobré obchody,
P.

Link to comment
Sdílet pomocí služby

delf, ještě jednou děkuji za ochotu a přikládám snímky z náhodně vybraných dní, takhle nějak by to mělo fungovat. Proto mne zaráží obchod, který selhal a který uvádím výše. Pokud by bylo třeba otevřít kod, tak ho sem rád dám i když myslím, že pro programátora je to asi triviální. TimeFrame je použito různé jen pro ukázku, smozřejmě aby měl backtest smysl je třeba u Ninji použít aspoň v tomto případě co nejnižší TF (nejraději to tickové) aby došlo k výstupu na lince indikátoru. děkuji za trpělivost na programování jsem tupý, Dobré obchody, P.

21248

Link to comment
Sdílet pomocí služby

PetrPavel:

Myslím že rozumím tomu, co máš na mysli s tím překřížením. Jako CrossBelow je považováno, že předchozí Low je výše než PriorDayOHLC.Close a aktuální Low je níže než PriorDayOHLC.Close. Tohle ve tvém neúspěšném grafu však nenastalo. Překřížení nastalo pouze před samotným otevřením pozice, cca v těch 15:15.

To co ty považuješ jako překřížení je nejspíš podmínka, že samotná svíčka je křížená s PriorDayOHLC.Close, to potom ale není CrossBelow :-) Zkus si představit pouze spojnici všech Low hodnot. Její překřížení se zde vyhodnocuje jako CrossBelow. Jestli došlo k překřížení ceny v rámci samostatné svíčky se již nevyhodnocuje. To by jsi musel potom jak říkáš pracovat s Tickovými daty.

Ohledně StopLossu. Samotný StopLoss se odesílá na stranu brokera, takže je (v lepším případě) vyhodnocován na jeho straně. A výstupní podmínka je vyhodnocována u tebe lokálně (v tomto případě překřížení Low s PriorDayOHLC.Close). Takže je to tak, jak říkáš.

Dalibor

Link to comment
Sdílet pomocí služby

delf,
perfektní odpověď, vysvětlils to tak, že tomu konečně rozumím. Je jasně vidět, že nemyslím jako programátor (první počítač jsem získal až po třicítce, tak tenhle vlak už ne doženu )
Na tickových datech to samozřejmě zkusím. Není, ale i jiná možnost jak napsat, aby skutečně došlo k reakci na překřížení indikátoru svíčkou a to na jakémkoli timeframe?

díky,P

Link to comment
Sdílet pomocí služby

PetrPavel:

Jsem rád že jsem byl nápomocen. No žádný učený z nebe nespadl, snaha poznávat a objevovat nové se zde cení daleko více :-).

Pokud to chceš přesto nějak vyřešit, tak máš dvě možnosti.

1) Místo překřížení Low používat překřížení Close vzájemně s deaktivací CalculateOnBarClose. To znamená že při každém novém ticku se ti přepočte aktuální svíčka, takže ve chvíli kdy nejčerstvější Close "tickne" pod PriorDayOHLC.Close dojde k uzavření obchodu. Můžeš tedy používat např. 5-minutový timeframe. Je ale stále potřeba mít ticková data.

2) Upravit podmínku tak, aby vyhodnocovala tvůj požadavek. Pokud vyhledáváš takové svíčky, kde Open se nachází nad Close předešlého dne a v průběhu svíčky došlo k překřížení dolů, tak se jedná o podmínku:
Open[0] > PriorDayOHLC().PriorClose[0] && Low[0] Tato podmínka v jednoduchosti říká, že svíčka otevřela nad Close předešlého dne a někdy v průběhu svíčky došlo k překřížení dolů.

Snad jsem to podal srozumitelně :o)
Dalibor

Link to comment
Sdílet pomocí služby

  • 3 týdny později...

Ahoj,
neporadil by mi někdo co dělám špatně? :-(
Chci naprogramovat aby SL po dosažení Profitu 10 ticků se posunul na BE.
Mám tam tohle a nechodí ...

if(Position.GetProfitLoss(Close[0], PerformanceUnit.Points) >= (10*TickSize))
{
SetStopLoss(CalculationMode.Ticks,0);
}

Díky za radu začínám.
Dušan :S

Link to comment
Sdílet pomocí služby

  • 4 týdny později...

goody:

pokud chceš ať se počet akcií vyvíjí podle toho jak se vyvíjí stav účtu, tak spíše pochybuju že tohle půjde přes wizard nějak rozumně naklikat. Možná že ti nějak pomůže si pohrávat v okně backtestu v Order Properties s hodnotou Set order quantity. Ale jestli chceš do své strategie doimplementovat money management, tak budeš muset do kódu nejspíše zasáhnout ručně.

Dalibor

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...