You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用plotcandle选择性绘制高峰值K线?

实现仅绘制高峰值K线的方法

可以用plotcandle实现只显示is_high_peak为true的K线,核心思路是将不符合条件的K线的开、收、高、低数据设为na,因为plotcandle会自动忽略值为na的K线。

完整代码示例

//@version=5
indicator("仅显示高峰值K线", overlay=true)

// 你的高峰值判断条件
is_high_peak = (high[1] > high[2]) and (high <= high[1])

// 仅保留符合条件的K线数据,其余设为na
open_val = is_high_peak ? open : na
close_val = is_high_peak ? close : na
high_val = is_high_peak ? high : na
low_val = is_high_peak ? low : na

// 绘制蜡烛图
plotcandle(open_val, high_val, low_val, close_val, title="高峰值K线", color=color.new(color.red, 0), wickcolor=color.new(color.black, 0))

// 可选:在高峰值位置添加箭头(对应你提到的附图箭头)
plotshape(is_high_peak, title="高峰箭头", location=location.belowbar, color=color.green, style=shape.labelup, text="峰值", textcolor=color.white)

代码说明

  • 用三元运算符? :做条件判断:当is_high_peak为true时,使用当前K线的开、收、高、低数据;否则赋值为na。
  • plotcandle只会绘制所有参数都不为na的K线,以此实现仅显示高峰值K线的效果。
  • 额外添加的plotshape用于绘制你提到的峰值箭头,方便直观标记目标K线。

注意点

你当前的is_high_peak条件判断的是前一根K线为高峰值(因为用到了high[1]和high[2]),如果你的需求是标记当前K线为高峰值,建议调整条件为:

is_high_peak = high > high[1] and high > high[-1]

这样会判断当前K线的高点高于前后相邻K线的高点,更符合常规的峰值定义。

内容的提问来源于stack exchange,提问作者sey eeet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 20:22:02