如何在TradingView Pine Script中绘制多根K线涨跌幅并标记信号
问题解答
plotshape的series参数可以直接传入布尔判断条件,返回true的K线位置就会触发图形绘制,你遇到的语法错误是代码其他书写问题导致的。
错误点梳理
plotshape代码行前有多余的缩进,Pine Script语法对缩进要求严格,非代码块的多余缩进会直接触发语法报错。- 你给
Diff、PercentChange变量加了var修饰符,var声明的变量只会在脚本初始化时计算一次,后续所有K线都不会更新数值,完全不符合每根K线都要统计近5周期涨幅的需求,需要去掉var关键字。 - 旧版
study函数已经被Pine Script v5弃用,现在统一用indicator声明脚本,避免版本兼容导致的报错。
修正后完整代码
//@version=5 indicator(title="20% change in 5 candles", overlay=true) // 计算近5根K线累计涨跌幅 Diff = close - close[5] PercentChange = Diff / close[5] // 标记符合条件的K线 plotshape(series=PercentChange > 0.2, title="涨幅达标", location=location.belowbar, color=color.green, style=shape.triangleup, text="20%+") // 预警条件 alertcondition(PercentChange > 0.2, title="5根K线涨幅达20%", message="5根K线累计涨幅已达到20%")
内容的提问来源于stack exchange,提问作者Calex
相关产品推荐
相关产品推荐

