Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pine script 脚本不会在每次迭代时正确保存值,并且始终显示n/a_Pine Script - Fatal编程技术网

Pine script 脚本不会在每次迭代时正确保存值,并且始终显示n/a

Pine script 脚本不会在每次迭代时正确保存值,并且始终显示n/a,pine-script,Pine Script,我目前正在编写一个相当简单的指示符脚本,我想是这样的。 不幸的是,我无法从脚本中获取有效值,我不知道为什么 这个想法类似于伦科图表,并且是这样的 我将配置一个步长,然后计算从一根蜡烛到另一根蜡烛的步长。 以下是一个例子: 蓝线显示收盘价,红线应该是我的指标。 步长为5 因此,对于第二支蜡烛,计算应如下所示: //@version=4 study("My Script", overlay = false) float myIndicator = 0 float stepS

我目前正在编写一个相当简单的指示符脚本,我想是这样的。 不幸的是,我无法从脚本中获取有效值,我不知道为什么

这个想法类似于伦科图表,并且是这样的

我将配置一个步长,然后计算从一根蜡烛到另一根蜡烛的步长。 以下是一个例子:

蓝线显示收盘价,红线应该是我的指标。 步长为5

因此,对于第二支蜡烛,计算应如下所示:

//@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]可以正常工作。