Pine script 脚本不会在每次迭代时正确保存值,并且始终显示n/a
我目前正在编写一个相当简单的指示符脚本,我想是这样的。 不幸的是,我无法从脚本中获取有效值,我不知道为什么 这个想法类似于伦科图表,并且是这样的 我将配置一个步长,然后计算从一根蜡烛到另一根蜡烛的步长。 以下是一个例子: 蓝线显示收盘价,红线应该是我的指标。 步长为5 因此,对于第二支蜡烛,计算应如下所示:Pine script 脚本不会在每次迭代时正确保存值,并且始终显示n/a,pine-script,Pine Script,我目前正在编写一个相当简单的指示符脚本,我想是这样的。 不幸的是,我无法从脚本中获取有效值,我不知道为什么 这个想法类似于伦科图表,并且是这样的 我将配置一个步长,然后计算从一根蜡烛到另一根蜡烛的步长。 以下是一个例子: 蓝线显示收盘价,红线应该是我的指标。 步长为5 因此,对于第二支蜡烛,计算应如下所示: //@version=4 study("My Script", overlay = false) float myIndicator = 0 float stepS
//@version=4
study("My Script", overlay = false)
float myIndicator = 0
float stepSize = 5
int stepNumber = 0
stepNumber := int( ( close - myIndicator[1] ) / stepSize )
myIndicator := myIndicator[1] + ( stepNumber * stepSize )
plot( myIndicator )
更改的步骤数
当前关闭-最后一个指示器级别=16-10=6
差异/步长=6/5=1,2
由于只计算整个步骤,分区剩余部分将被丢弃,因此=1
当前指示器级别=最后一个指示器级别+(步长*更改的步数)
=10+(5*1)=15
因此,我的代码如下所示:
//@version=4
study("My Script", overlay = false)
float myIndicator = 0
float stepSize = 5
int stepNumber = 0
stepNumber := int( ( close - myIndicator[1] ) / stepSize )
myIndicator := myIndicator[1] + ( stepNumber * stepSize )
plot( myIndicator )
但它总是显示“不适用”
如果我将最后一行更改为myIndicator=close
。在那之后,有些东西会失效,但我看不出我在哪里犯了错误
有人知道我忽略了什么吗
提前感谢:)
致意
Evox在第一个条形图上没有条形图历史记录,因此
myIndicator[1]
的计算结果为na
使用
na
计算的结果总是na
因此,您的所有结果都是
na
您可以使用该函数将
na
值替换为零(默认替换值)或给定值
这将绘制出您要查找的内容:
//@version=4
study("My Script", overlay = true)
var float stepSize = input(5, "stepSize", minval=0)
var int stepNumber = input(0, "stepNumber", minval=0)
var float myIndicator = na
stepNumber := int( ( close - nz( myIndicator[1] ) ) / stepSize )
myIndicator := nz( myIndicator[1] ) + ( stepNumber * stepSize )
plot( myIndicator, style=plot.style_stepline )
这就产生了一个
您发布的代码无法编译。请向社区提供一个你已经拥有的工作实例。非常感谢。此外,如果您有Pro+或Premium计划,则会包括Renko图表。嗨,Bjorn,我更新了代码,现在应该可以编译了。非常感谢:)我不确定如何正确初始化它,以便-[1]可以正常工作。