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

Doporučené příspěvky

Odesláno

Honza K. Napsal:
-------------------------------------------------------
> Drasill - pokud použijete time 2200, nezapomeňte
> že musíte mít nastavený čas na LOCAL, pokud byste
> měl exchange, tak vám to nezavře, notabene pokud
> používáte .D symboly (pokud obchodujete futures).
> Osobně bych celý kód zjednodušil např. takto:
>
> Inputs: Exit_Time ( 2200 );
> If Time >= Exit_Time then Sell ( "CustomLX" )
> next bar at market ;
>
> Udělá vám to co potřebujete, test na
> marketposition není třeba, Sell se aktivuje pouze
> pokud máte long pozici. Pokud máte time = xxxx,
> tak pokud z nějakého důvodu nedojde k zadání
> příkazu, následující bar se příkaz zruší nebo
> vůbec nemusí být příkaz na trh poslán - hlavně
> pokud používáte tickové/range apod. grafy, které
> se generují nezávisle na čase.
>
> Out of sync - jestli je to to, co myslím, tak to
> znamená, že vám nesouhlasí reálná (příp. SIM)
> pozice s pozicí strategie.

Dobrý deň,
skúšal som testovať výstup, ale neviem prečo to nefunguje. Môj postup:
1. Upravil som podľa Vás „AOS- time exit“ stratégiu na výstup.
2. Nastavil som 1 min. chart a podmienku Exit_time som posunul cca o 5 min. neskôr ako bol aktuálny bar.
2. Dal som „verify“, vložil do chartu a 2x som potvrdil jej platnosť vo „format strategy“, zapol som „automation na SIM účet“ - na charte mi v ľavom hornom rohu zasvietila ikona na zeleno „SA“.
3. Otvoril som si „chart trading“ a zadal nákupnú objednávku 1 kontraktu za cenu market.
4. Close úsečky po pár minútach dosiahlo nastavenú podmienku výstupu „Exit_time“, ale ani nasledujúce 3 úsečky mi neuzavrelo pozíciu. Celé som to opakoval niekoľko krát, ale nefunguje to.

Neviete prosím, čo robím nesprávne?
Čas mám pritom nastavený na „Time zone = „Local“

Ďakujem vám za radu.

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

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Odesláno

Aha, tak to je taková malá drobnost, kterou jsem nepostřehl nebo jste jí zapomněl zmínit - že totiž vstupujete manuálně a chcete, aby strategie zavírala tuto manuální pozici bez pozice ve strategii... :D To ovšem situaci výrazně komplikuje, strategie musí mít svůj vstup, aby ho mohla zavřít. Dá se to obejít několika způsoby

1. Makro - použít PlaceOrder a Runcommand k poslání příkazu na trh, pokud máte pozici
2. Úprava strategie a parametrů, aby se strategie rekalkulovala a "převzala reálnou pozici"

Příklady naleznete zde:
community.tradestation.com/Discussions/Topic.aspx?Topic_ID=110516

Není to ale úplně triviální záležitost.

Odesláno

Vďaka za link. Skúsim sa na to spýtať inžinierov na EasyLanguage priamo v TradeStation nakoľko mi úpravou stratégie pridaním kódu _ContinuousAdoptRealWorldPositionV1 vyhadzuje makro môj stop loss! a nefunguje to ani, keď mám zapnutý RunCommand for Strategies a Adopt the real-world position. A hneď po manuálnom zadaní long príkazu som refreshoval chart skratkou ctrl+r.

Odesláno

Dobrý deň, nasledujúcim nastavením sa mi podarilo dostať pod automatickú kontrolu manuálne zadaný vstup s podmienkou výstupu na konci dňa. Jedná sa o makro na uzavretie všetkých otvorených pozíc. Možno to bude ešte nejaký začiatočník ako som teraz ja potrebovať. 1. Kód: inputs: Exit_time ( 2159 ) ; If Time [ 0 ] >= Exit_time then begin Runcommand (".CloseAllPositions"); end; 2. V chart analysis okne kliknúť pravým tlačítkom na ---> Format strategies ---> Properties for All ---> Zapnúť: Enable RunCommand EasyLanguage keyword with confirmation off (obr.č.1) 3. V okne Format strategies zapnúť Automation: Generate strategy orders for ... + Automate execution using ... + with confirmation off (obr. č.2) Pozn. č.1 V okne Format strategies ---> Properties for All ---> na karte Automation, funguje toto makro pri nastavení Strategy fill logic - Strategy will fill non-historical orders based on price activity Pozn. č.2 Musí byť tiež zapnuté "Order Entry Macros". Na dolnej lište TS je status bar. Tu treba zapnúť (zmení sa farba z červenej na zelenú) "OE MACROS"

20944

20945

Odesláno

Díky, ano to je sice možnost, nicméně nezapomeňte, že ".CloseAllPositions" vám zavře VŠECHNY otevřené pozice včetně jiných symbolů, takže tento přístup bude fungovat jak má pouze, pokud obchodujete jeden symbol nebo počítáte s tím, že s voláním tohoto příkazu chcete zavřít cokoliv, co máte otevřené...

Odesláno

Ahoj,
problem je v tom ze to mam do jineho programu (SOL Trader) a mam odzkouseno ze z Tradestationu kod jde pouzit a je tady dobra zakladna lidi co tomu rozumi proto pisi sem.
Mohl bych poprosit jestli bys mi sem ten kod hodil.
Moc dekuji.

Odesláno

{
Plots a "Moving Average Ribbon" - a series of exponential moving averages of
various lengths. The lengths of the averages are calculated so that the length of
the first moving average line (XMA[1]) is set by the input BaseLength. Each
subsequent length is calculated based on the ArithOrGeom_1or2 input.

If this input is set to 1, then Length[ N + 1 ] is:

Length[ N + 1 ] = Length[N] + IncrementOrMultiplier { for 1
If, on the other hand, the ArithOrGeom_1or2 input is set to something other than 1,
then Length[ N + 1 ] is calculated as:

Length[ N + 1 ] = Length[N] * IncrementOrMultiplier { for 1 }

inputs:
Price( Close ),
BaseLength( 10 ),
ArithOrGeom_1or2( 1 ),
IncrementOrMultiplier( 10 ), { used as Length increment if arithmetic type ribbon
or as multiplier if geometric type ribbon }
FastColor( Yellow ),
SlowColor( Red ) ;

variables:
Counter( 0 ) ;

arrays:
Length[8]( 0 ),
SmoothingFactor[8]( 0 ),
XMA[8]( 0 ),
Color[8]( 0 ) ;

{ calculate lengths and colors only on bar 1 - also initialize the exponential moving
average values }
if CurrentBar = 1 then
begin
Length[1] = BaseLength ;
SmoothingFactor[1] = 2 / ( Length[1] + 1 ) ;
XMA[1] = Price ;
Color[1] = GradientColor( 1, 1, 8, FastColor, SlowColor ) ;
for Counter = 1 to 7
begin
if ArithOrGeom_1or2 = 1 then
Length[ Counter + 1 ] = Length[Counter] + IncrementOrMultiplier
else
Length[ Counter + 1 ] = Length[Counter] * IncrementOrMultiplier ;
SmoothingFactor[ Counter + 1 ] = 2 / ( Length[ Counter + 1 ] + 1 ) ;
XMA[ Counter + 1 ] = Price ;
Color[ Counter + 1 ] = GradientColor( Counter + 1, 1, 8, FastColor,
SlowColor ) ;
end ;
end
else
{ calculate all exponential moving average values }
for Counter = 1 to 8
begin
XMA[Counter] = XMA[Counter][1] + SmoothingFactor[Counter] * ( Price -
XMA[Counter][1] ) ;
end ;

{ plot all XMA values }
Plot1( XMA[1], "XMA1", Color[1] ) ;
Plot2( XMA[2], "XMA2", Color[2] ) ;
Plot3( XMA[3], "XMA3", Color[3] ) ;
Plot4( XMA[4], "XMA4", Color[4] ) ;
Plot5( XMA[5], "XMA5", Color[5] ) ;
Plot6( XMA[6], "XMA6", Color[6] ) ;
Plot7( XMA[7], "XMA7", Color[7] ) ;
Plot8( XMA[8], "XMA8", Color[8] ) ;


{ ** Copyright (c) 2001 - 2010 TradeStation Technologies, Inc. All rights reserved. **
** TradeStation reserves the right to modify or overwrite this analysis technique
with each release. ** }

Odesláno

Jejda koukám že to jde rychleji než jsem myslel :) omlouvám se, v té době jsem měl hovor s jedním amíkem a odepisoval jsem dalšímu, tak mi to nějak seplo do angličtiny. Chtěl jsem zkrátka napsat, abyste zkusil odstranit komentáře a podívejte se, jestli ten váš program podporuje gradientcolor, pokud ne, tak použijte standardní plot.

Odesláno

Zatím jsou vyjádření o uvedení U13 mimo beta klasicky neurčité. Ts se už několikrát spálilo při tom, když dalo konkrétní data k dispozici, takže počítejte s tím, že sami by rádi, kdyby to bylo do konce roku. Podle mého názoru to bude dříve, protože beta je zatím poměrně stabilní a problémy se týkají spíše chybek v OOEL kódu, které s nimi řešíme.
Novinky kromě uvedení vteřinových grafů se týkají hlavně OOEL "classes" a změn v TSKitu, tedy nic zajímavého pro běžné uživatele.
Předem upozorňuji, že počínaje tímto updatem nastanou pro ty, kteří mají stále Windows XP, určité komplikace a prý mohou vyústit až v to, že Ts nepůjde otevřít... Takže očekávám obvyklou palbu kritiky na TS. Na druhou stranu pod Win7 a Win8 to chodí bez problémů.


×
×
  • Vytvořit...