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

Pine Script(51):max_boxes_count参数 - 方框数量限制

#Pine Script入门教学

前面我们讲了如何突破标签(label)和趋势线(line)的数量限制,今天我们来聊聊它们的“亲兄弟”——方框(box)。

和前两者一样,如果你想用代码在图表上画很多方框来标记特定区间,比如盘整区域、波动范围或者订单块,你同样会遇到一个默认的数量上限。max_boxes_count这个参数,就是专门用来控制一个脚本在图表上最多可以绘制多少个方框的容量开关。

简单来说,你为max_boxes_count设置的值越高,你的脚本能在图表上留下的历史方框就越多。

无论你的脚本是指标还是策略,设置方法都完全一样:

  • 对于指标: 在indicator()函数中设置,最高可设为500。
    //@version=6
    indicator(title="我的指标", max_boxes_count=500)
    
  • 对于策略: 同样。
    //@version=6
    strategy(title="我的策略", max_boxes_count=500)
    

max_boxes_count是一个可选参数。如果你不进行任何设置,你的脚本默认最多只能创建50个方框。这个参数的有效范围是从1到500。

需要知道的几个重点
  •  max_boxes_count的值必须是一个写在代码里的固定整数,不能使用变量来动态设定。
  • 当脚本绘制的方框数量达到你设定的上限时,TradingView会自动删除图表上最旧的那个方框(时间上最靠左的),来为最新的方框腾出空间。
  • 和标签、趋势线一样,你设置的上限(比如500)也不是一个绝对精确的数字,TradingView有时可能会允许多显示几个方框。所以不要用它来做严格的数量控制,把它理解为一个大致的容量限制即可。
  • 只能通过代码设置, max_boxes_count没有图形界面的手动设置选项。想增加方框数量,只能通过修改代码来实现。
实战示例

我们通过一个具体的例子来看看max_boxes_count是如何影响脚本表现的。下面这个指标,会在每个K线上绘制一个基于ATR(平均真实波幅)的波动范围方框。

我们首先在不设置max_boxes_count的情况下运行脚本。

指标的代码如下:

//@version=6
indicator(title="Max boxes example", overlay=true)

atrValue = ta.atr(14)

barBox = box.new(left=bar_index, top=high + atrValue,
  right=bar_index, bottom=low - atrValue, border_width=2)

if close > open
    box.set_border_color(barBox, color.green)
else
    box.set_border_color(barBox, color.red)

在这段代码中,indicator()函数没有设置max_boxes_count,因此脚本会采用默认的50个方框作为上限。

现在,让我们看看这个脚本在图表上实际运行的效果。你会发现,图表上只会显示离当前时间最近的50个ATR方框,更早的则不会被显示:

一张展示Pine脚本在默认设置下,图表只显示最近50个ATR波动范围方框的效果图

提升方框数量至上限

现在,为了让脚本能够回溯并显示更多的历史波动区域,我们将上限提升至允许的最大值500。只需在indicator()函数中,加上max_boxes_count=500即可:

indicator(title="Max boxes example", overlay=true, max_boxes_count=500)

完成这项修改并保存脚本后,TradingView会自动重载它。你会发现,图表上现在能够显示远比之前更多的方框,覆盖了更长的历史周期:

使用Pine脚本max_boxes_count=500参数后,图表成功显示了更多历史ATR方框

总结

max_boxes_count这个设置,决定了一个脚本在图表上最多能绘制多少个方框。如果你不特别设置,默认上限只有50个。你可以通过在代码中设置max_boxes_count来提高这个限制,最高可以达到500个。当达到上限时,系统会自动移除最旧的方框,为新的方框腾出空间,确保图表上始终显示最新的绘图。

赞(0)
未经允许不得转载:图道交易 » Pine Script(51):max_boxes_count参数 - 方框数量限制
分享到

评论 抢沙发

登录

找回密码

注册