Buongiorno, ho un dubbio da dipanare.
vorrei fare un trade system che entri long a mercato ogni venerdì a TIME=201500
ora come condizione quando c’è il cambio dell’ora negli USA ma qua in italia ancora no, è corretto usare queste 2 condizioni? anticipare di un’ora l’ingresso
C1=(month = 3) and (day=>9 and day=<24)
C1=TIME=191500
inoltre vorrei vendere 15 minuti dopo l’apertura del primo giorno settimanale, ossia il lunedì. Se un future apre alle 2 di notte, che venda alle 2.15 per esempio.
ma se ci fosse una variazione e dovesse aprire per esempio alle 11 di mattina, come faccio a dirgli di vendere alle 11.15? e nel caso non fosse aperto il mercato di lunedì, fare la stessa cosa il martedì.
grazie mille in anticipo a chi può aiutarmi
Alessio
All’inizio di ogni anno aggiorna le 4 date (il cambio dell’ora avviene sempre di Domenica).
Questo è il codice per il cambio dell’ora, utilizza la variabile TradeTime per avere l’ora corretta:
/*
. 15:00 & 09:00
. USAstart = 20240310 15:00 & 10:00 (5 ore)
EUstart = 20240331 16:00 & 10:00 (6 ore)
USAend = 20241103 16:00 & 09:00 (7 ore)
EUend = 20241027 15:00 & 09:00 (6 ore)
*/
ONCE TradeTime = 201500
ONCE USAstart = 20240310
ONCE USAend = 20241103
ONCE EUstart = 20240331
ONCE EUend = 20241027
ONCE Flag = 0
IF Date >= USAstart AND Flag = 0 THEN
TradeTime = TradeTime - 010000
Flag = 1
ENDIF
IF Date >= EUstart AND Flag = 1 THEN
TradeTime = TradeTime + 010000
Flag = 2
ENDIF
IF Date >= USAend AND Flag = 2 THEN
TradeTime = TradeTime + 010000
Flag = 3
ENDIF
IF Date >= EUend AND Flag = 3 THEN
TradeTime = TradeTime - 010000
Flag = 0
ENDIF
Questo è il codice per entrare 15 minuti dopo l’apertura, devi modificare te, secondo lo strumento usato, l’orario (nell’esempio alle 02:15):
DEFPARAM CumulateOrders = false
ONCE EntryTime = 021500
ONCE Flag = 0
IF DayOfWeek < DayOfWeek[1] THEN
Flag = 0
ENDIF
IF OpenDayOfWeek >= 1 AND Flag = 0 THEN
IF Time = EntryTime THEN
SELLSHORT 1 Contract at Market
Flag = 1
ENDIF
ENDIF
SET STOP pLOSS 100
SET TARGET pPROFIT 600
Grazie Roberto. Se la giornata di lunedì fosse chiusa, e riprendesse il martedì, come faccio a dirgli di chiudermi la posizione ugualmente 10 minuti dopo l’apertura?
ad esempio il future della soia apre alle 2 del mattino e chiude alle 20.15 di sera. ma ho visto che è capitato che aprisse la giornata alle 11. in quel caso come gli dico che chiuda ugualmente e non mi trascini la posizione per giorni?
ultima domanda, ho provato a far partire un trading system di prova, sempre sulla soia, ma non mi trovo con i giorni della settimana. nel backtest il lunedì melo dà come Zero, nel live me lo dà come uno. qualcosa mi sfugge.
Questo è il codice:
/*
. 15:00 & 09:00
. USAstart = 20240310 15:00 & 10:00 (5 ore)
EUstart = 20240331 16:00 & 10:00 (6 ore)
USAend = 20241103 16:00 & 09:00 (7 ore)
EUend = 20241027 15:00 & 09:00 (6 ore)
*/
ONCE TradeTime = 201500
ONCE USAstart = 20240310
ONCE USAend = 20241103
ONCE EUstart = 20240331
ONCE EUend = 20241027
ONCE Flag = 0
IF Date >= USAstart AND Flag = 0 THEN
TradeTime = TradeTime - 010000
Flag = 1
ENDIF
IF Date >= EUstart AND Flag = 1 THEN
TradeTime = TradeTime + 010000
Flag = 2
ENDIF
IF Date >= USAend AND Flag = 2 THEN
TradeTime = TradeTime + 010000
Flag = 3
ENDIF
IF Date >= EUend AND Flag = 3 THEN
TradeTime = TradeTime - 010000
Flag = 0
ENDIF
//
IF Time = TradeTime AND OpenDayOfWeek = 5 AND Not OnMarket THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF OpenDayOfWeek >= 1 AND LongOnMarket THEN
SELL AT MARKET
ENDIF
SET STOP pLOSS 100
SET TARGET pPROFIT 600