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

Programování v EasyLanguage


goody

Doporučené příspěvky

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í! ;-)

Link to comment
Sdílet pomocí služby

  • 1 month later...

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)

Link to comment
Sdílet pomocí služby

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;


Link to comment
Sdílet pomocí služby

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

Link to comment
Sdílet pomocí služby

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....

Link to comment
Sdílet pomocí služby

Jde o ten forexovy trh, ktery moc lidi nemaji radi...
Hodnota je v dolarech a je to stejne at hodnotu nastavim jakoukoliv

Ted nejsem u pc, kde vytvarim kod, az budu, tak tam zkusim dat ten setstopcontract; Děkuji za radu.

Jinak na sim uctu to nepustim nejspis. Protoze mam otevreny futures ucet a nemam zakoupena ziva data jeste. (ikdyz pravda ze ty forex data jsou aktualni a byvaji zdarma ze)

Dekuji, vecer se ozvu... Zkusim zaroven vykoumat ty stop prikazy, jak jste doporucoval. Ted to mam na buy next bar at market, kdyz se objevi muj signal. Chci to vsak ale na stop prikaz a pokracovat ve smeru prorazeni te urcite hodnoty.. a aby ten prikaz cekal kolik baru chce (samozrejme se zrusil kdyz nastane signal na jinou stranu).

Asi jste si vsim, snazim se zprogramovat pattern 1-2-3 a nakup nad/pod vrcholem 2..

Tak hezke utery z Brna
Pak se zase ozvu
(tu)

Link to comment
Sdílet pomocí služby

Moverock,

Na Forexu jeden LOT = 100.000 units, mini-lot = 10.000 units, micro-lot = 1.000 units, zatímco v tvých screenech se nakupuje/prodává jen 1 unit (to je 1/1000 micro-lotu)......proto ti to v reportu ukazuje nula nula nic :-)

Musíš si v TS upravit velikost obchodované pozice (Trade size), a to buď v kódu (např.: Buy 100000 contract next bar at market),
anebo jdi do "Format strategies", tam klikni na "Properties for all" a tam v pravo dole uprav Trade size na požadovanou velikost (jeden LOT = 100.000 units).

Zdenek.

Link to comment
Sdílet pomocí služby

×
×
  • Vytvořit...