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

PineScript问题:日线图开盘首K线未触发昨日收盘价警报

问题解决:日线图开盘第一分钟触发昨日收盘价警报

原问题描述

我尝试在日线图的当日开盘K线触发包含昨日收盘价的警报,编写的代码如下:

lastPrice = barstate.isrealtime ? close[1] : close
message = "My beautiful alert message of previous close price: " + str.tostring(lastPrice)
if (barstate.isfirst) 
    alert(message, alert.freq_once_per_bar)

但印度市场9:15开盘时未触发任何警报。我的需求是:在开盘第一分钟(如9:15)触发该警报,警报设置为触发条件选“一次每根K线”,开启对应通知方式。

问题分析

原代码里的barstate.isfirst是指图表加载时的第一根历史K线,并非当日实时开盘的第一根K线,所以无法在开盘时段触发警报。需要结合实时行情状态和精准开盘时间条件来判断触发时机。

修正后的代码

// 定义印度市场开盘时间
openingHour = 9
openingMinute = 15

// 获取昨日收盘价(日线图中close[1]即为昨日收盘价)
prevClose = close[1]
message = "昨日收盘价警报:" + str.tostring(prevClose, "#.##")

// 触发条件:实时行情 + 当前是开盘第一分钟的K线 + 仅触发一次
if barstate.isrealtime and hour == openingHour and minute == openingMinute
    alert(message, alert.freq_once_per_bar_close)

关键说明

  1. 时间精准匹配:直接指定开盘的小时和分钟,确保在9:15的K线触发警报
  2. 实时状态过滤:barstate.isrealtime确保只在实时行情中触发,避免回测时误触发
  3. 警报频率选择:alert.freq_once_per_bar_close会在K线收盘时触发,比alert.freq_once_per_bar更稳定,也可根据需求替换
  4. 配套设置:在TradingView警报设置中需确认:
    • 触发条件选择“指标触发条件”
    • 频率设置为“一次每根K线”
    • 开启需要的通知方式(弹窗/邮件/APP通知等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 23:20:47