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

在15分钟图表中获取4小时K线high[2]值遇编译错误求助

问题分析与解决方案

错误根源

  • request.security()执行范围错误:该函数不能放在if这类条件语句内部,它需要在每一根K线都执行,才能正确同步不同时间周期的数据,局部条件块内调用会导致数据同步异常,触发编译错误。
  • 偏移上下文混淆:即便偏移逻辑本身没问题,放在条件块内调用跨周期函数,也会加剧数据上下文的混乱,导致编译失败。

修正后的代码

// 全局作用域提前获取4小时周期的目标K线最高价,确保每根K线都执行该调用
four_hour_high_2 = request.security(syminfo.tickerid, "240", high[2])

if filteredtopf
    current_fractal_high := four_hour_high_2
    current_fractal_high_index := bar_index-2
    // 注意:若要对比的是4小时周期的最高价,需替换为four_hour_high_2,而非当前15分钟周期的high[2]
    if range_high == four_hour_high_2
        range_high_fractal := true

额外说明

  • 若你的实际需求是获取上一根已闭合的4小时K线最高价,需把high[2]改为high[1]——high[1]在4小时周期下代表前一根已完成的K线最高价。
  • 所有跨周期数据获取的request.security()调用,必须放在全局作用域,不能被条件语句包裹,这是Pine Script的核心规则之一。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 22:47:08