Indicator: Elder Impulse System

According to Elder, "The Impulse System encourages you to enter a trade cautiously but exit fast, by identifying inflection points where a trend speeds up or slows down. This is the professional approach to trading, the total opposite of the amateur's style. Beginners jump into trades without thinking too much and take forever to get out, hoping and waiting for the market to turn their way."

The Impulse System is based on two indicators, a 13-day exponential moving average and the MACD-Histogram. The moving average identifies the trend, while the MACD-Histogram measures momentum. As a result, the Impulse System combines trend following and momentum to identify impulses that can be traded.

By default it uses your chart's time frame, but you can set it to any custom time frame via options page. Optionally, price bars can be color coded too.

More info:

Steps to import / use custom indicators from this chart:

List of my free indicators:
List of my indicators at Appstore:
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Want to use this script on a chart?
// @author LazyBear
// If you use this code in its original/modified form, do drop me a note. 
study("Elder Impulse System [LazyBear]", shorttitle="EIS_LB")
useCustomResolution=input(false, type=bool)
customResolution=input("D", type=resolution)
source = security(tickerid, useCustomResolution ? customResolution : period, close)
showColorBars=input(false, type=bool)
lengthEMA = input(13)
fastLength = input(12, minval=1), slowLength=input(26,minval=1)

calc_hist(source, fastLength, slowLength) =>
    fastMA = ema(source, fastLength)
    slowMA = ema(source, slowLength)
    macd = fastMA - slowMA
    signal = sma(macd, signalLength)
    macd - signal

get_color(emaSeries, macdHist) =>
    g_f = (emaSeries > emaSeries[1]) and (macdHist > macdHist[1])
    r_f = (emaSeries < emaSeries[1]) and (macdHist < macdHist[1])
    g_f ? green : r_f ? red : blue
b_color = get_color(ema(source, lengthEMA), calc_hist(source, fastLength, slowLength))    
bgcolor(b_color, transp=0)
barcolor(showColorBars ? b_color : na)