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

需求:绘制显示VX1!合约16:00开盘价的跨品种振荡器

解决方案:在日内周期展示VX1!每日16:00开盘价的振荡器

核心问题是原代码未正确锁定每日16:00这一特定时间点的VX1!开盘价,导致价格随8小时周期变动。以下是修正后的Pine Script代码,可在任意小于1日的K线周期(如1H、30M、15M等)上稳定显示每日16:00的VX1!开盘价:

//@version=5
indicator("VX1! 每日16:00开盘价振荡器", overlay=false)

// 定义目标时间:每日16:00
targetHour = 16
targetMinute = 0

// 获取VX1!合约的每日K线数据,提取开盘价
vxDailyOpen = request.security("VX1!", "D", open)

// 锁定每日16:00的开盘价:仅当当前K线时间到达16:00时更新,其余时间保持原值
var float daily1600Open = na
if hour == targetHour and minute == targetMinute
    daily1600Open := vxDailyOpen

// 绘制振荡器:这里用水平线+标签展示,也可根据需求改成柱状/折线形式
plot(daily1600Open, color=color.new(color.blue, 0), title="VX1! 16:00开盘价", linewidth=2)
var label lastLabel = na
if barstate.islast
    lastLabel := label.new(bar_index, daily1600Open, str.tostring(daily1600Open, "#.##"), color=color.blue, textcolor=color.white)

关键逻辑说明:

  • request.security 调用:指定"VX1!"和"D"周期,获取该合约的每日开盘价,确保拿到的是当日完整日K线的开盘价。
  • var 变量持久化:用var float daily1600Open保存价格,该变量仅在脚本初始化时赋值一次,后续仅在16:00的K线触发更新,避免日内周期下频繁刷新。
  • 时间判断条件:hour == targetHour and minute == targetMinute精准匹配每日16:00的K线,确保只有此时才更新价格。

自定义调整建议:

  • 若需要将该值与当前品种价格做对比(真正的振荡器形式),可添加计算逻辑:oscillator = close - daily1600Open,然后用plot(oscillator)绘制差值。
  • 可修改plot函数的样式(如style=plot.style_columns改成柱状图),适配不同的振荡器展示需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 15:16:05