Pine Script开发:对比上一根K线收盘价与过往50根K线并绘竖线
修改后的Pine Script代码:匹配历史收盘价并绘制竖线
以下是实现需求的完整代码,保留了原有的收盘价连线功能,同时新增了对比过去50根K线收盘价并绘制匹配竖线的逻辑:
//@version=4 study("收盘价匹配连线", overlay=true) // 自定义参数设置 cus_line_color = input(#FFFFFF, "收盘价连线颜色") cus_line_width = input(1, "收盘价连线宽度") cus_vline_color = input(#FF0000, "匹配竖线颜色") cus_vline_width = input(2, "匹配竖线宽度") lookback_period = input(50, "回溯对比K线数量") // 绘制上一根K线的收盘价横向连线 var line lastPriceLine = line.new(0, 0, 0, 0) line.set_xy1(lastPriceLine, bar_index - 500, close[1]) line.set_xy2(lastPriceLine, bar_index, close[1]) line.set_color(lastPriceLine, cus_line_color) line.set_width(lastPriceLine, cus_line_width) // 对比历史K线收盘价,匹配时绘制竖线 target_close = close[1] // 遍历过去lookback_period根K线(从倒数第2根到倒数第lookback_period+1根) for i = 2 to lookback_period + 1 if close[i] == target_close // 在匹配的K线位置绘制竖线,覆盖K线高低点范围 line.new(bar_index - i, low[i] * 0.999, bar_index - i, high[i] * 1.001, color=cus_vline_color, width=cus_vline_width, style=line.style_solid)
关键改动说明
- 新增了竖线样式和回溯周期的自定义输入参数,方便调整显示效果。
- 以上一根K线的收盘价为基准值,通过
for循环遍历过去50根K线的收盘价进行对比。 - 当找到收盘价完全相等的K线时,在对应K线的位置绘制竖线,竖线范围略大于K线的高低点,避免被K线本身遮挡。
内容的提问来源于stack exchange,提问作者nicksayo
相关产品推荐
相关产品推荐

