Buongiorno Roberto, ti chiedo se è possibile trasformare l’indicatore che allego in screenner.
Grazie
fast=12
slow=26
signal=9
length=20
multiplier=2.0
// MACD
MyMACDline = ExponentialAverage[fast](close)-ExponentialAverage[slow](close)
signalline = ExponentialAverage[signal](MyMACDline)
// bollinger
midline = Average[length](close)
lowerBoll = midline-multiplier*STD[length](close)
upperBoll = midline+multiplier*STD[length](close)
// Signal
buySignal = Min(open[1],close[1]) <= lowerBoll[1] and Max(open[1],close[1]) <= midline and MyMACDline[1] > signalline[1] and MyMACDline[2] < signalline[2]
sellsignal = Max(open[1],close[1]) >= upperBoll[1] and Min(open[1],close[1]) >= midline and MyMACDline[1] < signalline[1] and MyMACDline[2] > signalline[2]
// Plotting
If buySignal then
DRAWARROWUP(barindex, low-10) coloured(“green”,255)
Drawsegment(barindex-1, low[1] – (high[1] – low[1]) * 2, barindex+2, low[1] – (high[1] – low[1]) * 2) coloured(“blue”,255)
Endif
If sellsignal then
DRAWARROWDOWN(barindex, high+10)coloured(“red”,255)
Drawsegment(barindex-1, high[1] + (high[1] – low[1]) * 2, barindex+2, high[1] + (high[1] – low[1]) * 2) coloured(“blue”,255)
Endif
Return
Per trasformare il tuo codice in uno screener, dobbiamo adattarlo per cercare i titoli che soddisfano le condizioni di buySignal o sellSignal. Ecco come potrebbe apparire lo screener:
// Parametri dell'indicatore
fast = 12
slow = 26
signal = 9
length = 20
multiplier = 2.0
// MACD
MyMACDline = ExponentialAverage[fast](close) - ExponentialAverage[slow](close)
signalline = ExponentialAverage[signal](MyMACDline)
// Bollinger Bands
midline = Averagelength
lowerBoll = midline - multiplier * STDlength
upperBoll = midline + multiplier * STDlength
// Segnali di acquisto e vendita
buySignal = Min(open[1], close[1]) <= lowerBoll[1] AND Max(open[1], close[1]) <= midline AND MyMACDline[1] > signalline[1] AND MyMACDline[2] < signalline[2]
sellSignal = Max(open[1], close[1]) >= upperBoll[1] AND Min(open[1], close[1]) >= midline AND MyMACDline[1] < signalline[1] AND MyMACDline[2] > signalline[2]
// Implementazione dello Screener
SCREENER[buySignal OR sellSignal]
Questo codice screener identificherà i titoli che hanno un segnale di acquisto o vendita secondo le condizioni che hai definito. Puoi utilizzare questo screener su ProRealTime per filtrare i titoli e trovare quelli che corrispondono ai criteri del tuo indicatore.
Eccolo completo:
// Parametri dell'indicatore
Averagelength = 20
STDlength = 2.0
fast = 12
slow = 26
signal = 9
multiplier = 2.0
// MACD
MyMACDline = ExponentialAverage[fast](close) - ExponentialAverage[slow](close)
signalline = ExponentialAverage[signal](MyMACDline)
// Bollinger Bands
midline = Averagelength
lowerBoll = midline - multiplier * STDlength
upperBoll = midline + multiplier * STDlength
// Segnali di acquisto e vendita
buySignal = Min(open[1], close[1]) <= lowerBoll[1] AND Max(open[1], close[1]) <= midline AND MyMACDline[1] > signalline[1] AND MyMACDline[2] < signalline[2]
sellSignal = Max(open[1], close[1]) >= upperBoll[1] AND Min(open[1], close[1]) >= midline AND MyMACDline[1] < signalline[1] AND MyMACDline[2] > signalline[2]
// Implementazione dello Screener
SCREENER[buySignal OR sellSignal]