//@version=5 indicator("Ichimoku with Buy/Sell Signals", overlay=true) // 一目均衡表の設定 tenkan_len = input.int(9, "Conversion Line Length") kijun_len = input.int(26, "Base Line Length") senkou_span_b_len = input.int(52, "Leading Span B Length") displacement = input.int(26, "Displacement") // 計算 tenkan_sen = (ta.highest(high, tenkan_len) + ta.lowest(low, tenkan_len)) / 2 kijun_sen = (ta.highest(high, kijun_len) + ta.lowest(low, kijun_len)) / 2 senkou_span_a = (tenkan_sen + kijun_sen) / 2 senkou_span_b = (ta.highest(high, senkou_span_b_len) + ta.lowest(low, senkou_span_b_len)) / 2 chikou_span = close[displacement] // プロット plot(tenkan_sen, color=color.red, title="Tenkan-sen") plot(kijun_sen, color=color.blue, title="Kijun-sen") plot(close, offset=-displacement, color=color.green, title="Chikou Span") // スパンAとBをplot → handleを取得 spanA_plot = plot(senkou_span_a, offset=displacement, color=color.orange, title="Senkou Span A") spanB_plot = plot(senkou_span_b, offset=displacement, color=color.purple, title="Senkou Span B") // 雲を塗る(fillを使用) fill(spanA_plot, spanB_plot, color=senkou_span_a > senkou_span_b ? color.new(color.green, 80) : color.new(color.red, 80)) // 売買シグナル条件 buySignal = ta.crossover(tenkan_sen, kijun_sen) sellSignal = ta.crossunder(tenkan_sen, kijun_sen) // 矢印を表示 plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.tiny) plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.tiny)