NOTA: Credo che l'interpretazione di OL sia corretta, la seguente descrizione è solo allo scopo di avere conferma che queste cusom session si possono utilizzare.
Supponiamo di creare una custom session di 24 ore, dalle 16.00 NYT alle 16.00 NYT (vedi figura);
Supponiamo di acquistare con ordine a mercato che scatta in chiusura di barra; cioè alle ore 16.00 scatta un ordine e alle ore 16.00, inizio barra successiva viene eseguito; si esce la barra successiva. (vedi codice e figura)
If MarketPosition = 0 then begin
Buy("EnMark-L") 10000/close shares next bar at market;
end;
If MarketPosition = 1 then begin
Sell("ExMark-L") next bar at market;
end;
L'effetto è quello di aprire un ordine in chiusura di sessione reale (quella 9.30 - 16.00) utilizzando un ordine market
Ora integriamo con OL con il codice sottostante
Var: Directory("C:\Program Files (x86)\OptionLab\OptionDB Explorer\Exports\TradeStation Inputs\MA_Jul19_Test_OL.txt");
Var: Bin(0);
var: SeiLong(0), SeiShort(0);
Bin = ResetFile(Directory);
If MarketPosition = 0 then begin
Buy("EnMark-L") 10000/close shares next bar at market;
Bin = BuyCall(GetStrike("Delta", 0.9), GetMaturity("MinDays", 30), 1, -1, "MR-Long", Directory);
end;
If MarketPosition = 1 then begin
Sell("ExMark-L") next bar at market;
Bin = Exit(-1, "MR-Long", "Exit-L1", Directory);
end;
Ora confrontando i dati osservo che Tradestation inserisce un ordine il 17-10-2018 mentre OL inserisce un ordine un giorno prima, il 16-10-2018 (vedi figura e file di integrazione)
16/10/2018;0.00;
E;16/10/2018;buy;call;Delta|0.900;MinDays|30;1;-1;MR-Long;
17/10/2018;-12.96;
X;17/10/2018;-1;MR-Long;Exit-L1;
Nota: Nel caso si anticipi di 15 minuti con una nuova custom session, ad esempio alle 15.45, l'odine su TS è il 16-10 mentre su OL è il 15-10.
Grazie
Marcello