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

如何在Pine Script中实现仅基于日线数据的标准差叠加指标

实现基于日线数据的跨周期标准差叠加指标

没问题,要让你的标准差指标始终基于日线数据计算,不管当前查看的是小时图、4小时图还是其他周期,核心就是用Pine Script里的request.security()函数来拉取日线级别的数据并完成计算。下面是修改后的完整代码,我会一步步解释关键改动:

核心原理

request.security()允许我们指定一个目标时间框架(这里是日线"D"),在这个框架内执行计算并把结果带回当前图表的时间周期。这样就能确保所有标准差的计算都基于日线数据,不受当前查看周期的影响。

修改后的完整代码

study(title="Daily-Based Standard Deviation", shorttitle="Daily SD", overlay=true)

// 输入参数,保持和原版本一致,但计算将基于日线数据
length = input(20, minval=1, title="Lookback Length (Daily Bars)")
src = input(open, title="Source (Daily)")

// 拉取日线级别的数据源和计算好的标准差
daily_src = request.security(syminfo.tickerid, "D", src)
daily_sd = request.security(syminfo.tickerid, "D", stdev(src, length))
daily_piv = request.security(syminfo.tickerid, "D", open) // 日线开盘价作为中枢

// 绘制各个标准差区间,和原逻辑一致但使用日线计算的值
plotOpen = plot(daily_piv, title="Daily Open", color=black, trackprice=true, linewidth=2)
plotR05 = plot(daily_piv + (0.5 * daily_sd), title="+0.5 SD", color=red, trackprice=true, linewidth=2)
plotS05 = plot(daily_piv - (0.5 * daily_sd), title="-0.5 SD", color=red, trackprice=true, linewidth=2)
plotR10 = plot(daily_piv + daily_sd, title="+1 SD", color=blue, trackprice=true, linewidth=2)
plotS10 = plot(daily_piv - daily_sd, title="-1 SD", color=blue, trackprice=true, linewidth=2)
plotR15 = plot(daily_piv + (1.5 * daily_sd), title="+1.5 SD", color=green, trackprice=true, linewidth=2)
plotS15 = plot(daily_piv - (1.5 * daily_sd), title="-1.5 SD", color=green, trackprice=true, linewidth=2)
plotR20 = plot(daily_piv + (2 * daily_sd), title="+2 SD", color=orange, trackprice=true, linewidth=2)
plotS20 = plot(daily_piv - (2 * daily_sd), title="-2 SD", color=orange, trackprice=true, linewidth=2)

关键改动说明

  • request.security()的使用:我们分别拉取了日线级别的数据源daily_src、基于该数据源计算的标准差daily_sd,以及日线开盘价daily_piv。这三个值都是严格基于日线周期计算的,和当前图表的时间周期无关。
  • 参数适配:原参数length现在代表的是日线K线的回溯数量(比如输入20就是最近20个交易日),完全符合你的需求。
  • 区间稳定性:在小时图或其他非日线周期查看时,当日的标准差区间会保持固定,直到下一个交易日开盘时才会更新,因为所有计算都绑定到日线周期。

使用提示

  • 切换到任意时间周期(1小时、4小时、30分钟等),你看到的都是基于最近length个交易日数据计算的标准差区间,不会随当前周期的K线变化而波动。
  • 如果需要调整数据源(比如用日线收盘价代替开盘价),只需要修改src的输入选项即可,计算依然会自动基于日线数据完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:10:20