//@version=6
indicator("Ichimoku Cloud", "ICHI", overlay = true)
conversionLength = input.int(9, "Conversion Line Length", minval = 1)
baseLength = input.int(26, "Base Line Length", minval = 1)
spanBLength = input.int(52, "Leading Span B Length", minval = 1)
displacement = input.int(26, "Lagging Span", minval = 1)
donchian(length) =>
math.avg(ta.lowest(length), ta.highest(length))
conversionLine = donchian(conversionLength)
baseLine = donchian(baseLength)
spanA = math.avg(conversionLine, baseLine)
spanB = donchian(spanBLength)
plot(conversionLine, "Conversion Line", #2962FF)
plot(baseLine, "Base Line", #B71C1C)
plot(close, "Lagging Span", #43A047, offset = -displacement + 1)
spanAPlot = plot(spanA, "Leading Span A", #A5D6A7, offset = displacement - 1)
spanBPlot = plot(spanB, "Leading Span B", #EF9A9A, offset = displacement - 1)
plot(math.max(spanA, spanB), "Kumo Cloud Upper Line", offset = displacement - 1, display = display.none)
plot(math.min(spanA, spanB), "Kumo Cloud Lower Line", offset = displacement - 1, display = display.none)
fill(spanAPlot, spanBPlot, spanA > spanB ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))