Salve,
Sto cercando di costruire un MACD non basato sulle EMA ma sulle SMA, ed, occasionalmente, anche sulle LWMA e sulle Smoothed (SMMA).
Ho trovato ciò che sembra interessarmi con il mq4 allegato, è possibile convertirlo? E’ importante però che l’indicatore mi dia la possibilità di NON visualizzare l’istogramma, perchè tanto non lo uso.
Sarebbe molto gradito però che venga splittato magari in 3 indicatori diversi. Uno basato sulla SMA, uno sulla LWMA e uno sulla SMMA (Smoothed).
Grazie mille
Questo è il codice (allego anche il file da importare):
FastMA = 12 //12 Media Veloce
SlowMA = 26 //26 Media Lenta
Periods = 9 //9 periodi della media della differenze
MAtype = 1 //1=ema tipo media (vedere https://www.prorealcode.com/documentation/average/)
MyMACD = Average[FastMA,MAtype](close) - Average[SlowMA,MAtype](close) //differenza medie
MySignalLine = Average[Periods,MAtype](MyMACD) //media della differenza
MyHisto = MyMACD - MySignalLine //istogramma
RETURN MyMacd AS "Macd",MySignalLine AS "Signal",MyHisto as "histo"
Puoi cambiare i parametri a tuo piacimento (nel file da importare ci sono già le variabili da settare con le proprietà).
Se vuoi usare una media diversa dalle 7 previste, basta crearla ed inserirla nel codice (qui ce ne sono tantissime https://www.prorealcode.com/prorealtime-indicators/average-filter-regression/).
Se non vuoi l’istogramma, semplicemete rimuovilo oppure rendilo invisibile dalle proprietà dell’indicatore.
Comunque, nel caso il codice di cui sopra non sia ciò che cerchi, puoi fare la richiesta di conversione utilizzando questo link https://www.prorealcode.com/topic/conversione-gratuita-degli-indicatori-mt4-mql4/. Grazie.
Ciao e grazie
Ho scaricato tutte le medie mobili che mi hai indicato, mi dici solo come inserire nel codice del tuo MACD? Vedo che posso tranquillamente visualizzare il codice di ogni MA nell’itf che mi hai segnalato, solo non so dove copiare e incollare il codice nello script del MACD.
Grazie
Anzi, sarò più preciso. Posso inserire tutte le MA che mi hai segnalato nello script del tuo MACD? Per adesso il tuo ne contiene 6, ma vorrei tutte e 66!
Grazie
Carlo, penso che tu non sappia nemmeno cosa c’è nell’indicatore originale, include anche MACD di RSI, MACD di CCI, MACD di Momentum e Zerolag MACD. E tutti possono usare uno dei tipi di smoothing che hai descritto nel tuo primo post (come LWMA, SMA, ecc …).
Come sapete, tutti noi aiutiamo le persone qui gratuitamente e nel nostro tempo libero. Quindi, per favore, chiedi delle cose che vuoi veramente usare, sarebbe giusto! Grazie in anticipo.
E’ facile a dirsi, non molto a farsi, perché il codice è lunghissimo e sarebbe di una lentezza esasperante.
Come ha detto Nicolas, fanne uno per volta secono la media che desideri, considerando il fatto che per avere le tre medie che servono devi incollare il codice desiderato 3 volte!
Ad esempio per avere il MACD di cui sopra con la media MLHMA (la numero 34) devi fare:
// Calcolo della media VELOCE
HLRange1 = 3
HH1 = highest[HLRange1](High)
LL1 = lowest[HLRange1](Low)
FastMLHMA = Average[10]((HH1 + LL1) / 2) //media 10
//
// Calcolo della media LENTA
HLRange2 = 3
HH2 = highest[HLRange2](High)
LL2 = lowest[HLRange2](Low)
SlowMLHMA = Average[30]((HH2 + LL2) / 2) //media 30
//
MyMACD = FastMLHMA - SlowMLHMA //differenza medie
//
// Calcolo della media delle DIFFERENZE
HLRange3 = 3
HH3 = highest[HLRange3](MyMACD)
LL3 = lowest[HLRange3](MyMACD)
DiffMLHMA = Average[9]((HH3 + LL3) / 2) //media 9
//
MyHisto = MyMACD - DiffMLHMA
RETURN MyMacd AS "Macd",DiffMLHMA AS "Signal",MyHisto AS "Histo"
Ogni volta che fai il copia e incolla nello stesso codice, per non avere duplicati, devi assegnare alle variabili nomi diversi!
Stampa la media 34 (MLHMA) com’è nel file originale, poi stampa queste del codice del MACD qui sopra e studia le differenze. In tal modo capirai di cosa va fatto il copia e incolla e quali variabili togliere o sostituire.
Ovviamente, come ripeto, otterrai codice sempre più lento mano a mano che ne aggiungi.