a = MACD[12,26,9](close) //questo è l'istogramma
b = MACDline[12,26,9](close) //questa è la differenza tra le due medie (26-12)
c = ExponentialAverage[9](b) //questa è la linea della media detta segnale
Se vuoi verificare che l’istogramma sia sopra o sotto 0 (o che lo 0 venga incrociato, al rialzo o ribasso) puoi scrivere:
IF a > 0 THEN.... //verifica se sopra lo 0
IF a < 0 THEN.... //verifica se sotto lo 0
IF a CROSSES OVER 0 THEN.... //verifica un crossover dello 0
IF a CROSSES UNDER 0 THEN....//verifica un crossunder dello 0
Il segnale dell’incrocio è dato dalla linea “b” che incrocia la “c”.
Questo è l’indicatore, puoi installarlo e verificare l’esatta corrispondenza con quello della piattaforma (vedi foto allegata):
defparam calculateonlastbars = 500
a = MACD[12,26,9](close)
b = MACDline[12,26,9](close)
c = ExponentialAverage[9](b)
return b coloured(255,0,0,255) AS "b",c coloured(0,255,0,255) AS "c",a AS "a"
la linea “a” che vedrai in nero, potrai personalizzarla dalle proprietà dell’indicatore facendola apparire come un istogramma e colorarla a tuo piacimento.
Quindi nel tuo codice manca la definizione della “c”, dopodiché verifichi che “b” la incroci e questo ti darà il segnale.