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

Pine Script中能否从低时间框架接收蜡烛收盘触发的警报?

在小时K线周期下实现15分钟蜡烛收盘时的条件通知

这个需求完全可行,核心是通过request.security()在小时周期脚本中捕获15分钟蜡烛的收盘信号,结合你的成交量Delta条件触发通知。

你之前的问题原因

直接在request.security_lower_tf中调用timeframe.change("15")逻辑不成立——timeframe.change()是基于当前图表周期(小时线)的函数,放到更低周期的上下文里会导致状态判断混乱,跟踪数组大小的方式也容易因周期同步问题引发脚本异常。

正确实现方法

  1. 在15分钟周期上下文里判断收盘状态:用barstate.isconfirmed(或ta.barstate.islastconfirmedhistory)来标记15分钟蜡烛是否已经收盘。
  2. 同步获取15分钟周期的成交量Delta:把成交量Delta的计算逻辑放到request.security()的第三个参数中,确保计算的是15分钟周期的数据。
  3. 触发条件通知:在小时周期脚本中,当捕获到15分钟收盘信号且Delta满足条件时,调用alert()触发通知。

示例代码

//@version=5
indicator("15分钟收盘Delta通知", overlay=false)

// 从15分钟周期获取收盘状态和成交量Delta
[is15mClosed, volDelta] = request.security(syminfo.tickerid, "15", [
    barstate.isconfirmed,
    ta.volume - ta.volume[1] // 替换成你实际的成交量Delta计算逻辑
])

// 当15分钟蜡烛收盘且Delta满足条件时触发通知
if (is15mClosed and volDelta > 500) // 替换为你的具体条件阈值
    alert("15分钟蜡烛收盘,成交量Delta达标!", alert.freq_once_per_bar_close)

关键注意事项

  • 确保alert()的频率设置为alert.freq_once_per_bar_close,避免同一15分钟收盘信号重复触发通知。
  • 所有依赖15分钟周期的计算(比如成交量Delta)必须封装在request.security()的参数内,不要在外部用当前周期数据拼接计算。
  • 在TradingView的alert设置中,选择对应的通知渠道(弹窗、邮件、APP推送等),并确保脚本的alert权限开启。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:12:13