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

Pine Script绘制多条随机指标线时坐标缩放错误如何修复

问题原因

你当前代码计算不同标的的随机指标时,highest()和lowest()函数默认取当前图表标的的高低价区间,而非security()调用的对应标的的高低价,导致计算出来的随机指标值可能超出[0,100]的正常范围,进而触发y轴动态缩放异常。

修复方案

建议两种方式组合使用,彻底解决问题:

  1. 修正随机指标的计算逻辑,每个标的的stoch计算使用自身的高低价区间
  2. 手动锁定指标面板的y轴范围为固定的[0,100]
    修复后完整代码如下:
//@version=4
study(title="test", overlay=false, ymin=0, ymax=100) // 新增ymin、ymax参数锁定y轴范围

src  = input(close, title="Index Source")
Length = input (8, minval=1, title = "Stochastic Length")
k = input (3, minval=1, title = "Stochastic %K")

// 把stoch计算逻辑放到security()内部,取对应标的自身的高低区间计算随机值
v1_stoch = security("OANDA:EURUSD", timeframe.period, stoch(src, highest(Length), lowest(Length), Length))
v2_stoch = security("OANDA:USDJPY", timeframe.period, stoch(src, highest(Length), lowest(Length), Length))
v3_stoch = security("OANDA:GBPUSD", timeframe.period, stoch(src, highest(Length), lowest(Length), Length))

Kv1 = sma(v1_stoch, k)
Kv2 = sma(v2_stoch, k)
Kv3 = sma(v3_stoch, k)

plot(Kv1, title ="EURUSD %K", color = color.black, linewidth=2)
plot(Kv2, title ="USDJPY %K", color = color.blue, linewidth=2)
plot(Kv3, title ="GBPUSD %K", color = color.red, linewidth=2)

补充说明

  • study()函数新增的ymin=0、ymax=100参数会强制锁定y轴的上下限,即使存在异常值也不会触发坐标自动缩放
  • 将stoch()计算逻辑移入security()内部,可以保证计算随机指标时,高低价都取自对应标的自身的K线,不会出现超出0-100的无效计算结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:36:03