//@version=5
indicator("script 1 + script 5 ", overlay=true)
length = input(50)
beta = [Link](3., '-Lag', minval=1, maxval=10)
alpha = [Link](3., '+Lag', minval=1, maxval=10)
src = input(close)
//----
var b = array.new_float(0)
var css = array.new_color(na)
if [Link]
for i = 0 to length - 1 by 1
x = i / (length - 1)
w = [Link](x, alpha - 1) * [Link](1 - x, beta - 1)
[Link](b, w)
[Link](css, #FF1100)
[Link](css, #FF1200)
[Link](css, #FF1400)
[Link](css, #FF1500)
[Link](css, #FF1700)
[Link](css, #FF1800)
[Link](css, #FF1A00)
[Link](css, #FF1B00)
[Link](css, #FF1D00)
[Link](css, #FF1F00)
[Link](css, #FF2000)
[Link](css, #FF2200)
[Link](css, #FF2300)
[Link](css, #FF2500)
[Link](css, #FF2600)
[Link](css, #FF2800)
[Link](css, #FF2900)
[Link](css, #FF2B00)
[Link](css, #FF2D00)
[Link](css, #FF2E00)
[Link](css, #FF3000)
[Link](css, #FF3100)
[Link](css, #FF3300)
[Link](css, #FF3400)
[Link](css, #FF3600)
[Link](css, #FF3700)
[Link](css, #FF3900)
[Link](css, #FF3B00)
[Link](css, #FF3C00)
[Link](css, #FF3E00)
[Link](css, #FF3F00)
[Link](css, #FF4100)
[Link](css, #FF4200)
[Link](css, #FF4400)
[Link](css, #FF4500)
[Link](css, #FF4700)
[Link](css, #FF4900)
[Link](css, #FF4A00)
[Link](css, #FF4C00)
[Link](css, #FF4D00)
[Link](css, #FF4F00)
[Link](css, #FF5000)
[Link](css, #FF5200)
[Link](css, #FF5300)
[Link](css, #FF5500)
[Link](css, #FF5700)
[Link](css, #FF5800)
[Link](css, #FF5A00)
[Link](css, #FF5B00)
[Link](css, #FF5D00)
[Link](css, #FF5E00)
[Link](css, #FF6000)
[Link](css, #FF6200)
[Link](css, #FF6300)
[Link](css, #FF6500)
[Link](css, #FF6600)
[Link](css, #FF6800)
[Link](css, #FF6900)
[Link](css, #FF6B00)
[Link](css, #FF6C00)
[Link](css, #FF6E00)
[Link](css, #FF7000)
[Link](css, #FF7100)
[Link](css, #FF7300)
[Link](css, #FF7400)
[Link](css, #FF7600)
[Link](css, #FF7700)
[Link](css, #FF7900)
[Link](css, #FF7A00)
[Link](css, #FF7C00)
[Link](css, #FF7E00)
[Link](css, #FF7F00)
[Link](css, #FF8100)
[Link](css, #FF8200)
[Link](css, #FF8400)
[Link](css, #FF8500)
[Link](css, #FF8700)
[Link](css, #FF8800)
[Link](css, #FF8A00)
[Link](css, #FF8C00)
[Link](css, #FF8D00)
[Link](css, #FF8F00)
[Link](css, #FF9000)
[Link](css, #FF9200)
[Link](css, #FF9300)
[Link](css, #FF9500)
[Link](css, #FF9600)
[Link](css, #FF9800)
[Link](css, #FF9A00)
[Link](css, #FF9B00)
[Link](css, #FF9D00)
[Link](css, #FF9E00)
[Link](css, #FFA000)
[Link](css, #FFA100)
[Link](css, #FFA300)
[Link](css, #FFA400)
[Link](css, #FFA600)
[Link](css, #FFA800)
[Link](css, #FFA900)
[Link](css, #FFAB00)
[Link](css, #FDAC00)
[Link](css, #FBAD02)
[Link](css, #F9AE03)
[Link](css, #F7AE04)
[Link](css, #F5AF06)
[Link](css, #F3B007)
[Link](css, #F1B108)
[Link](css, #EFB20A)
[Link](css, #EDB30B)
[Link](css, #EBB30C)
[Link](css, #E9B40E)
[Link](css, #E7B50F)
[Link](css, #E4B610)
[Link](css, #E2B712)
[Link](css, #E0B813)
[Link](css, #DEB814)
[Link](css, #DCB916)
[Link](css, #DABA17)
[Link](css, #D8BB18)
[Link](css, #D6BC1A)
[Link](css, #D4BD1B)
[Link](css, #D2BD1C)
[Link](css, #D0BE1E)
[Link](css, #CEBF1F)
[Link](css, #CCC020)
[Link](css, #C9C122)
[Link](css, #C7C223)
[Link](css, #C5C224)
[Link](css, #C3C326)
[Link](css, #C1C427)
[Link](css, #BFC528)
[Link](css, #BDC62A)
[Link](css, #BBC72B)
[Link](css, #B9C72C)
[Link](css, #B7C82E)
[Link](css, #B5C92F)
[Link](css, #B3CA30)
[Link](css, #B0CB32)
[Link](css, #AECC33)
[Link](css, #ACCC34)
[Link](css, #AACD36)
[Link](css, #A8CE37)
[Link](css, #A6CF38)
[Link](css, #A4D03A)
[Link](css, #A2D13B)
[Link](css, #A0D13C)
[Link](css, #9ED23E)
[Link](css, #9CD33F)
[Link](css, #9AD440)
[Link](css, #98D542)
[Link](css, #95D643)
[Link](css, #93D644)
[Link](css, #91D746)
[Link](css, #8FD847)
[Link](css, #8DD948)
[Link](css, #8BDA4A)
[Link](css, #89DB4B)
[Link](css, #87DB4C)
[Link](css, #85DC4E)
[Link](css, #83DD4F)
[Link](css, #81DE50)
[Link](css, #7FDF52)
[Link](css, #7CE053)
[Link](css, #7AE054)
[Link](css, #78E156)
[Link](css, #76E257)
[Link](css, #74E358)
[Link](css, #72E45A)
[Link](css, #70E55B)
[Link](css, #6EE55C)
[Link](css, #6CE65E)
[Link](css, #6AE75F)
[Link](css, #68E860)
[Link](css, #66E962)
[Link](css, #64EA63)
[Link](css, #61EA64)
[Link](css, #5FEB66)
[Link](css, #5DEC67)
[Link](css, #5BED68)
[Link](css, #59EE6A)
[Link](css, #57EF6B)
[Link](css, #55EF6C)
[Link](css, #53F06E)
[Link](css, #51F16F)
[Link](css, #4FF270)
[Link](css, #4DF372)
[Link](css, #4BF473)
[Link](css, #48F474)
[Link](css, #46F576)
[Link](css, #44F677)
[Link](css, #42F778)
[Link](css, #40F87A)
[Link](css, #3EF97B)
[Link](css, #3CF97C)
[Link](css, #3AFA7E)
[Link](css, #38FB7F)
[Link](css, #36FC80)
[Link](css, #34FD82)
[Link](css, #32FE83)
[Link](css, #30FF85)
den = [Link](b)
//----
sum = 0.
for i = 0 to length - 1 by 1
sum += src[i] * [Link](b, i)
sum
filt = sum / den
//----
os = [Link](filt, length) / 100
plot(filt, 'Plot', [Link](css, [Link](os * 199)), 2)
showsignals = input(true, title="Show BUY/SELL Signals")
showcandlecolors = input(true, title="Show Candle Colors")
length2 = input(14, title="ADX Length")
smoothing = input(10, title="ADX Smoothing")
macdsource = input(close, title="MACD Source")
macdfast = input(12, title="MACD Fast Length")
macdslow = input(26, title="MACD Slow Length")
macdsignal = input(9, title="MACD Signal Length")
colorup = input([Link], title="Up Candle Color")
colordown = input([Link], title="Down Candle Color")
///////////////////////////////////////////////////////////////////////////////////
//////////// ADX AND MACD CALC
[diplus, diminus, adx] = [Link](length2, smoothing)
[macdline, signalline, histline] = [Link](macdsource, macdfast, macdslow,
macdsignal)
///////////////////////////////////////////////////////////////////////////////////
///////////TRADE CALC
longcheck = diplus > diminus and macdline > signalline
shortcheck = diminus > diplus and signalline > macdline
int trade = 0
//Open from nothing
if trade == 0 and longcheck
trade := 1
else if trade == 0 and shortcheck
trade := -1
//Reversal
else if trade == 1 and shortcheck
trade := -1
else if trade == -1 and longcheck
trade := 1
//Keep status quo until crossover
else
trade := trade[1]
///////////////////////////////////////////////////////////////////////////////////
///////////PLOT
colors = longcheck ? colorup : shortcheck ? colordown : [Link]
plotcandle(open, high, low, close, color = showcandlecolors ? colors : na)
plotshape(trade[1] != 1 and trade == 1 and showsignals, style=[Link],
text='BUY', textcolor=[Link], color=[Link], size=[Link],
location=[Link])
plotshape(trade[1] != -1 and trade == -1 and showsignals, style=[Link],
text='SELL', textcolor=[Link], color=[Link], size=[Link],
location=[Link])
///////////////////////////////////////////////////////////////////////////////////
////////// ALERTS
alertcondition(trade[1] != 1 and trade == 1, "LONG")
alertcondition(trade[1] != -1 and trade == -1, "SHORT")