Meta Signals Pro

Multi Time Frame MACD Divergences

Category: Screeners By: Meta Signals Pro Created: October 8, 2018, 7:22 AM
October 8, 2018, 7:22 AM
Screeners
7 Comments
Multi Time Frame MACD Divergences

Here is a screener that allows you to identify positive and negative divergences of the MACD on a weekly or daily basis ;

The “signal” gives you the Time Frame and the nature of the divergence:

  • 2 is a weekly positive divergence
  • -2 is a weekly negative divergence
  • 1 is a daily positive divergence
  • -1 is a daily negative divergence

You can also tweek the code in order to combine both divergences at will;

Enjoy

// parameters


timeframe (weekly)

MinPrix = close >2.5
MinVolume = summation [10](average[23](volume)> 100000) =10

A=12
B=26
//C=9 //


//MACD

EMAshort1Week = exponentialaverage[A](close)
EMAshort2Week = exponentialaverage[A](EMAshort1Week)
DifferenceShortWeek = EMAshort1Week - EMAshort2Week
ZeroLagShortWeek = EMAshort1Week + DifferenceShortWeek

EMAlong1Week = exponentialaverage[B](close)
EMAlong2Week = exponentialaverage[B](EMAlong1Week)
DifferenceLongWeek = EMAlong1Week - EMAlong2Week
ZeroLagLongWeek = EMAlong1Week + DifferenceLongWeek

ZeroLagMACDWeek = ZeroLagShortWeek - ZeroLagLongWeek

//signal1Week=ExponentialAverage[C](ZEROLAGMACDWeek)
//signal2Week=ExponentialAverage[C](signal1Week)
//DIFFERENCE2Week=signal1Week-signal2Week
//
//SignalMACDWeek=signal1Week+DIFFERENCE2Week


//MyRsiweek = rsi[14](close)>55

/// Divergence MACD Week

V=ZeroLagMACDWeek

once RefCloseDownOldWeek=0
once RefMACDDownOldWeek=0
once RefCloseUpOldWeek=0
once RefMACDUpOldWeek=0
//once BarBullOld=0
//once BarBearOld=0

//Conditions to identify max and min
c1=v[4]>v[2] and v[3]>v[2] and v[1]>v[2] and v>v[2] // down
c2=v[4]<v[2] and v[3]<v[2] and v[1]<v[2] and v<v[2] // top

//finding the double bottom

if c1 then
RefCloseDownNewWeek=close[2]
RefMACDDownNewWeek=v[2]
//BarBullNew=barindex[2]
endif
if RefCloseDownNewWeek<RefCloseDownOldWeek and RefMACDDownNewWeek>RefMACDDownOldWeek then
//double slash next line if you don't needed the mark on a different window
bulldivWeek=1
signal = 2

else
bulldivWeek=0
endif


//Finding the double top
if c2 then
RefCloseUpNewWeek=close[2]
RefMACDUpNewWeek=v[2]
//BarBearNew=barindex[2]
endif
if RefCloseUpNewWeek>RefCloseUpOldWeek and RefMACDUPNewWeek<RefMACDUpOldWeek then
//double slash next line if you don't needed the mark on a different window
beardivWeek=1
signal = -2

else
beardivWeek=0
endif
//grafica
RefCloseDownOldWeek=RefCloseDownNewWeek
RefMACDDownOldWeek=RefMACDDownNewWeek
RefCloseUpOldWeek=RefCloseUpNewWeek
RefMACDUpOldWeek=RefMACDUpNewWeek
//BarBullOldWeek=BarBullNewWeek
//BarBearOldWeek=BarBearNewWeek
//


timeframe (daily)

D=12
E=26
//F=9



//REM MACD

EMAshort1Day = exponentialaverage[D](close)
EMAshort2Day = exponentialaverage[D](EMAshort1Day)
DifferenceShortDay = EMAshort1Day - EMAshort2Day
ZeroLagShortDay = EMAshort1Day + DifferenceShortDay

EMAlong1Day = exponentialaverage[E](close)
EMAlong2Day = exponentialaverage[E](EMAlong1Day)
DifferenceLongDay = EMAlong1Day - EMAlong2Day
ZeroLagLongDay = EMAlong1Day + DifferenceLongDay

ZeroLagMACDDay = ZeroLagShortDay - ZeroLagLongDay

//signal1Day=ExponentialAverage[F](ZEROLAGMACDDay)
//signal2Day=ExponentialAverage[F](signal1Day)
//DIFFERENCE2Day=signal1Day-signal2Day
//
//SignalMACDDay=signal1Day+DIFFERENCE2Day


/// Divergence MACD Day

W=ZeroLagMACDDay

once RefCloseDownOldDay=0
once RefMACDDownOldDay=0
once RefCloseUpOldDay=0
once RefMACDUpOldDay=0
//once BarBullOld=0
//once BarBearOld=0

//Conditions to identify max and min
d1=w[4]>w[2] and w[3]>w[2] and w[1]>w[2] and w>w[2] // down
d2=w[4]<w[2] and w[3]<w[2] and w[1]<w[2] and w<w[2] // top

//finding the double bottom

if d1 then
RefCloseDownNewDay=close[2]
RefMACDDownNewDay=w[2]
//BarBullNewDay=barindex[2]
endif
if RefCloseDownNewDay<RefCloseDownOldDay and RefMACDDownNewDay>RefMACDDownOldDay then
//double slash next line if you don't needed the mark on a different window
bulldivDay=1
signal = 1

else
bulldivDay=0
endif


//Finding the double top
if d2 then
RefCloseUpNewDay=close[2]
RefMACDUpNewDay=w[2]
//BarBearNew=barindex[2]
endif
if RefCloseUpNewDay>RefCloseUpOldDay and RefMACDUPNewDay<RefMACDUpOldDay then
//double slash next line if you don't needed the mark on a different window
beardivDay=1
signal = -1

else
beardivDay=0
endif
//grafica
RefCloseDownOldDay=RefCloseDownNewDay
RefMACDDownOldDay=RefMACDDownNewDay
RefCloseUpOldDay=RefCloseUpNewDay
RefMACDUpOldDay=RefMACDUpNewDay
//BarBullOld=BarBullNew
//BarBearOld=BarBearNew

////////////////////////////////////////////////
SCREENER [((beardivWeek or beardivDay or bulldivWeek or bulldivDay)) and MinPrix and MinVolume ](signal)

Download
Filename: MTF-MACD-Divergences.itf
Downloads: 917
Meta Signals Pro
Meta Signals Pro Veteran
MetaSignalsPro is operated by a small, expert team with a strong background in manual / systematic trading and risk management. Our work is driven by 15 years of practical experience in live market conditions. Please visit: https://market.prorealcode.com/store/meta-signals-pro/ To get the BEST strategies of ProrealCode Please visit: https://www.prorealcode.com/topic/the-best-trading-strategies-of-prc-for-prorealtime-backtests-update-rankings/
Author’s Profile

Comments

MJZTrader
2 years ago
#

Good morning! I was trying to tweek the code in the way as to set it for intraday (1 Min to 60 Min) usage, but unfortunately with very limited success! Can anyone be of help? Thank you very much in advance!

Oliviertrader2020
6 years ago
#

Hello, where do you find the ZeroLagMACDWeek indicator? You only posted the mtf-macd-divergence indicator. Thanks

leoulve
6 years ago
#

Hello, I uploaded correctly the screener and it is not selecting any. Is it normal? cheers

berga
8 years ago
#

Hi, thank you very much for this very useful screener. I would like to get another very close screener based on HIDDEN DIVERGENCES usable with intraday timeframes (5,15 min, H1...). Is it possible to simultaneously have more than 2 timeframe columns on a shorter list of assets ?As I do not know (yet) how to program PRT and to avoid mistakes, could you help me. Thank you in advance.

Kris75
8 years ago
#

Hi Bala, you need first to install ZeroLagMACDWeek indicator and then add on it the divergence indicator

bala
8 years ago
#

Hi Kris, I have imported the screen. I don't see any instrument loaded under this screen. also, how to get the chart like your screenshot? Regards, Bala

Yannick
8 years ago
#

Hello Thanks for sharing your code, I will put in a more complex code. You can reduce CPU usage and time for screening by not executing the code with intrusction if MinPrix = close >2.5 MinVolume = summation [10](average[23](volume)> 100000) =10 If MinPrix and MinVolume then .... Endif

ProRealCode ProRealCode
Loading...