Roberto ho testato il nuovo codice che hai formulato ma purtroppo facendo i Backtest noto che le posizioni NON VENGONO CHIUSE NE CON GLI ORARI NE CON IL NUMERO DI BARRE NEGATIVE IN H4 , ti invio il codice e se hai modo di testarlo così vedi ( quando sono andato a vedere la lista delle posizioni chiuse noti subito che ci sono posizioni chiuse dopo 5 giorni e addirittura 17 candele negative) sicuro c’è qualcosa che non và.
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
t1 = (OpenDayOfWeek = 1) AND (Time >= 000000) AND (Time <= 170000)
t2 = (OpenDayOfWeek = 2) AND (Time >= 000000) AND (Time <= 170000)
t3 = (OpenDayOfWeek = 3) AND (Time >= 000000) AND (Time <= 170000)
t4 = (OpenDayOfWeek = 4) AND (Time >= 000000) AND (Time <= 170000)
t5 = (OpenDayOfWeek = 5) AND (Time >= 000000) AND (Time <= 170000)
x1 = (OpenDayOfWeek = 9) AND (Time = 180000)
x2 = (OpenDayOfWeek = 9) AND (Time = 180000)
x3 = (OpenDayOfWeek = 9) AND (Time = 180000)
x4 = (OpenDayOfWeek = 9) AND (Time = 180000)
x5 = (OpenDayOfWeek = 5) AND (Time = 170000)
//
If OnMarket AND (x1 OR x2 OR x3 OR x4 OR x5) THEN
SELL AT MARKET
EXITSHORT AT MARKET
ENDIF
// Condizioni per entrare su posizioni long
L1 = t1 OR t2 OR t3 OR t4 OR t5
L2 = Not OnMarket
indicator1 = ChandeKrollStopUp[10,20,3]
indicator2 = ChandeKrollStopDown[10,20,3]
c1 = (indicator1 CROSSES OVER indicator2)
c2 = (open < close)
c3 = (open > DClose(2))
indicator3 = Average[56](high)
c4 = (open > indicator3)
c5 = (open < close)
c6 = (open > DClose(2))
indicator4 = SuperTrend[1,56]
c7 = (open > indicator4)
c8 = (open < close)
c9 = (open > DClose(2))
indicator5 = Average[50](high)
c10 = (open > indicator5)
c11 = (open < close)
c12 = (open > DClose(2))
IF (c1 and c2 and c3)OR(c2 and c3 and c4)OR(c2 OR c3 or c7) or(c2 and c3 and c10) OR (L1 AND L2) THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// NUMERO BARRE OTTIMALI
ONCE maxCandlesLongWithProfit = 20 // profitto long
ONCE maxCandlesLongWithoutProfit = 2 // Limite long
posProfit = (((close – positionprice) * pointvalue) * countofposition) / pipsize
numberCandles = (BarIndex – TradeIndex)
m1 = posProfit > 0 AND numberCandles >= maxCandlesLongWithProfit
m3 = posProfit < 0 AND numberCandles >= maxCandlesLongWithoutProfit
IF LONGONMARKET AND (m1 OR m3) THEN
SELL AT MARKET
ENDIF