Skip to content

Instantly share code, notes, and snippets.

@SproutSeeds
Created December 6, 2019 03:09
Show Gist options
  • Save SproutSeeds/963c34e00703fb2bd0edd83d3ac1bbf0 to your computer and use it in GitHub Desktop.
Save SproutSeeds/963c34e00703fb2bd0edd83d3ac1bbf0 to your computer and use it in GitHub Desktop.
EMA Cross Strat
//@version=3
study("Fibonacci EMAs", overlay=true)
sLen= input(title="Short EMA Length", defval=13)
mLen= input(title='Middle EMA Length', defval=55)
lLen= input(title='Long EMA Length', defval=89)
sSMAlen = input(title="Short SMA length", defval=50)
lSMAlen = input(title="Long SMA length", defval=200)
// Simple Moving Average example
// lSMA = sma(close, lSMAlen)
// sSMA = sma(close, sSMAlen)
sEMA = ema(close,sLen)
mEMA = ema(close,mLen)
lEMA = ema(close,lLen)
currentOrder = 0
prevOrder= nz(currentOrder[1],0)
currentOrder := (sEMA > mEMA and mEMA >lEMA) ? 1 :((lEMA > mEMA and mEMA > sEMA) ? -1 : 0)
orderChange = currentOrder != prevOrder
bgc = iff(sEMA > lEMA, color(green, 50),color(maroon, 50))
// Assigning a boolean true/false to crossed variable
// crossed = cross(sEMA,lEMA)
p1=plot(sEMA, title='Short EMA', color=blue, linewidth=3, transp=0)
plot(mEMA, title='Mid EMA' ,color=green, linewidth=3, transp=0)
p2=plot(lEMA, title='Long EMA', color=yellow, linewidth=3, transp=0)
bgcolor(orderChange ? bgc : na,title="EMA Order Crossed")
fill(p1,p2, bgc)
// Plotting Simple Moving Averages
// plot(sSMA, title='Short SMA', color=fuchsia, linewidth=3, transp=0)
// plot(lSMA, title='Long SMA', color=maroon, linewidth=3, transp=0)
// Plot arrow at every cross
// plotarrow(crossed?sEMA-lEMA:na, title="EMA Cross", colorup=lime, colordown=red, transp=0, maxheight=20, minheight=20)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment