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

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

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Tak tu je zdroják ZLR + MPlay Exit + moja definícia trendu (dá sa dovtípiť ;) )

www.subory.sk/download/224026/ZLR.cs
Skopírovať do:
My Documents\NinjaTrader 6.5\bin\Custom\Strategy\

Skompilovať:
File -> New -> Strategy Analyzer -> Strategies (vľavo rozbaliť ponuku) -> ZLR (2x klik) -> Compile (horné menu)
a môže sa backtestovať.

Link to comment
Sdílet pomocí služby

  • 2 týdny později...

Dobrý den.
Poradí mi někdo?
Vytvářím si vlastní indikátor a potřeboval bych určit trend. Podle trendu se mi mění pozadí indikátoru, zatím to mám vyřešeno takto:

if(colorBackground)
if(Close[0] > EMA(204)[0])//CLOSE cena se nachází nad EMA204
{
BackColor = Color.LightCyan;
}
if(Close[0] {
BackColor = Color.MistyRose;
}

Lépe by mi vyhovalo určit hlavní trend podle Dr. Eldera. Představoval bych si to asi takto:

[bold] Komentáře Libice k TSS[/bold]
[ital] Hlavní trend je ideální určit na grafu, který je o stupeň výše než časově rozmezí, které obchoduji.
Konkrétně pro určení hlavního trendu používám 5× vyšší timeframe než můj hlavní obchodní timeframe.
Tj. pro určení hlavního trendu jsem používal, tak jak bylo Dr. Elderem popsáno,
indikátor MACD Histogram s nastavením 12, 26, 9 (standard). Na indikátoru jsem
hledal stav posledních dvou svíček. Pokud jsou svíčky nad 0 a poslední svíčka je
níže než předchozí, jedná se o bear trend a tedy můj hlavní trend je BEAR. Pokud
jsou svíčky nad 0 a poslední svíčka je výše než předposlední, pak je mým hlavním
trendem BULL trend. Jistě nemusím dále vysvětlovat princip určení trendu, pokud
jsou svíčky pod 0.[/ital]

Ale abych nemusel přepínat na vyšší timeframe potřeboval bych do indikátoru zabudovat přepínání
timeframe pro MACD indikátor. Asi nějak takto:

if(colorBackground)
if(MACD(12, 26, 9).Diff[0] > MACD(12, 26, 9).Diff[1])
{
BackColor = Color.LightCyan;
}
if(MACD(12, 26, 9).Diff[0] {
BackColor = Color.MistyRose;
}

Plus přepínání timeframe pro MACD.

Doufám, že to někdo pochopí.
Zatím dík

Link to comment
Sdílet pomocí služby

Ahojte,

Som zaciatocnik , a poprosil by som o nasledovnu pomoc. Chcel by som sa venovat testovaniu stradegii na offline datach, ale problem je ten ze tieto data mam vo formate CSV (data dokonca nie su oddelene ciarkou ale medzerou tabulatorom).
Snazil som sa o to to importnut do Ninja tradera ale neuspesne, mate na to nejaky postup, pripadne konvertor aby to NINJA TRADER akceptoval?

Diky moc za odpoved

Link to comment
Sdílet pomocí služby

  • 2 týdny později...

Zdravim,

Tiez by som sa chcel nieco spytat. Nie som expert na programovanie a ani na backtestovanie, ale moc by ma zaujimala jedna vec. Je mozne aby AOS (najskor testovacia strategia) v NT alebo v inom pograme, mohol pracovat napr. takto:

jeden graf napr. rage bar, urcoval vstupne signaly ( WinFinu :-), druhy graf - len ATR napr. TF2 urcoval vypoctom prave nasobkom ATR PT, SL, BE, posun PT a SL a to najzlozitejsie cely system by pracoval v niekolkych modoch. Tieto nemam zatial nejako urcene, ale slo by napr. o tri mody urcovane z najvacsieho TF napr. 15 az 60 min. Tu by som chcel pouzit trendove linky, teda na urcenie skoncenia niekolko dnoveho (tyzdnoveho) trendu a zaciatok korekcie predchadzajuceho trendu, teda tiez pouzitie druheho modu pre urcenie PT a SL,... Treti mod by mohol byt ak by sa niekolko dni obchodovalo v nejakom viacejmenej vodorovnom cenovom kanali. Tu sa moze vyuzit i formujuci sa trojuholnik, alebo nejaka ina netrendova formacia.
Vdaka za mozne odpovede
Ivan
Link to comment
Sdílet pomocí služby

Zdravim vsetkych Ninja traderov

Prosim vas o radu kde robim chybu.
Mam strategiu - Multi-Time Frame, bere do uvahy tick, 3 min a 15 min time frame.
Ako back test to funguje ale ked to pustim Live
vsetky procedury sa mi vykonaju pri kazdom ticku. Teda aj to co sa ma spravit raz za 15 minut sa vykona kazdy tick.
Neviem si s tym rady a som uz z toho zufaly, v Helpe som sa o tom nedopatral.
Tu je zjednodusena kostra programu.

protected override void Initialize()
{
Add(PeriodType.Minute, 3); // definicia bars array
Add(PeriodType.Minute, 15);
CalculateOnBarClose = false; //ani s True to nejde
}

protected override void OnBarUpdate()
{
if (BarsInProgress == 0) // Tick bars
{ toto sa ma vykovat kazdy tick }
if (BarsInProgress == 1 ) // 3 min bars
{ toto sa ma vykovat kazde 3 min. }
if (BarsInProgress == 2 ) // 15 min bars
{ toto sa ma vykovat kazdych 15 min. }
}

Procedury v kazdej podmienke sa aj tak vykonaju kazdym Tickom.
Ak mi vie nejaky profik poradit kde je pes zakopany, velmi pekne prosim o pomoc
dik
Georg3

Link to comment
Sdílet pomocí služby

V Auguste 2008 zalozil Jezinka toto vlákno s prosbou o pomoc pri programovaní paternov FinWin-u.
Martinek to definoval nasledovne - ako strategiu aj ako indikator - odkaz k stiahnutiu vo vlakne pre VIP "FinWin den pod ni".
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

Absolvoval som kurz Zaklady uspesneho obchodovani na komoditnich trzich ale tento ma zrejme neopravnuje na vstup do VIP klubu ( som z SK a Praha je predsa len trocha dalej... :S
Pokial je FinWin chraneny kopyrajtom, je mozne naprogramovanie uvedenych patternov v NJ aj amaterom? Ak ano, tak ako na to ?

Vdaka!

FINANCNIK.CZ
* místo, kde tradeři pomáhají traderům
* místo, kde se může každý naučit zcela zdarma obchodovat
* místo, kde si zkušení obchodníci vyměňují své poznatky

Link to comment
Sdílet pomocí služby

Odporúčam vám pozrieť sa na stratégiu Donchian 5&20 vo večerných hodinách. Napríklad keď EMA5 pretne EMA20 nahor, nakúpiť a čakať na opačný signál. Trh sa pred zatvorením zvykne rozbehnúť jedným smerom a po polnoci dosť spomalí, takže opačný signál dostaneme v chope a nie v obrate trhu, čo je výhoda. Dáva to veľmi konzistentné výsledky, oveľa lepšie než ten Woodie, čo som sem dával, niekedy sa na to pozriem podrobnejšie.

Link to comment
Sdílet pomocí služby

xanathar:
www.subory.sk/download/245551/ZLR.cs

Pre istotu sem dam hlavne casti zdrojaku.

Funkcie na testovanie trendu:
bool TrendingUp(int bars) {
int i; for (i = 0; i bool TrendingDown(int bars) {
int i; for (i = 0; i EMA(High, EMAp)[i]) return(false); return(true); }

Podmienky na vstup long:
if (CCI(CCIp)[2] > CCI(CCIp)[1] && CCI(CCIp)[1] && Close[0] > EMA(EMAp)[0] //nad priemerom
&& ToTime(Time[0]) = Time1 //len v danom case
&& WoodiesCCI(2, 5, CCIp, 34, 25, 6, 60, 100, 2).ChopZone[0] == 4 //chop je modry
&& WoodiesCCI(2, 5, CCIp, 34, 25, 6, 60, 100, 2).Sidewinder[0] != -1 //sw nesmie byt cerveny
&& CCI(CCIp)[1] > -100 && CCI(CCIp)[1] && TrendingUp(TrendBars) //trend je hore
&& Position.MarketPosition == MarketPosition.Flat) //vstupuj len ked sme flat
Podmienky na vstup short:
if (CCI(CCIp)[2] CCI(CCIp)[0] //zobacik na cci
&& Close[0] && ToTime(Time[0]) = Time1 //len v danom case
&& WoodiesCCI(2, 5, CCIp, 34, 25, 6, 60, 100, 2).ChopZone[0] == -4 //chop je hnedy
&& WoodiesCCI(2, 5, CCIp, 34, 25, 6, 60, 100, 2).Sidewinder[0] != -1 //sw nesmie byt cerveny
&& CCI(CCIp)[1] > -100 && CCI(CCIp)[1] && TrendingDown(TrendBars) //trend je dole
&& Position.MarketPosition == MarketPosition.Flat) //vstupuj len ked sme flat
Vystupy:
if (Position.MarketPosition == MarketPosition.Long
&& CCI(CCIp)[2] >= CCI(CCIp)[1] && CCI(CCIp)[1] >= CCI(CCIp)[0] //pravidlo mplay
&& Open[0] >= Close[0]) //sviecka je cervena
if (Position.MarketPosition == MarketPosition.Short
&& CCI(CCIp)[2] && Open[0] To je cele.

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...