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

为何request.security未正常请求标的?Var_2值随图表标的变动问题咨询

问题解答

问题1 & 问题2的核心原因

你的代码中ta.highest()和ta.lowest()函数是在当前图表标的的K线上下文中执行的,而非在request.security()获取的纳斯达克100(NDX)数据的独立上下文里计算。这直接导致两个问题:

  • request.security()确实获取到了NDX的高低价,但后续的极值计算依赖当前图表标的的K线序列,而非NDX的完整数据,看起来像是没按预期请求指定标的。
  • 切换图表标的时,当前标的的K线数量、时间范围会变化,ta.highest()和ta.lowest()的计算结果随之改变,最终导致Var_2数值变动,违背了用request.security()隔离外部标的数据的初衷。

修复方案:将计算逻辑移入request.security回调

把所有NDX相关的计算封装到request.security()的回调函数中,让所有运算都在NDX的K线环境内完成:

//@version=6
indicator("Decline from last higher high of the Nasdaq100", overlay=false)

// 定义计算逻辑函数
calculate_ndx_decline() =>
    highest_high = ta.highest(high, 252)
    lowest_low = ta.lowest(low, 15)
    -100 * ((highest_high - lowest_low) / highest_high)

// 在NDX的上下文内执行计算并返回结果
Var_2 = request.security("NASDAQ:NDX", timeframe.period, calculate_ndx_decline(), gaps=barmerge.gaps_on)

plot(Var_2, style=plot.style_line)

关键说明

  • request.security()的第三个参数为回调函数,会在目标标的(NDX)的K线环境中执行代码,确保所有计算基于NDX的独立数据序列。
  • 添加gaps=barmerge.gaps_on参数,确保数据合并时保留缺口,避免因数据对齐导致的异常波动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 13:54:57