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

TradingView Pine编辑器脚本开发咨询:如何排除过去10天的上涨成交量交易日以实现口袋支点指标

解决口袋支点指标中筛选下跌日成交量最大值的问题

我来帮你搞定这个问题——核心就是要把过去10天里的下跌日成交量单独拎出来计算最大值,排除上涨日的干扰。咱们一步步来:

首先得明确下跌交易日的判断标准:当日收盘价低于前一交易日的收盘价,用代码表示就是close < close[1]。接下来,我们要在计算过去10天的成交量最大值时,只保留下跌日的成交量,上涨日的成交量用na(无效值)过滤掉,这样Pine Script的highest()函数会自动忽略这些无效值,只计算下跌日的最大成交量。

下面是修改后的完整代码,我给你加了详细注释:

study(title="Pocket Pivot", shorttitle="PP", precision=0, overlay=true)

// 标记下跌交易日:当日收盘价低于前一日收盘价时为true
downDay = close < close[1]

// 计算过去10个交易日(不含当前日)中下跌日的最大成交量
// 对前10天的每个交易日,是下跌日就取成交量,否则用na过滤
maxDownVolume = highest(downDay[1] ? volume[1] : na, 10)

// 口袋支点判断条件:当日成交量 > 过去10天下跌日的最大成交量
pp = volume > maxDownVolume

// 绘制口袋支点信号(和你原来的绘图逻辑一致)
plotshape(series=pp, title="Pocket Pivot", style=shape.triangleup, location=location.belowbar, color=color.navy, transp=0, size=size.tiny)

关键逻辑说明:

  • downDay[1] ? volume[1] : na:这里的[1]是取前一个交易日的数据,确保我们对比的是过去的10个交易日(不含当前正在判断的口袋支点日)。如果前一天是下跌日,就用它的成交量;否则用na,让highest()函数自动跳过这个值。
  • highest(..., 10):指定长度为10,刚好覆盖过去10个交易日的范围,精准计算其中下跌日的成交量最大值。

这样修改后,你的口袋支点指标就完全符合要求了,只会在当日成交量超过过去10天里下跌日的最大成交量时触发信号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 05:43:17