如何在连续两根K线各涨1%时修改当前K线柱颜色?
连续两根K线各自涨幅达标时的上色实现
你需要判断**当前K线和前一根K线都满足涨幅≥1%**的条件,只需要在原有单根判断的基础上,加上对上一根K线状态的校验即可。以下是修改后的完整代码:
//@version=5 indicator("连续两根1%涨幅标记", overlay=true) perc = input.float(1.0, step = 0.1, title="单根K线涨幅阈值(%)") // 单根K线涨幅达标(这里用更直观的涨幅计算方式,和你的原逻辑结果一致) single_cond = (close / open - 1) * 100 > perc // 连续两根都达标:当前K线达标 + 上一根K线也达标 double_cond = single_cond and single_cond[1] // 为符合条件的当前K线柱上色(用barcolor直接给K线柱上色,也可替换为bgcolor给背景上色) barcolor(double_cond ? color.red : na)
关键说明:
single_cond[1]是Pine Script中引用上一根K线数据的语法,通过它可以获取前一根K线是否满足涨幅条件。- 如果你想保留原来的涨幅计算逻辑,把
single_cond替换为你原来的(close - open)*100/close > perc即可,效果一致。 - 用
barcolor比bgcolor更贴合“为K线柱上色”的需求,若需要背景色高亮,改回bgcolor(double_cond ? color.red : na)即可。
内容的提问来源于stack exchange,提问作者babybox
相关产品推荐
相关产品推荐

