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

Pine Script(47):scale参数 - 让你的指标拥有独立的坐标轴

#Pine Script入门教学

在之前的文章里,我们讨论过当一个overlay=true的指标数值范围和主图K线价格差异巨大时,会把K线压成心电图的图表问题,当时我们用scale=scale.left作为解决方案,完美解决了问题。今天我们就来系统地、深入地讲解scale这个参数,你可以把它理解成是你指标的独立宣言,它允许你的脚本绘图脱离主图价格坐标轴的束缚,拥有自己的一片天地。

scale参数主要有以下几个值可选:

  • scale.left: 让脚本使用图表左侧的价格坐标轴。
  • scale.right: 让脚本使用一个新的、附加在图表右侧的价格坐标轴。
  • scale.none: 让脚本不依附于任何价格坐标轴进行绘制。

scale是一个可选参数,如果你不写它,脚本会默认使用图表现有的价格坐标轴(通常是右侧主坐标轴)。

我们可以在indicator()strategy()函数中,通过scale参数来指定坐标轴。

  • 对于指标:
    //@version=6
    indicator(title="我的指标", scale=scale.left)
    
  • 对于策略:
    //@version=6
    strategy(title="我的策略", scale=scale.left)
    
你需要知道的几个重点
  • scale的值必须是scale.left, scale.right, scale.none这几个预设好的常量之一,不能用变量替代。
  • 想要使用scale.none,你的脚本必须是叠加显示的,即overlay参数必须为true。否则Pine编辑器会直接报错,告诉你overlay=falsescale.none不能组合使用。
  • scale.right不是让你共享已有的右侧主坐标轴,而是会再新建一个右侧坐标轴,这在大多数情况下可能会让图表显得拥挤,通常我们用scale.left就足够了。
  • overlay一样,如果你在代码里修改了scale的设置,必须先从图表移除脚本,再重新添加一次,更改才能生效。
实战示例:scale不同参数的效果

我们来看一个绘制均线(WMA)的指标,通过不断修改scale参数,来观察它的不同表现。

指标的初始代码如下,我们不设置scale,观察其默认行为:

//@version=6
indicator(title="加权移动平均线", overlay=true)

// 绘制WMA
plot(ta.wma(close, 60), color=color.orange, linewidth=3, title="WMA")

脚本被设置为叠加在主图上(overlay=true)。当添加到图表后,因为它没有指定scale,所以默认会和主图的K线共享同一个右侧价格坐标轴:

一张显示默认设置下Pine脚本WMA指标与主图共享右侧坐标轴的图表

现在,我们给它加上scale=scale.right

indicator(title="加权移动平均线", overlay=true, scale=scale.right)

重载脚本后,你会看到图表右侧出现了一个全新的、专属于这条WMA的价格坐标轴:

一张展示Pine脚本scale.right参数效果的图表,右侧出现新的WMA坐标轴

提醒: 当你的指标有了独立的坐标轴后,它的视觉形态(比如均线的陡峭程度)可能会和它在主坐标轴上时看起来不一样,这是因为它是在自己的数值范围内进行缩放的,而非相对于主图价格,进行形态分析时要留意这一点。

接下来,我们再试试scale=scale.left

indicator(title="加权移动平均线", overlay=true, scale=scale.left)

重载后,脚本的绘图值就会附着到图表左侧新创建的价格坐标轴上,这通常是解决图表压缩问题的最佳选择:

一张应用了Pine脚本scale.left参数的图表,指标使用左侧新坐标轴

最后我们来尝试最特别的scale.none,它会让脚本的绘图不依附于任何可见的坐标轴:

indicator(title="加权移动平均线", overlay=true, scale=scale.none)

设置为scale.none后,效果如下:

一张解释Pine脚本scale.none参数的图表示例,指标绘图无可见坐标轴

你可以把scale.none理解成,指标仍然在它自己的独立小世界里画图,只不过TradingView把这个小世界的坐标轴给隐藏了,让图表看起来更干净。但正因为它没有了可以对齐的刻度,有时候在视觉上会产生一些错觉,需要特别注意。

手动调整坐标轴

除了在代码里设定,TradingView也允许用户在界面上手动更改脚本附着的坐标轴,这会覆盖代码里的设置。

操作步骤如下:

在指标名称右侧的“三个点(…)”菜单中,选择“固定到坐标轴”,然后选择具体坐标轴即可:

TradingView界面中手动调整指标固定到不同坐标轴的菜单截图

赞(0)
未经允许不得转载:图道交易 » Pine Script(47):scale参数 - 让你的指标拥有独立的坐标轴
分享到

评论 抢沙发

登录

找回密码

注册