Moving Average Colored EMA/SMA

This script will give you the ability to put an EMA and/or SMA on the chart that changes color based upon the direction. Default at startup is EMA visible and SMA hidden. When the MA is moving up, it is green. When the MA is moving down, it is red. You can change the color to whatever you like.
Remove from Favorite Scripts Add to Favorite Scripts
//Created by Robert Nance on 072315
study(title="Moving Average Colored EMA/SMA", shorttitle="Colored EMA /SMA", overlay=true)
emaplot = input (true, title="Show EMA on chart")
len = input(8, minval=1, title="ema Length")
src = close
out = ema(src, len)
up = out > out[1]
down = out < out[1]
mycolor = up ? green : down ? red : blue
plot(out and emaplot ? out :na, title="EMA", color=mycolor, linewidth=3)

smaplot = input (false, title="Show SMA on chart")
len2 = input(8, minval=1, title="sma Length")
src2 = close
out2 = sma(src2, len2)
up2 = out2 > out2[1]
down2 = out2 < out2[1]
mycolor2 = up2 ? green : down2 ? red : blue
plot(out2 and smaplot ? out2 :na , title="SMA", color=mycolor2, linewidth=1)
Great thanks so much!
In addition I would like to get the same type of colored EMA applied not only on charts, but also on indicators (for example, I wish to do it for an EMA of a stochastic or of a MACD zero lag).
Could you help me to get it ?

Thanks in advance,
@ebly, Just right click on the indicator (i.e. Stochastic) and "apply indicator on Stochastic"
This is really great, thanks for making it available.

I'm trying to apply the idea to this HPotter's ADV Line indicator, but can't figure it out. Any chance you could help?
This is the code:

study(title="Advance/Decline Volume Line", shorttitle="ADV Line", overlay = false)
AdvSymbolVolume = input(title="Advancing Volume Symbol", type=symbol, defval="USI:UVOL")
DecSymbolVolume = input(title="Declining Volume Symbol", type=symbol, defval="USI:DVOL")
Resolutin = input(title="Resolution", type=resolution, defval="D")
xASVValue = security(AdvSymbolVolume, Resolutin, close)
xDSVValue = security(DecSymbolVolume, Resolutin, close)
NetADV = xASVValue - xDSVValue
nRes = nz(nRes, 0) + NetADV
plot(nRes, color=green, title="ADV Line", style=line)

Many thanks in advance.
@OTMRob, At first glance you are trying to create a new value that is referencing itself (nRes): nRes = nz(nRes, 0) + NetADV
@repo32, thanks for the reply, sorry to take so long to reply myself, I hadn't noticed the alert...
I'm not familiar enough with pine to understand what you're saying there about the self referencing value, unfortunately, but would love to try to understand if you have the time to explain. This is @HPotter 's script.

I would be happy to pay for the script above with code that changes color based upon the direction added in.

@OTMRob, Please post the link to the script.

Thanks in advance.
@OTMRob, Just remove the last line from his script and add the following:

UnRes = nRes > nRes
DnRes = nRes < nRes
mycolor =UnRes ? green : DnRes ? red:blue
plot(nRes, color=mycolor, title="ADV Line", style=line)
@repo32, Not sure why the is being removed from the end of the first two lines.
EN English
EN English (UK)
EN English (IN)
DE Deutsch
FR Français
ES Español
IT Italiano
PL Polski
TR Türkçe
RU Русский
PT Português
ID Bahasa Indonesia
MS Bahasa Melayu
TH ภาษาไทย
VI Tiếng Việt
JA 日本語
KO 한국어
ZH 简体中文
ZH 繁體中文
Home Stock Screener Forex Signal Finder Cryptocurrency Signal Finder Economic Calendar How It Works Chart Features House Rules Moderators Website & Broker Solutions Widgets Stock Charting Library Feature Request Blog & News FAQ Help & Wiki Twitter
Profile Profile Settings Account and Billing My Support Tickets Contact Support Ideas Published Followers Following Private Messages Chat Sign Out