Ho provato a creare un trading system che però non sembra eseguire bene quello che volevo. I segnali arrivano in ritardo rispetto alle condizioni settate.
Cosa deve fare?
-Timeframe giornaliero
-Compra 1000$ in azioni quando:
-Sia la linea del MACD ritardo zero a 18 periodi (e 27 periodi) incrocia al rialzo il segnale (quindi entrambe le linee dei 2 periodi devono aver incrociato ed essere sopra al segnale)
-Vendi tutto quando il MACD zero lag a 27 periodi incrociano al ribasso
Questo è il codice originale da cui sono partito da controllare e modificare o eventualmente da rifare:
//Strategia di incrocio MACD Lag Zero a 2 periodi (18 e 27)
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
//ZeroLag Fast MA:
PeriodF = 18
DataF = Close
lagF = ROUND((PeriodF-1)/2)
dF = (DataF+(DataF-DataF[lagF]))
F = exponentialaverage[periodF](dF)
//ZeroLag Slow MA:
PeriodS = 27
DataS = Close
lagS = ROUND((PeriodS-1)/2)
dS = (DataS+(DataS-DataS[lagS]))
S = exponentialaverage[periodS](dS)
c = F crosses over S //or F crosses under S
IF c THEN
BUY 1000 CASH AT MARKET
ENDIF
// Condizioni per uscire da posizioni long
d= F crosses under S
IF d THEN
SELL AT MARKET
ENDIF
Grazie
Il codice è corretto, anche logicamente, per cui non dovrebbero esserci ritardi(non l’ho provato).
Le strategie vengono sempre eseguite alla chiusura di ogni candela, per cui se ci sono le condizioni entra a mercato, ma ormai è iniziata la nuova candela, quindi vedrai la frecce che indica l’entrata sulla candela successiva a quella delle condizioni (detta anche di setup). Forse ti ha ingannato questo effetto visivo.