Buongiorno, è possibile creare uno screener con il MACD utilizzandolo incroci al rialzo/ribasso con possibili segnali di entrata e uscita tramite freccia sul grafico?
ProScreener non consente di stampare sul grafico, però si possono creare sia uno screener che un indicatore, identici nel funzi0namento, li esegui entrambi ed ottieni il risultato desiderato. L’indicatore ovrai metterlo SUI prezzi, non sotto come il comune MACD.
Esempi:
Offset = 10 * pipsize
// formula MACD 12,26,9
//
MyMACD = ExponentialAverage[12](close) - ExponentialAverage[26](close)
MySignalLine = ExponentialAverage[9](MyMACD)
//MyHisto = MyMACD - MySignalLine
//
Up = MyMACD CROSSES OVER MySignalLine
Dn = MyMACD CROSSES UNDER MySignalLine
IF Up THEN
DRAWARROWUP(barindex,low-offset)coloured(0,128,0,255)
ELSIF Dn THEN
DRAWARROWDOWN(barindex,high+offset)coloured(255,0,0,255)
ENDIF
RETURN
// formula MACD 12,26,9
//
MyMACD = ExponentialAverage[12](close) - ExponentialAverage[26](close)
MySignalLine = ExponentialAverage[9](MyMACD)
//MyHisto = MyMACD - MySignalLine
//
Up = MyMACD CROSSES OVER MySignalLine
Dn = MyMACD CROSSES UNDER MySignalLine
Risultato = 0
IF Up THEN
Risultato = 1
ELSIF Dn THEN
Risultato = 2
ENDIF
SCREENER [Risultato](Risultato as "1=↑, 2=↓")
Sei un grande Roberto grazie 1000
Buona sera Roberto, facendo seguito a un’altra richiesta qui sul forum sulla quale avevi risposto con il seguente procreener, chiedevo se fosse possibile aggiungere un macd (60,130,45) (pari al macd giornsliero x 5) cosi da cercare i titoli che incrociano sul macd in linea con un trend settimanale, cioè estraggo tutti i titoli dove ambedue i macd incrociano come da allegato. Grazie mille per la risposta. buona serata
MyMACD = ExponentialAverage[12](close) - ExponentialAverage[26](close)
MySignalLine = ExponentialAverage[9](MyMACD)
//MyHisto = MyMACD - MySignalLine
//
Up = MyMACD CROSSES OVER MySignalLine
Dn = MyMACD CROSSES UNDER MySignalLine
Risultato = 0
IF Up THEN
Risultato = 1
ELSIF Dn THEN
Risultato = 2
ENDIF
SCREENER [Risultato](Risultato as "1=↑, 2=↓")
>> Per chiarezza dei messaggi sul Forum di Prorealcode, separate le parti del vostro codice usando il pulsante per l’inserimento del testo del codice. <<
Grazie 😊
Moltiplicando i periodi giornalieri per 5, di qualunque indicatore, NON si ottiene quello settimanale, come pure moltiplicando i periodi del 5 minuti per 12 NON si ottiene l’orario.
Può forse fare un’eccezione la media semplice perché è una semplice somma.
Se vuoi te lo faccio, però ProScreener permette permette di usare time frame multipli, per cui il Macd settimanale si può calcolare in modo ordinario separatamente dal giornaliero ecc…
Se fai un backtest di questa strategia potrai vedere, nella finestra delle variabili, i valori diversi dei due MACD:
Timeframe(daily)
MacdDW = ExponentialAverage[60](close) - ExponentialAverage[130](close)
LineDW = ExponentialAverage[45](MacdDW)
//
Timeframe(weekly)
MacdW = ExponentialAverage[12](close) - ExponentialAverage[26](close)
LineW = ExponentialAverage[9](MacdW)
//
Timeframe(default)
buy at -close limit
Graph MacdDW coloured(255,0,0,255)
Graph MacdW coloured(0,255,0,255)
Ad ogni modo, questo è quello con i valori moltiplicati:
MacdW = ExponentialAverage[60](close) - ExponentialAverage[130](close)
LineW = ExponentialAverage[45](MacdW)
UPcrossW = MacdW CROSSES OVER LineW
DNcrossW = MacdW CROSSES UNDER LineW
//
MacdD = ExponentialAverage[12](close) - ExponentialAverage[26](close)
LineD = ExponentialAverage[9](MacdD)
//
UPcrossD = MacdD CROSSES OVER LineD
DNcrossD = MacdD CROSSES UNDER LineD
//
Risultato = 0
If UPcrossW > 0 and UPcrossD > 0 Then
Risultato = 1
Elsif DNcrossW > 0 and DNcrossD > 0 Then
Risultato = 2
Endif
SCREENER [Risultato](Risultato as "1=↑, 2=↓")
E questo è quello utilizzando il supporto MTF, multi time frame (ed è quello con i risultati corretti):
Timeframe(daily)
MacdD = ExponentialAverage[12](close) - ExponentialAverage[26](close)
LineD = ExponentialAverage[9](MacdD)
//
Timeframe(weekly)
MacdW = ExponentialAverage[12](close) - ExponentialAverage[26](close)
LineW = ExponentialAverage[9](MacdW)
//
Timeframe(default)
UPcrossD = MacdD CROSSES OVER LineD
DNcrossD = MacdD CROSSES UNDER LineD
UPcrossW = MacdW CROSSES OVER LineW
DNcrossW = MacdW CROSSES UNDER LineW
//
Risultato = 0
If UPcrossW > 0 and UPcrossD > 0 Then
Risultato = 1
Elsif DNcrossW > 0 and DNcrossD > 0 Then
Risultato = 2
Endif
SCREENER [Risultato](Risultato as "1=↑, 2=↓")
Buona sera Roberto, facendo seguito a un’altra richiesta qui sul forum sulla quale avevi risposto con il seguente procreener, chiedevo se fosse possibile aggiungere un macd (60,130,45) (pari al macd giornsliero x 5) cosi da cercare i titoli che incrociano sul macd in linea con un trend settimanale, cioè estraggo tutti i titoli dove ambedue i macd incrociano come da allegato. Grazie mille per la risposta. buona serata
MyMACD = ExponentialAverage[12](close) – ExponentialAverage[26](close)
MySignalLine = ExponentialAverage[9](MyMACD)
//MyHisto = MyMACD – MySignalLine
//
Up = MyMACD CROSSES OVER MySignalLine
Dn = MyMACD CROSSES UNDER MySignalLine
Risultato = 0
IF Up THEN
Risultato = 1
ELSIF Dn THEN
Risultato = 2
ENDIF
SCREENER [Risultato](Risultato as “1=↑, 2=↓”)
Grazie mille Roberto, provo il tutto .scusa per il nuovo invio della richiesta ma ho sbagliato. buona serata e grazie ancora per la pazienza.
Avevi già postato la richiesta e non capisco perché tu l’abbia duplicato, anche perché ti ho già risposto.
Tra l’altro hai scritto senza leggere, avendo ripetuto l’errore di non utilizzare l’apposito pulsante per l’inserimento del codice “Insert PRT code”.
Ti prego di fare più attenzione.
Grazie 🙂