保持敬畏之心
交易是一场持久战

Pine Script(46):如何调整主图交易品种的显示精度

#Pine Script入门教学

写脚本时你很可能踩过这个坑:明明在代码里写了precision=5,想让指标显示5位小数,结果一将它叠加到主图上(overlay=true),precision就好像彻底失灵了,指标的小数位数顽固地跟着主图的K线走。

这是怎么回事?这其实是TradingView的一个底层设计机制。当一个脚本叠加在主图上时,它就相当于一个客人,住进了主图品种的房子里,共用同一个价格坐标轴。因此,它必须遵守房子的规则,也就是主图品种自身的价格精度设置。代码里自带的precision设置,自然就被无视了。

下面我们通过一个实例,直观地看看这个问题,并为你提供两种行之有效的解决方案。

我们来看下面这个简单的均线指标:

//@version=6
indicator(title="均线精度问题演示", overlay=true, precision=5)

// 绘制40MA
plot(ta.sma(close, 40), color=color.orange, title="SMA")

在这个指标里,我们明确设置了overlay=true让它叠加在主图,同时用precision=5意图让均线值显示五位小数。

然而当我们将它添加到图表上时会发现,均线值的实际小数位数,完全跟随了主图交易品种(这里是Japan 225,1位小数),我们代码中指定的5位小数并没有生效:

一张展示Pine脚本precision=5在overlay=true时失效的截图,均线小数位错误地跟随了主图。

这显然不是我们想要的结果,那么如何才能在这种叠加模式下,依然夺回我们对脚本显示精度的控制权呢?

要让叠加显示的脚本(overlay=true)能够展示不同于主图品种的小数位数,目前主要有两种“曲线救国”的方案:

  1. 更改图表主交易品种的显示精度。
  2. 让脚本使用一个独立的价格坐标轴。

需要说明的是,这两种方法都并非完美,各有取舍。下面我们来分别看一下。

方案一:调整主图交易品种的显示精度

第一种方法最简单直接:既然叠加的脚本会继承主图的精度,那我们直接修改主图品种的精度设置就行了。

操作步骤如下:

在图表设置的“交易品种”选项卡中,找到并修改“精度”选项:

这个“精度”选项,就是主图价格坐标轴的“总开关”。把它调整为你想要的位数后,所有共用这个坐标轴的叠加脚本,其显示精度都会随之改变。

例如我们将主图交易品种的精度手动调整为5位小数,我们之前那个均线指标立刻就显示出了我们期望的5位小数:

在TradingView图表设置中,手动修改交易品种的“精度”来间接控制叠加指标小数位数的方法。

这个方法简单粗暴,立竿见影。但它的缺点也很明显:它会把你主图K线的价格精度也改掉,有时候过长的小数位反而会让图表显得杂乱。这算是一种伤敌一千自损八百的办法,只在特定情况下推荐使用。

方案二:为脚本指定独立的价格坐标轴

这是我个人更推荐的方法,它的核心思想是,不让指标再寄人篱下,而是让它自立门户,拥有自己独立的价格坐标轴。这样一来,它就可以使用自己在代码里设定的precision值,不再受主图品种的约束。

我们可以通过indicator()函数中的scale参数来实现这一点,最常用的就是将脚本指定到图表的左侧价格轴:

//@version=6
indicator(title="均线精度与独立坐标轴", overlay=true, precision=5,
  scale=scale.left) 

进行此更改并重载脚本后,你会看到图表左侧出现了一个新的价格轴,专门服务于我们的均线指标。现在,均线根据其自身的precision=5设置,在左轴上显示五位小数,而右侧的主图K线则不受任何影响,保持原样:

使用scale=scale.left参数成功解决Pine脚本precision失效问题的效果图,指标在左侧独立坐标轴上正确显示5位小数。

通过为指标指定独立的左侧价格轴,我们成功地让移动平均线显示了我们期望的5位小数,同时主图的显示也保持了清爽。

这个方法虽然完美解决了精度控制的问题,但你也需要注意一点:由于指标现在使用的是一个独立的坐标轴,其数值范围可能与主图价格轴完全不同,这可能会改变均线在视觉上的倾斜度和形态。不过在大多数情况下,这都是解决叠加精度问题的最佳选择。

总结

当脚本叠加在主图上时(overlay=true),它会默认继承主图交易品种的显示小数位数,在这种叠加模式下,脚本代码中设置的precision参数会失效。有两种间接方法可以解决这个问题:修改主图品种的精度,简单但会影响主图K线的显示;还有指定独立坐标轴,通过scale=scale.left让指标使用自己的价格轴和precision设置,这是更灵活、更推荐的做法。

赞(0)
未经允许不得转载:图道交易 » Pine Script(46):如何调整主图交易品种的显示精度
分享到

评论 抢沙发

登录

找回密码

注册