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

Diskuze k článku: Videotutoriál: NinjaTrader a vlastní automatizovaná obchodní strategie


Doporučené příspěvky

  • 2 týdny později...
  • Odpovědí 122
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

mal by som na odbornikou jednu otazku ohladom ninji a programovania v nej.

povedzme ze by som chcel naprogramovat uplne jednoduchy script , ktory mi v urcitu hodinu vystavy objednavky na obe strany povedzme 10 tickov od sucasneho marketu. s tym ze by to bol entry s dvoma objemami ( 2 pozicie) . jedna by sla ako runner a jedna ako penvy target.

a teraz by ma zaujimalo:

1) ci je mozne nieco podobne naprogramovat . a manazovat. mam totiz problem ze ked vystavim do jednej strany objednavku s ATM strategiou, do druhej strany mi taku istu zo strategiou nedovoli. vzdy musim rucne nastavovat jeden stop a jeden limit proti sebe. vzdy bez strategie.

2) je mozne uz rozbehnute pozicie manazovat? povedyme odoberat a pridavat objemy k uz existujucim objednavkam?

opat mam skusenost ze s ATM strategiami to nejde. len s klasickymi nepreviazanymi objednavkami

chcem proste greybox. ktorz bz som mohol spustit na 10 trhoch a manazovat pozicie. rucne stiham otvarat maximalne 2-3 trhy. dost by mi to ulahcilo pracu. samozrejme nechcem aby to niekto urobil. chcem len vediet ci je to mozne v ninje napisat

dakujem

Link to comment
Sdílet pomocí služby

  • 5 months later...

Ahoj all,

uměl by někdo poradit, mám automatizovanou strategii, např. protnutí 2xEMA, potřebuji aby například po 3 obchodech za den přestala obchodovat a zapnula se automatickynásledující den. Jedno řešení je samozřejmě zapínat a vypínat manuálně, ale to nezle použít při automatizovaném backtestu na historických datech.

děkuji

Link to comment
Sdílet pomocí služby

PetrJasnky: jiste, ze to jde.

private int priorTradesCount = 0;

protected override void OnBarUpdate()
{
// At the start of a new session
if (Bars.FirstBarOfSession)
{
// Store the strategy's prior cumulated realized profit and number of trades
priorTradesCount = Performance.AllTrades.Count;
/* NOTE: Using .AllTrades will include both historical virtual trades as well as real-time trades.
If you want to only count profits from real-time trades please use .RealtimeTrades. */
}
/* Prevents further trading if 3 trades have already been made in this session. */
if ( Performance.AllTrades.Count - priorTradesCount > 3)
{
// Returns out of the OnBarUpdate() method. This prevents any further evaluation of trade logic in the OnBarUpdate() method.
return;
}
// ... your strategy ...
}

Link to comment
Sdílet pomocí služby

Dá se použít ATM, ale ve strategii je samozřejmě těch možností mnohem více než ve stupidním ATM.
Nicméně na supportu je nějaký příklad, jak ve strategii použít přímo ATM.

Také je ale možné v OnBarUpdate nebo v OnMarketData zjišťovat aktuální výši otevřeného profitu a podle toho provádět posuny SL jak je libo. Nejprve jsem používal stupidní EnterLong/Short a nastavení SetStopLoss, resp. totéž pro trailing, ale pak jsem zcela přešel na to, čemu říkají "advanced trade management". Tedy zjišťuješ si IOrder a IExecute při vstupech do obchodů a reaguješ na vyvolané události právě v OnOrderUpdate, OnExecute apod. Není to nijak složité a v podstatě to dost přesně kopíruje způsob, jakým bys ten obchod řídil ručně. Můžeš kromě toho ošetřit všechny možné nestandardní stavy apod.

Máš snad nápad na nějaký zajímavý automat? 2x protnutí EMA jsou strategie celkem na nic ... Dají se sice vyladit přes určité obchodní hodiny a dny v týdnu, ale ani tak nic moc ...

Link to comment
Sdílet pomocí služby

  • 2 týdny později...
  • 10 months later...

zdravim, mam problem so strategy builderom. Snazim sa vytvorit podmienku, ze ked Williams%R 14 prekroci hodnotu 80 zdola nahor, tak mi analyzer zakresli trebars sipku. Napisal som to tak ako Petr ukazoval v tutoriale - W%R14 crossabove numeric value 80, ale ked to spustim tak nic, ani tuk. Pritom napr. prekrizenie EMA mi vyznaci v pohode. Kde robim chybu?

Link to comment
Sdílet pomocí služby

  • 1 month later...

×
×
  • Vytvořit...