如何用Pine Script高亮连续2根(不足4根)同色且成交量符合条件的蜡烛
代码问题说明
- 语法错误:Pine Script中相等判断需使用
==,原代码中条件判断误用了赋值运算符= - 变量名大小写不匹配:此前定义的变量为
twoGreenCandles,后续调用时误写为全小写的twogreencandles,Pine Script对变量名大小写敏感 - 逻辑缺失1:红蜡烛触发着色的条件未添加成交量校验规则
- 逻辑缺失2:未添加「连续同色蜡烛数量不足4根」的判断规则
修正后完整代码
//@version=4 study(title="Highlight candles", overlay=true) // 蜡烛颜色判断 greenCandle = (close > open) redCandle = (close < open) // 连续同色数量判断 consecutiveGreen = barssince(not greenCandle) + 1 consecutiveRed = barssince(not redCandle) + 1 twoGreenCandles = greenCandle[1] and greenCandle and consecutiveGreen < 4 twoRedCandles = redCandle[1] and redCandle and consecutiveRed < 4 // 成交量判断:第二根成交量低于第一根 volumecng = volume[1] > volume // 合并触发条件 greenv2 = twoGreenCandles and volumecng redv2 = twoRedCandles and volumecng // 背景着色 bgcolor(color=greenv2 ? color.lime : na, transp=80) bgcolor(color=redv2 ? color.fuchsia : na, transp=80)
补充说明
- 新增
consecutiveGreen、consecutiveRed变量统计当前连续同色蜡烛的数量,满足「不足4根」的要求 - 红蜡烛着色新增了成交量判断,和绿蜡烛规则保持一致
- 给
bgcolor添加了transp=80参数调整透明度,避免遮挡K线本身的形态,可根据自身需求调整数值(0为完全不透明,100为完全透明)
内容的提问来源于stack exchange,提问作者Blind Blake
相关产品推荐
相关产品推荐

