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

如何通过脚本调整价格坐标轴(Y轴)范围?

在Pine Script中动态调整价格Y轴范围(基于可见K线高低点)

当然可以实现,TradingView的Pine Script提供了直接控制价格轴范围的API,核心思路是先计算当前视图内可见K线的高低极值,再通过固定轴范围的函数锁定上下限。

具体实现步骤与代码示例

//@version=5
indicator("动态价格轴调整", overlay=true, scale=scale.fixed)

// 计算当前可见K线的数量
visibleBarCount = ta.barssince(not barstate.isvisible) + 1

// 获取可见范围内的最高高点与最低低点
visibleHigh = ta.highest(high, visibleBarCount)
visibleLow = ta.lowest(low, visibleBarCount)

// 可选:添加缓冲空间,避免价格紧贴坐标轴
bufferRatio = 0.02 // 2%的缓冲
buffer = (visibleHigh - visibleLow) * bufferRatio
adjustedUpper = visibleHigh + buffer
adjustedLower = visibleLow - buffer

// 设置价格轴的固定范围
indicator.set_fixed_scale(adjustedLower, adjustedUpper)

// 可选:标记可见范围的高低极值(便于验证)
plot(visibleHigh, color=color.new(color.red, 0), style=style.line, title="可见高点")
plot(visibleLow, color=color.new(color.green, 0), style=style.line, title="可见低点")

代码说明

  • visibleBarCount:通过回溯最近的不可见K线,计算当前视图内的K线总数。
  • visibleHigh/visibleLow:在可见K线范围内,取最高的高点和最低的低点。
  • bufferRatio:自定义的缓冲比例,用来避免价格直接贴在坐标轴边缘,提升图表可读性。
  • indicator.set_fixed_scale():核心函数,传入调整后的上下限,强制价格轴锁定在该范围内。
  • 当你缩放或滚动图表时,可见K线集合更新,价格轴会自动重新计算并调整。

注意事项

  • 脚本必须设置overlay=true,才能与主图K线联动计算可见范围。
  • 如果视图内K线数量极少(比如只有1-2根),可以适当降低缓冲比例,避免轴范围过度放大。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:30:49