如何将Pine Script v5中10周期最高值折线转换为方波?
Pine Script v5:将10周期最高值折线转换为方波样式
原代码通过ta.highest(high, 10)计算的10周期最高值会随K线连续变化,产生倾斜折线。要实现方波样式,需让线条保持水平,直到新的10周期高点出现才跳变到新值,具体实现如下:
完整代码
//@version=5 indicator("10周期最高值方波", overlay=true) // 计算10周期最高值 high10 = ta.highest(high, 10) // 用var变量持久化存储方波高点,仅在出现新高时更新 var float squareHigh10 = na squareHigh10 := na(squareHigh10) ? high10 : (high10 > squareHigh10 ? high10 : squareHigh10) // 绘制方波折线,style=plot.style_linebr让跳变处垂直转折 plot(squareHigh10, title='High10 方波', linewidth=2, color=color.lime, style=plot.style_linebr)
关键逻辑说明
- 用
var定义squareHigh10,该变量仅在脚本初始化时赋值一次,后续K线默认保留上一次的数值。 - 仅当当前10周期高点大于之前记录的方波高点时,才更新
squareHigh10的值;其余时段保持原有水平值,彻底消除倾斜部分。 plot.style_linebr参数让折线在数值跳变处直接垂直转折,更直观呈现方波的阶梯效果(即使不设置该参数,由于数值保持水平,线条也会是方波形态)。
内容的提问来源于stack exchange,提问作者user3848207
相关产品推荐
相关产品推荐

