LazyBear

MAC-Z Indicator [LazyBear]

This indicator is a composite of MACD and Z-Score (requested by @ChartAt). The general idea is that counter-trend component of the Z-score is used to adjust/improve the trend component of the MACD . The advantage is that it is a more accurate and “assumption-free” and can more accurately describe how a market or stock actually works in a given time frame.

I have also added support to smooth out the MAC-Z using Laguerre filter (Thanks @TheLark for the excellent LMA). Note that smoothing removes the "noise" component additive of Z-Score, so you may miss some good signals. By default Laguerre smoothing is OFF, I suggest playing with the Gamma to see if you can find a proper trade-off value.

Theme credits --> @liw0

More info:
http://cssanalytics.wordpress.com/2010/05/11/the-relationship-between-the-macd-and-z-score-creating-the-mac-z-score/
Remove from Favorite Scripts Add to Favorite Scripts
//
// @author LazyBear 
// List of all my indicators: https://www.tradingview.com/v/4IneGo8h/
//
study("MAC-Z Indicator [LazyBear]", shorttitle="MACZ_LB")
fastLength = input(12, minval=1, title="MACD Fast MA Length"), slowLength=input(25,minval=1, title="MACD Slow MA Length")
signalLength=input(9, title="MACD Signal Length")
lengthz = input(25, title="ZScore Length")
lengthStdev=input(25, title="Stdev Length")
A=input(1.0, minval=-2.0, maxval=2.0, title="MACZ constant A")
B=input(1.0, minval=-2.0, maxval=2.0, title="MACZ constant B")
useLag=input(false, type=bool, title="Apply Laguerre Smoothing")
gamma = input(0.02, title="Laguerre Gamma")

source = close
calc_wima(src, length) => 
    MA_s=(src + nz(MA_s[1] * (length-1)))/length
    MA_s

calc_laguerre(s,g) =>
    l0 = (1 - g)*s+g*nz(l0[1])
    l1 = -g*l0+nz(l0[1])+g*nz(l1[1])
    l2 = -g*l1+nz(l1[1])+g*nz(l2[1])
    l3 = -g*l2+nz(l2[1])+g*nz(l3[1])
    (l0 + 2*l1 + 2*l2 + l3)/6


zscore = ( source - calc_wima( source, lengthz ) ) / stdev( source, lengthz )
fastMA = sma(source, fastLength)
slowMA = sma(source, slowLength)
macd = fastMA - slowMA
macz_t=zscore*A+ macd/stdev(source, lengthStdev)*B
macz=useLag ? calc_laguerre(macz_t,gamma) : macz_t
signal=sma(macz, signalLength)
hist=macz-signal

plot(hist, color=red, style=histogram, title="Histogram")
plot(macz, color=green, title="MAC-Z")
plot(signal, color=orange, title="Signal")


SO FAR THE BEST IN MY COLLECTION.. SUPER LEADING INDICATOR.. LAZY BEAR.. KING OF INDICATOR..HATS OFF...THANKS
Reply
If I may, since you offered the invitation, traders can experiment with the settings for Laguerre function with the following gamma ratios of 0.577215 (Euler's constant), 0.739085 (Dottie number), 0.618 (fib), 0.786129 (square root of 0.618), 0.809 (one half of 1.618), 0.886 (Spearman's critical value ALSO a critical value for Harmonic patterns). Everyone tends to have personal preference with figures and then of course each trading instrument has their own sine wave frequency. If those figures seem too "slow" or smooth for personal preference simply take a fraction of a particular figure. Example, for ratio 0.886 set the gamma to 0.0886. Hope this helps.

Love your work LB, keep posting!

sjc

Reply
LazyBear PRO coondawg71
Thx for sharing this info. Defn worth checking out.
Reply
Does this work on Mt4?
Reply
This is written in Pinescript (Tradingview's scripting language), so cannot be run directly on MT4.
Reply
Thank you very much! I'm excited to try this out.
Reply
yw
Reply
Where is this metatrader 4 version you speak of?
Reply
LazyBear PRO JesseGreen
MT4 version?
Reply
Very cool stuff, MAC-Z is an interesting concept, will add that to my long list of things to do hehe, I'll let you know if I come up with anything interesting
Reply
United States
United Kingdom
India
España
France
Italia
Polska
Brasil
Россия
Türkiye
Indonesia
Malaysia
日本
한국
Home Stock Screener Forex Signal Finder Economic Calendar How It Works Chart Features House Rules Moderators For the WEB Widgets Stock Charting Library Priority Support Feature Request Blog & News FAQ Help & Wiki Twitter
Profile Profile Settings Account and Billing Priority Support Ideas Published Followers Following Private Messages Chat Sign Out