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

Pine Script多时间框架Stochastic策略security传hline报错解决方案问询

多时间框架Stochastic交易策略报错修复方案

错误原因

hline()是Pine Script的原生绘图函数,返回值为绘图对象类型,而security()的第三个入参要求传入可在目标时间框架计算的数值型表达式,二者类型不匹配因此触发报错。另外60、40属于固定阈值,完全不需要通过security()从小时级别拉取,你原来的写法本身就存在逻辑冗余。

修正后代码

// 从小时级别获取Stochastic的K、D值
htf_stoch_k = security(syminfo.tickerid,"60",sma(stoch(close, high, low, 14), 1),lookahead=barmerge.lookahead_on)
htf_stoch_d = security(syminfo.tickerid,"60",sma(htf_stoch_k, 3),lookahead=barmerge.lookahead_on)

// 直接定义固定阈值,不需要跨时间框架获取
stoch_upper_threshold = 60
stoch_lower_threshold = 40

// 阈值绘图(如果需要在当前15分钟图表显示的话)
hline(stoch_upper_threshold, "Upper Band", color=#787B86)
hline(stoch_lower_threshold, "Lower Band", color=#787B86)

后续逻辑说明

你要的信号判断直接用以下表达式即可:

  • 多头触发条件:htf_stoch_d < stoch_lower_threshold
  • 空头触发条件:htf_stoch_d > stoch_upper_threshold

注意事项

  • 你当前用的barmerge.lookahead_on参数会引入未来函数,回测时会出现信号漂移,若用于实盘或需要准确回测结果,建议替换为barmerge.lookahead_off
  • 如果后续需要用到动态阈值,把阈值的数值计算逻辑放入security()的第三个入参即可,不要把绘图类函数传入该参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:06:03