BINANCE:ALGOUSDT.P   Algorand / TetherUS PERPETUAL CONTRACT
study(title="CM_Enhanced_Ichimoku Cloud-V5.2", shorttitle="CM_Enhanced_Ichimoku-V5.2", overlay=true)
turningPeriods = input(20, minval=1, title="Tenkan-Sen")
standardPeriods = input(60, minval=1, title="Kijun-Sen")
specialAPeriods = input(120, minval=1, title="Kijun-Sen (auxiliary)")

leadingSpan2Periods = input(120, minval=1, title="Senkou Span B")
displacement = input(30, minval=1, title="-ChikouSpan/+SenkouSpan A")
sts = input(true, title="Show Tenkan-Sen")
sks = input(true, title="Show Kijun-Sen")
sksA = input(true, title="Show Kijun-Sen (auxiliary)")
sll = input(true, title="Show Chikou Span (lagging span)?")
sc = input(true, title="Show cloud")
cr1 = input(true, title="Show crossings Tenkan/Kijun")

//Definitions for Tenkan-Sen (20 Period), Kijun-Sen (60 Period), Chikou Span (Lagging Line)
donchian(len) => avg(lowest(len), highest(len))
turning = donchian(turningPeriods)
standard = donchian(standardPeriods)
specialA = donchian(specialAPeriods)
leadingSpan1 = avg(turning, standard)
leadingSpan2 = donchian(leadingSpan2Periods)

//Crosses up/down Tenkan-Sen (20 Period) and Kijun-Sen (60 Period)
crossUpTenkanKinjun = turning < standard and turning >= standard ? 1 : 0
crossDnTenkanKinjun = turning > standard and turning <= standard ? 1 : 0
leadingSpan1Above = leadingSpan1 >= leadingSpan2 ? 1 : na
leadingSpan2Below = leadingSpan1 <= leadingSpan2 ? 1 : na
span1plotU = leadingSpan1Above ? leadingSpan1 : na
span2plotU = leadingSpan1Above ? leadingSpan2 : na
span1plotD = leadingSpan2Below ? leadingSpan1 : na
span2plotD = leadingSpan2Below ? leadingSpan2 : na
col = leadingSpan1 >= leadingSpan2 ? #7D71FC : #E68F8F // bullish, bearish

//Cloud Lines Plot Statements - ***Regular Lines to Fill in Break in Gap
plot(sc and leadingSpan1 ? leadingSpan1 : na, title = 'Senkou Span A cloud', style=line, linewidth=1, offset = displacement, color=col)
plot(sc and leadingSpan2 ? leadingSpan2 : na, title = 'Senkou Span B cloud', style=line, linewidth=3, offset = displacement, color=col)

//Cloud Lines Plot Statements - ***linebr to create rules for change in Shading
p1 = plot(sc and span1plotU ? span1plotU : na, title = 'Senkou Span A above Span B Cloud', style=linebr, linewidth=1, offset = displacement, color=col)
p2 = plot(sc and span2plotU ? span2plotU : na, title = 'Senkou Span B below Span A Cloud', style=linebr, linewidth=1, offset = displacement, color=col)
p3 = plot(sc and span1plotD ? span1plotD : na, title = 'Senkou Span A below Span B Cloud', style=linebr, linewidth=1, offset = displacement, color=col)
p4 = plot(sc and span2plotD ? span2plotD : na, title = 'Senkou Span B above Span A Cloud', style=linebr, linewidth=1, offset = displacement, color=col)

//Fills that color cloud based on Trend.
fill(p1, p2, color=#361CCA ,title='Kumo (Cloud)') // bullish cloud
fill(p3, p4, color=#CA1C59, title='Kumo (Cloud)') // bearish cloud

//plots for 3 lines other than cloud.
plot(sts and turning ? turning : na, title = 'Tenkan-Sen', linewidth=2, color=orange, transp=0)
plot(sks and standard ? standard : na, title = 'Kijun-Sen', linewidth=3, color=blue, transp=0)
plot(sksA and specialA ? specialA : na, title = 'Kijun-Sen auxiliary I', linewidth=2, color=black, transp=0)

plot(sll and close ? close : na, title='Chikou Span (Lagging Span)', linewidth=2, offset = -displacement, color=#A900FF)

//Arrow Plots At Tenkan-Sen (20 Period) and Kinjun-Sen (60 Period)
plotchar(cr1 and crossUpTenkanKinjun ? leadingSpan1 : na, title="CrossUp Tenkan Kijun Entry Arrow",char='▲', color=black, transp=0, location=location.absolute, size=size.small)
plotchar(cr1 and crossDnTenkanKinjun ? leadingSpan1 : na, title="CrossUp Tenkan Kijun Entry Arrow",char='▼', color=black, transp=0, location=location.absolute, size=size.small)
Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.