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

TradingView Pinescript V5:编写延后一根K线检查Open=Low的代码

Pine Script V5 实现延后一根K线检查开盘价等于最低价

需求明确

我们需要实现:在指定开盘时间(如9:15)的下一根K线(9:16)时,检查开盘K线是否满足开盘价等于最低价(Open=Low),且仅触发一次检查/提醒。

完整代码实现

//@version=5
indicator("开盘价等于最低价延后检查", overlay=true)

// 初始化仅触发一次的标记
var bool alerted = false

// 定义市场开盘时间(可根据实际市场调整)
marketOpenHour = 9
marketOpenMinute = 15

// 判断当前K线是否是开盘后的第一根K线(即9:16的K线)
isPostOpenBar = time("D", str.tostring(marketOpenHour) + ":" + str.tostring(marketOpenMinute + 1) + "-" + str.tostring(marketOpenHour) + ":" + str.tostring(marketOpenMinute + 1)) != na

// 检查前一根K线(9:15)是否满足Open=Low
prevBarOpenEqualsLow = open[1] == low[1]

// 触发条件:当前是开盘后第一根K线 + 前一根K线满足条件 + 未触发过提醒
triggerCondition = isPostOpenBar and prevBarOpenEqualsLow and not alerted

// 满足条件时执行操作(这里示例是绘制标记+标记已提醒)
if triggerCondition
    label.new(bar_index, low, "开盘价=最低价", color=color.green, textcolor=color.white)
    alerted := true

// 每日重置提醒标记
if dayofmonth != dayofmonth[1]
    alerted := false

关键逻辑说明

  • 精准时间定位:通过time()函数指定开盘后第一根K线的时间区间,确保只在该时段触发检查,避免非目标时间的误触发
  • 延后检查机制:调用open[1]和low[1]获取前一根K线的开盘价与最低价,实现延后一根K线验证目标条件
  • 防重复触发:用var声明的alerted变量标记是否已触发提醒,每日通过日期变更条件重置该变量,保证每个交易日仅执行一次检查操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 23:43:13