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

如何修改Tradingview整数水平线指标避免自动价格缩放

解决TradingView整数水平线指标缩放异常问题

核心修复方案

  • 保留scale=scale.none并修正线条绘制逻辑:
    设scale.none后线条位置异常,本质是指标原逻辑基于全局价格范围生成水平线,而非当前图表可见区间。修改代码让水平线仅基于当前视图的价格极值生成整数位,既避免触发全局缩放,又保证线条位置正常:

    indicator("Round Numbers", shorttitle="Round Num", overlay=true, scale=scale.none)
    
    // 获取当前视图的价格极值
    visible_high = ta.highest(high, barssince(ta.change(timeframe.isintraday ? session.isfirstbar : false)))
    visible_low = ta.lowest(low, barssince(ta.change(timeframe.isintraday ? session.isfirstbar : false)))
    
    // 计算整数水平线的上下限(步长可根据品种调整,如外汇用0.0010,股票用1/10)
    step = 10
    upper_level = math.ceil(visible_high / step) * step
    lower_level = math.floor(visible_low / step) * step
    
    // 生成区间内的整数水平线
    for i = 0 to (upper_level - lower_level)/step
        level = lower_level + i*step
        plot(level, color=color.gray, style=plot.style_linebr)
    
  • 通过指标设置关闭缩放权限(无需改代码):
    右键点击指标名称 → 选择「指标设置」→ 在「缩放」选项中选「无」,这样指标不会影响图表自动缩放逻辑,线条位置也能保持正常。

关键说明

  • 仅设置scale.none不调整水平线生成逻辑的话,线条会基于全局价格范围生成,移动图表时这些线条可能不在当前视图内,造成位置异常的视觉效果。
  • 代码中的step(步长)可根据交易品种调整,比如美股用1或10,外汇直盘用0.0010,适配不同品种的整数位规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:35:02