Pine script 如何修复索引540错误处的TradingView超出深度

Pine script 如何修复索引540错误处的TradingView超出深度,pine-script,Pine Script,在TradingView(TradingView.com)中编写pine脚本时,我一直看到图表顶部附近出现红色文本,上面写着“索引处超出深度”540,我的脚本无法执行。由于对pine脚本不熟悉,我不太清楚它的意思 这个问题相当神秘,谷歌很难回答,所以我在这里发布了我找到的答案。希望它对某人有用。我通过找到了关于这个问题的答案。因为stackoverflow不喜欢链接腐烂,所以我将在这里复制足够的内容来切入要点 基本上,TradingView无法计算脚本需要多少历史数据。因此,您必须更改脚本的组织

在TradingView(TradingView.com)中编写pine脚本时,我一直看到图表顶部附近出现红色文本,上面写着“索引处超出深度”540,我的脚本无法执行。由于对pine脚本不熟悉,我不太清楚它的意思

这个问题相当神秘,谷歌很难回答,所以我在这里发布了我找到的答案。希望它对某人有用。

我通过找到了关于这个问题的答案。因为stackoverflow不喜欢链接腐烂,所以我将在这里复制足够的内容来切入要点

基本上,TradingView无法计算脚本需要多少历史数据。因此,您必须更改脚本的组织以帮助它,或者通过将
max\u bars\u back
参数传递给
study()
strategy()
调用,手动输入脚本所需的条数

示例:我创建了一个超过200巴的SMA。因此,我需要传递
策略(“示例”,max\u bars\u back=200)
200是这里的最小值,因此您可能需要根据需要分析的数据量将值增大

实际上,所有TradingView指标和战略脚本都使用历史数据进行计算。我们使用的数据量会影响脚本在计算之前“等待”的时间。绘制20巴高点的指标需要20巴的价格数据。交易9条SMA的策略需要9条价格条才能发送订单

TradingView可以很好地估计脚本需要多少价格栏,并推迟计算,直到有足够的数据。但有时即使是一个好的估计也可能是错误的。发生这种情况时,TradingView会触发“索引处深度不足”错误消息

[……]

“在索引处超出深度”错误消息可能令人生畏,因为它听起来很抽象。但修复错误只需三个步骤:

  • 在Pine编辑器中打开触发“索引处深度不足”错误的指示器或策略脚本。
  • 浏览代码,了解脚本用于计算的许多历史条形图。还可以考虑输入选项的值范围。
  • 现在将max_bars_back参数添加到脚本中的study()或strategy()函数中。将该参数的值设置为脚本在计算中使用的条数的估计值。
    • 您是否已经将max_bars_back参数添加到study()或strategy()函数中,但仍然出现“索引处深度不足”错误?然后增加max_bars_back的值并保存脚本以重试

  • 旁注:“max\u bars\u back”一开始对我来说是个糟糕的名字选择,但现在我想它之所以叫它,是因为它是你正在使用的指示器中的“max”数字。因此,如果我有一个15天的sma()、一个50天的sma()和一个200天的sma(),200将是我所有计算中需要的“最大”条。

    我找到的关于最大条的最好解释之一。谢谢