R05Participant
Veteran
No Roberto non fa quello che vorrei io. Come anche nella tua foto nel backtest fa fare tante operazioni in seguito non rispettando nemmeno gli 80 punti.
Comunque il codice che ti avevo postato prima non è sbagliato, apre le posizioni in modo corretto; il problema è solo lo stop che non riesco a riportare sul massimo o minimo di giornata e che se supera i 15 punti non deve fare operazioni.
Ecco la tua versione con l’aggiunta del calcolo dello SL e la verifica che non superi 15 pips:
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l'orario "Flat Before" non saranno piazzati nuovi ordini o posizioni.
DEFPARAM FLATBEFORE = 090000
// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"
DEFPARAM FLATAFTER = 173000
IF time = 090000 THEN
PrezzoOre9 = close
ENDIF
c3 = abs(close - PrezzoOre9) >= 80 * pipsize
// Condizioni per entrare su posizioni long
c1 = dlow(0)
if low <= c1 and c3 then
StopLoss = abs(low[1] - c1) / pipsize
IF StopLoss <= 15 * pipsize THEN
SET STOP pLOSS StopLoss
SET TARGET pPROFIT 15
BUY 1 CONTRACT AT low[1] stop
ENDIF
ENDIF
// Condizioni per entrare su posizioni short
c2 = dhigh(0)
IF high >= c2 and c3 THEN
StopLoss = abs(high[1] - c2) / pipsize
IF StopLoss <= 15 * pipsize THEN
SET STOP pLOSS StopLoss
SET TARGET pPROFIT 15
SELLSHORT 1 CONTRACT AT high[1] stop
ENDIF
ENDIF
R05Participant
Veteran
Grande Roberto, grazie, gentilissimo. Ho provato il codice e fa quello che vorrei io. Perfetto. Di nuovo grazie.