I'm setting up an alarm system on ichimoku. I need four parameters for it to alarm but I was able to run three parameters.
- [OK] when the cloud on the right changes color,
- [OK] if the candle close is above the cloud,
- [OK] Tenkan-Kijun lines (blue, red) crossing
- [??] Chikouspan (green) line closing above or below the cloud and price
when three parameters are captured, it creates the green/red circle symbol for the Long/Short position at the bottom
but i have to manually check the green line for incoming signals like this.
this occurs a few candles after the signal arrives and you have no choice but to wait. or it will return before the conditions are met and cause it to produce a false signal.
I can't include the green line (chikouspan) in the signal
The green line;
- For long position: should close above candles and cloud
- For the short position: it should close below the candles and the cloud.
Does anyone know how I can achieve this and can help?
I am sharing the codes clearly below. Anyone can use it. Have a good day..
//@version=5
indicator(title="YC Ichimoku Cloud", shorttitle="YC Ichimoku", overlay=true)
TenkanPeriods = input.int(9, minval=1, title="ICH: Tenkan-Sen Line Length")
KijunPeriods = input.int(26, minval=1, title="ICH: Kijun-Sen Line Length")
SenkouBPeriods = input.int(52, minval=1, title="ICH: SenkouSpan B Length")
displacement = input.int(26, minval=1, title="ICH: Yerdeğişim")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
TenkanLine = donchian(TenkanPeriods)
KijunLine = donchian(KijunPeriods)
SenkouA = math.avg(TenkanLine, KijunLine)
SenkouB = donchian(SenkouBPeriods)
plot(TenkanLine, color=color.new(color.blue,20), title="ICH: Tenkan-Sen Line")
plot(KijunLine, color=color.new(#f83444,20), title="ICH: Kijun-Sen Line")
plot(close, offset = -displacement + 1, color=color.new(#48a84d, transp=30), title="ICH: ChikouSpan")
p1 = plot(SenkouA, offset = displacement - 1, color=color.new(#A5D6A7, transp=80),
title="ICH: Senkou Span A")
p2 = plot(SenkouB, offset = displacement - 1, color=color.new(#EF9A9A, transp=80),
title="ICH: Senkou Span B")
fill(p1, p2, color = SenkouA > SenkouB ? color.rgb(67, 160, 71, 92) : color.rgb(244, 67, 54, 92))
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
BulutuBekle = input.bool(true, title='ICH: Bulut Onayını Bekle')
LongSgn = input.bool(true, title='ICH: Long Sinyal')
ShortSgn = input.bool(true, title='ICH: Short Sinyal')
SsHigh = math.max(SenkouA[displacement - 1], SenkouB[displacement - 1])
SsLow = math.min(SenkouA[displacement - 1], SenkouB[displacement - 1])
TkL = TenkanLine > KijunLine
TkS = TenkanLine < KijunLine
CsL = ta.mom(close, displacement -1) > 0
CsS = ta.mom(close, displacement -1) < 0
FiyatBulutUstu = close > SsHigh
FiyatBulutAlti = close < SsLow
AlSinyal = TkL and CsL and FiyatBulutUstu
SatSinyal = TkS and CsS and FiyatBulutAlti
YesilBulut = SenkouA > SenkouB ? true : false
if BulutuBekle
AlSinyal := AlSinyal and YesilBulut
SatSinyal := SatSinyal and not YesilBulut
SatSinyal
InLong = false
InLong := InLong[1]
InShort = false
InShort := InShort[1]
open_long = AlSinyal and not InLong
open_short = SatSinyal and InLong
if open_long
InLong := true
InLong
if open_short
InLong := false
InLong
plotchar(open_long and LongSgn, title = 'ICH: Long Sgn', char='•', color = color.new(color.lime, transp = 30) ,location = location.bottom, size = size.tiny)
plotchar(open_short and ShortSgn, title = 'ICH: Short Sgn', char='•', color = color.new(color.red, transp = 10) ,location = location.bottom, size = size.tiny)