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

Doporučené příspěvky

Odesláno

Moverock,
pochopil jsem tě už od začátku, ale psal jsi toto: "Otevrel jsem si easylanguage kod Moving Average Exponencial.
Ten jsem si zkopiroval do me strategie...".

A proto jsem ti odpověděl toto: "Ty jsi uvedl pouze kód EMY a z toho nepoznám, jestli nemáš výpočet EMY třeba schovaný v nějaké podmínce."

....problém může být třeba v tom, kde máš v kódu Strategie ten výpočet EMY umístěn (pokud to teda není jen jinou periodou indikátoru, jak psal Honza).

Odesláno

zdenekt Napsal:
-------------------------------------------------------
> moverock Napsal:
> --------------------------------------------------
> -----
> > Tak uz to ide, tak ja nevim proc to neslo...
> Že já
> > tu vždycky jen plaším.... Diky
>
>
> SUPER...a čím to bylo?
>
>
>

To přece neví! ;-)

  • 1 month later...
Odesláno

Opravdu nevim co jsem tam mel blbe, no to je jedno.

Muzu mit dalsi dotaz?
Jak pouzivate a jak spravne funguje

buy next bar at Price stop

Me se stane, ze to pri backtestu prikaz nevyplni a az jde graf zpet shora k teto cene, tak se prikaz vyplni. Jak dlouho si program ten prikaz vubec drzi? Naporad, nebo jen ten jeden next bar?

Dekuji

(tu)

Odesláno

Moverock - stop order je exekuován na "next bar", za cenu Price nebo horší podle aktivačních pravidel, která máte nastavená v preferences. Rozdíl je, jeslti používáte intrabar order generation (pak se podmínka vyhodnocuje každý tick/změnu ceny) nebo implicitně ne - pak se na trh posílá stop příkaz na opening ticku následujícího baru. Stop by tam měl zůstat dokud podmínka platí nebo dookud nezměníte cenu stop příkazu. Pokud vám stop hned následující bar zmizel, znamená to, že podmínka pro aktivaci stop příkazu už neplatí, typicky např. pokud si dáte podmínku typu

If MA1 crosses above MA2 then buy next bar at Price stop;

Při této podmínce platí stop příkaz jenom jeden bar a pokud není aktivován trhem (nemáte v grafu strategy fill), tak další bar už tam nebude.

Pokud ale podmínku upravíte tak, že si při crossoveru nastavíte proměnnou, která bude platit dokud se to třeba nepřekříží zpátky, tak už příkaz zůstane viset, dokud není vyplněn:

If MA1 crosses above MA2 then Kros = 1
else If MA1 crosses below MA2 then Kros = -1;

If Kros = 1 then buy next bar at Price stop;

Pokud je příkaz umístěn na stále stejné ceně mezi jednotlivými bary, tak ho TS nechává být (neruší a neposílá každý bar znovu).

Pokud máte v backtestu nějaké jiné chování než v reálu, může to mít více příčin a bez znalosti kódu a nastavení strategie se to těžk ona jistotu určuje.

Pokud chcete zrušit příkaz v rámci strategie při nějaké podmínce, není nic jednoduššího než si opět vytvořit nějakou proměnnou, která bude negovat zaslání nebo setrvání příkazu

If moje_podminka = true then Neguj_vstup = True;

If Kros = 1 and Neguj_vstup = False then buy next bar at Price stop;


Odesláno

Děkuji Vám za vysvětlení. A ted jeste rychly dotaz. Nevim proc se mi nechcou plnit prikazy stoploss a profittarget - jsou v hlavnim tele programu - viz obrazek. Ale sou nejspis zcela ignorovany, protoze z grafu vidim, ze prikaz vyrusi az splneni jine podminky pro nakup-prodej. Asi urcite jste se s tim setkali, je to opet nejakym nastavenim mimo easylanguage? Děkuji mnohokráte (tu)

26118

Odesláno

Zkuste dát
setstopcontract;
setprofittarget(prf);
setstoploss(stp);

před zbytek kódu a ještě dotaz - hodnota stp a prf je v dolarech? Nejsou ty hodnoty moc daleko? Zkuste kód pustit na SIM účtu a podívejte se, jeslti se stop vygeneruje. Pokud je stop a target příliš blízko u sebe (třeba 2 - 3 ticky), tak pak můžete narážet ještě na jeden problém, ale to až pokud to bude ten případ....

×
×
  • Vytvořit...