Roberto volevo sapere, mettiamo che che le posizioni vadano nel verso “giusto” quindi che ci siano tutte candele H4 verdi e non mi chiuda posizioni prima con 2 candele rosse come impostato, se volessi non far chiudere le posizioni (alle 20:00 di lunedì, di martedi, di mercoledì, di giovedì) ma farle chiudere SOLO alle 20:00 di venerdi sera? cosa devo modificare nel codice?
Alle righe 9, 10, 11 e 12 metti ore 240000 (che non esistono).
Mentre alla riga 13 metti l’ora a cui vuoi chiudere (nell’ultimo codce postato c’è 170000).
adesso è ok, Roberto ancora grazie per la disponibilità.
Ciao.
Roberto effettuando ulteriori backtests solo adesso mi sono accorto che sul DowJones il sistema non ha effettuato la chiusura della posizione dopo la chiusura della seconda candela H4 negativa (rossa) , in relazione all’ingresso in Buy del 1 marzo 2021 il sistema è entrato in posizione con la candela H4 delle 00:00 , se vedi la posizione aperta sarebbe dovuta essere chiusa con la chiusura della candela H4 (seconda candela rossa) delle 00:00 del 2 marzo. Puoi verificare per cortesia a me sembra strano, cosa è successo? Grazie.
In pratica considerando questo esempio (1 marzo apertura posizione Buy con candela delle 00:00 io vorrei che la chiusura della posizione avvenisse DOPO che si sia verificata la chiusura della seconda candela H4 rossa, cioè la candela rossa delle 00:00 del 2 marzo).
forse sbaglio, ma forse nel codice del numero di barre ottimali è indicata la chiusura della posizione alla chiusura della seconda candela rossa H4 sotto la candela di apertura della posizione?
Per favore posta il codice che hai usato te.
Roberto ho applicato il codice che regola il numero ottimale di barre sia sul sistema che hai codificato tu prima che su questo nuovo che è un’altra strategia ma è la stessa cosa lo fà su entrambi con il Dow Jones , ti posto il codice.
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
t1 = (OpenDayOfWeek = 1) AND (Time >= 010000) AND (Time <= 210000)
t2 = (OpenDayOfWeek = 2) AND (Time >= 010000) AND (Time <= 210000)
t3 = (OpenDayOfWeek = 3) AND (Time >= 010000) AND (Time <= 210000)
t4 = (OpenDayOfWeek = 4) AND (Time >= 010000) AND (Time <= 210000)
t5 = (OpenDayOfWeek = 5) AND (Time >= 010000) AND (Time <= 170000)
x1 = (OpenDayOfWeek = 1) AND (Time = 240000)
x2 = (OpenDayOfWeek = 2) AND (Time = 240000)
x3 = (OpenDayOfWeek = 3) AND (Time = 240000)
x4 = (OpenDayOfWeek = 4) AND (Time = 240000)
x5 = (OpenDayOfWeek = 5) AND (Time = 210000)
//
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 = EndPointAverage[200](close)
c1 = (close = indicator1)
indicator2 = EndPointAverage[200](close)
c2 = (indicator2[1] > close[2])
indicator3 = DonchianChannelDown[20]
c3 = (close = indicator3)
indicator4 = DonchianChannelCenter[20]
c4 = (close = indicator4)
indicator5 = ADX[14]
c5 = (indicator5[1] > 24)
indicator6 = ADX[14]
indicator7 = DIminus[14](close)
c6 = (indicator6[1] CROSSES OVER indicator7[1])
indicator8 = ADX[14]
indicator9 = DIplus[14]
c7 = (indicator8[1] CROSSES OVER indicator9[1])
IF (c1 OR c2 OR c3 OR c4 OR c5 OR c6 OR c7) OR (L1 AND L2) THEN
BUY 1 SHARES AT MARKET
ENDIF
// NUMERO BARRE OTTIMALI
ONCE maxCandlesLongWithProfit = 30 // profitto long
ONCE maxCandlesLongWithoutProfit = 1 // 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
Roberto considera questo codice è di questo che ti parlo ha 2 barre rosse H4 come limite per chiusura posizione.
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
t1 = (OpenDayOfWeek = 1) AND (Time >= 010000) AND (Time <= 210000)
t2 = (OpenDayOfWeek = 2) AND (Time >= 010000) AND (Time <= 210000)
t3 = (OpenDayOfWeek = 3) AND (Time >= 010000) AND (Time <= 210000)
t4 = (OpenDayOfWeek = 4) AND (Time >= 010000) AND (Time <= 210000)
t5 = (OpenDayOfWeek = 5) AND (Time >= 010000) AND (Time <= 170000)
x1 = (OpenDayOfWeek = 1) AND (Time = 240000)
x2 = (OpenDayOfWeek = 2) AND (Time = 240000)
x3 = (OpenDayOfWeek = 3) AND (Time = 240000)
x4 = (OpenDayOfWeek = 4) AND (Time = 240000)
x5 = (OpenDayOfWeek = 5) AND (Time = 210000)
//
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 = EndPointAverage[200](close)
c1 = (close = indicator1)
indicator2 = EndPointAverage[200](close)
c2 = (indicator2[1] > close[2])
indicator3 = DonchianChannelDown[20]
c3 = (close = indicator3)
indicator4 = DonchianChannelCenter[20]
c4 = (close = indicator4)
indicator5 = ADX[14]
c5 = (indicator5[1] > 24)
indicator6 = ADX[14]
indicator7 = DIminus[14](close)
c6 = (indicator6[1] CROSSES OVER indicator7[1])
indicator8 = ADX[14]
indicator9 = DIplus[14]
c7 = (indicator8[1] CROSSES OVER indicator9[1])
IF (c1 OR c2 OR c3 OR c4 OR c5 OR c6 OR c7) OR (L1 AND L2) THEN
BUY 1 SHARES AT MARKET
ENDIF
// NUMERO BARRE OTTIMALI
ONCE maxCandlesLongWithProfit = 30 // 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
A me l’entrata non risulta il 1° Marzo alle 00:00, ma alle 21:00 di Domenuica 28/2, ma probabilmente è dovuto al fatto che tu hai optato per non vedere i dati di fine settimana.
Il 2 Marzo alle 01:00 era in profitto, quindi non l’ha chiusa perché non erano passate il numero di candele previsto. L’ha invece chiusa regolarmente (vedi foto allegata) il 4 Marzo alle 17:00 in quanto era la prima volta in perdita e in tal caso bastava UNA sola candela (la croce ovviamente la vedi sulla candela successiva perché la strategia è eseguita alla chiusura della candela stessa).
si ok ma io , consideranso la foto che hai postato vorrei far chiudere la posizione proprio alla chiusura della seconda candela rossa posta sopra il riquadro nel quale c’è scritto apertura, chiusura etc.
ah giusto ho capito cosa dici perchè quella candela è la prima del 2 marzo giusto….
Roberto ho notato che gli orari di apertura e chiusura da marzo cambiano sugli indici americani cioè se fino all’8 marzo (c’era 01:00 – 4:00 – 8:00 – 12:00 – 16:00 – 20:00) dal 14 marzo sono cambiati ( sarebbe un’ora diversa (23:00 – 7:00 – 11:00- 15:00 – 19:00) vedo così quindi ti chiedo come devo regolarmi con le chiusure e le aperture?
cioè queste chiusure che abbiamo settato nel sistema 1:00 – 5:00 – 9:00 – 13:00 – 21:00 fino a quando vanno bene rispetto al cambio dell’ora solare? e da quando devo cambiarle affinchè possano esser valide per i mercati americani? Grazie mille.
Non ne ho idea, se vedi da quando inizia a cambiare fino a quando finisce, quelle sono le date, dovrebbero essere uguali tutti gli anni.