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

Doporučené příspěvky

  • 3 týdny později...
  • Odpovědí 718
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Odesláno

Hledám jednoduchý indikátor nebo spíše definici podmínky, nejlépe ve wizardu. Jde o to, že dle mé strategie se otevře pozice, ale nechci otevírat další pozici na dalším signále. Jedná se o omezení 1 vstup za 24 hod. Konkrétně strategie vstupuje v rozmezí jedné definované hodiny, ale několikrát (např. v případě ukončení na SL). Toto potřebuji ošetřit podmínkou 1 vstup a konec.

Poradíte?

Díky

  • 1 month later...
Odesláno

Tohle by mělo umět udělat z Download Replay dat soubor pro import Historie !!! ======================================================== public class TickExport : Strategy { private double vol = 0 ; private double tikvol = 0 ; Variables protected override void Initialize() { CalculateOnBarClose = false; } protected override void OnBarUpdate() { if (Historical) return ; if (FirstTickOfBar) vol = 0 ; tikvol=Volume[0]-vol ; vol=Volume[0] ; using(System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\TickExport.txt", true)) { file.WriteLine (ToDay(Time[0]).ToString()+" " + (Time[0]).ToString("HHmmss")+";" + Close[0].ToString("0000.00")+";" + tikvol.ToString()); } } Properties } V příloze je originál co mám z Ninji (koncovka je správně ZIP). Jak to použít pro vytvoření historie viz: http://www.financnik.cz/forum/read.php?23,163488,213495#msg-213495

19269

Odesláno

Ahojte, stále se mi nedaří naprogramovat, abych na každé open koupil a na každé close prodal a to tak,
aby to běhalo na libovolném timeframu. Pomohl byste mi, prosím, někdo? Ďíky.

Odesláno

Motylek:
V NT z principu nejde udělat nic na "Close" úsečky. Strategie dostává řízení "OnBarUpdate" a dokud se nezačně vykreslovat další čára, tak Close z pohledu strategie ještě nenastalo. Je možné to simulovat sledováním času a vhodnou podmínkou [bold] if(... [/bold]např vteřinu před skutečným close ale ani tak není zaručeno provedení příkazu (pokud například nedorazí žádné ticky a tím nenastane událost "BarUpdate")

Odesláno

PeTu:
Moc děkuji za odpověď. Já jsem to obešel tím, že jsem ve strategii dal
do Set1 Enter Long, do Set2 Exit Long, Enter Short a do Set3 Exit Short
a v Excelu extrapoloval. To chodí. Ale namísto Short dát Long nebo jen Set1 Enter Long a Set2 Exit Long,
oboje kupuje ob jednu "svíčku". Prostě divnost. Ale ještě jendou díky za odověď.

  • 2 týdny později...
Odesláno

Ahoj,
chtel bych se zeptat, zda se nekomu povedlo v NT7 udelat strategii tak, ze lze v jeden okamzik, tim je mysleno na jedne svicce, jak vstoupi do long pozice, tak do short pozice. Kdyz zadam v strategii EntryLong("blabla") a hned pod tim i EntryShort("blablaShort") tak se ukonci long a zacne se short. Coz i tento reverse mi vadi a nevim jak jej vypnout. Coz je spatne. Potrebuji mit otevreno vice pozic a mit u nich jen vazane PT a SL, ktere ridi jejich uzavirani.

Tedy presneji a mozna i lepe. Potrebuji:

if (neco && neco )
{
EnterLond("blablaLong",1);
SetStopLoss("blablaLong",CalculationMode.Price,SL);
SetProfitTarget("blablaLong",CalculationMode.Price,PT);

EnterShort("blablaShort",1);
SetStopLoss("blablaShort",CalculationMode.Price,SL);
SetProfitTarget("blablaShort",CalculationMode.Price,PT);
}

Nedari se mi to a nevim jak na to a zda to vubec lze. Pokud by to neslo, tak to by me NT7 tezce zklamal.

Pomuze mi s tim nekdo?

Predem diky za odpoved. :)

Odesláno

Dobrý den,
chtěl jsem se zeptat někoho kdo využívá automatické strategie v NT7.
Vyskytl se mi problém,strategie byla spuštěna nastaven automatický výstup na pt nebo posunutém sl.V grafu se mi zobrazil výstup tak jak měl být správně exekuován( a následně ověřen ve strategy analyzéru) a obchod byl na grafu ukončen, ale když jsem se chtěl podívat do account performance tak tam tento obchod vůbec nebyl a v execution nebyl vypsán výstup a pozice byla dále otevřena a musel jsem ji zavřít ručně.Nikdy dřív se mi toto nestalo.

Používám demo účet od AMP( za 500) a pro využití automatických strategií,klíč od ninje,tedy neplacenou verzi pro demo.Chtěl bych se zeptat zda-li to může být způsobeno tím že nepoužívám placenou verzi a tudíž se můžou vyskytnout podobné problémy?

Díky za odpověd


  • 3 týdny později...
Odesláno

Zdraví Ninja scriptaře,
potřeboval bych poradit jak správně zkombinovat Multi-time frame minutoivý a denní

tento příklad nefunguje správně:


// This namespace holds all strategies and is required. Do not change it.
namespace NinjaTrader.Strategy
{
///


/// Nákup za open a + 50% včerejšího denního rozpětí Prodej za open a - 50% včerejšího denního rozpětí
///

[Description("Nákup za open a + 50% včerejšího denního rozpětí Prodej za open a - 50% včerejšího denního rozpětí")]
public class DR1 : Strategy
{
#region Variables
// Wizard generated variables
private int prom1 = 1; // Default setting for Prom1
private int pT = 10000; // Default setting for PT
private int sL = 1500; // Default setting for SL
// User defined variables (add any user defined variables be)
#endregion

///
/// This method is used to configure the strategy and is called once before any strategy method is called.
///

protected override void Initialize()
{
// nastavení dalšího denního timeframe
Add(PeriodType.Day, 1);

SetProfitTarget(PT);
SetStopLoss(SL, false);

CalculateOnBarClose = true;
ExitOnClose = false;
}

///
/// Called on each bar update event (incoming tick)
///

protected override void OnBarUpdate()
{
// Checks to ensure all Bars objects contain enough bars before beginning
// if (CurrentBars[0] // return;
// Condition set 1
// Checks if OnBarUpdate() is called from an update on the primary Bars
if (BarsInProgress == 0)

// Checks if OnBarUpdate() is called from 1 day Bars object
if (BarsInProgress == 1)
{
double DR = Highs[1][1]- Lows[1][1];
double KupZaCenu = Opens[1][0] + 0.5 * DR;
double ProdejZaCenu = Opens[1][0] - 0.5 * DR;
// když jsem v pozici zkontroluji zda mám při open dne profit. Pakliže ano vystoupím
if (Position.MarketPosition == MarketPosition.Long && Opens[1][0] > KupZaCenu)
ExitLong();

if (Position.MarketPosition == MarketPosition.Short && (Opens[1][0]) ExitShort();

if (Opens[1][0] > Opens[1][1])
{

EnterLongLimit(DefaultQuantity, KupZaCenu, "");
}
if (Opens[1][0] {
EnterLongLimit(DefaultQuantity, ProdejZaCenu, "");
}
}

}

#region Properties
[Description("proměná 1")]
[GridCategory("Parameters")]
public int Prom1
{
get { return prom1; }
set { prom1 = Math.Max(1, value); }
}

[Description("Profit Target")]
[GridCategory("Parameters")]
public int PT
{
get { return pT; }
set { pT = Math.Max(1, value); }
}

[Description("Stop Los")]
[GridCategory("Parameters")]
public int SL
{
get { return sL; }
set { sL = Math.Max(1, value); }
}
#endregion
}
}

Díky
Honza HKY

  • 1 month later...
Odesláno

Vi nekdo co znamena v Ninjovi chyba overfill pri vykonavani AOS
a jak se da resit?
Myslim, ze nastava, kdyz u brokera se provede SL a zaroven dam ExitShort (ExitLong) ve strategii.
Ale nevim.
Poradite?
Diky Petr

  • 3 týdny později...
Odesláno

Pokud vím nejde mít současně Long s Short z principu burzy a jsem toho názoru že je to dobře (stejně by nula od nuly pošla).

geniepage Napsal:
-------------------------------------------------------
> Ahoj,
> chtel bych se zeptat, zda se nekomu povedlo v NT7
> udelat strategii tak, ze lze v jeden okamzik, tim
> je mysleno na jedne svicce, jak vstoupi do long
> pozice, tak do short pozice.

  • 3 týdny později...
Odesláno

to svopex: Overfill nastava pokud prikaz, ktery posles na burzu neodpovida aktualnimu stavu, typicky pokud chces zavrit Long a exekuje se ti stop limit prikaz (SL), takze kdyz posles ExitLong tak tam zadny Long neni. V pripade multikontrakt AOS je cela situace slozitejsi. Toto je jen jedna z moznych situaci ktere mohou nastat, dalsi situace mohou nastat v synchronizaci mezi tebou, brokerem a burzou, pokud posilas vice prikazu najednou, tak ti burza muze prijmout tvuj druhy prikaz jako prvni atd. Jak se tomu vyhnout? Psat kod idealne v unmanaged modu, kazdou situaci si osetrit pomoci exception a pak hooodne dukladne testovat.

hodne zdaru

  • 3 týdny později...

×
×
  • Vytvořit...