如果引用是Pine Script V4中的变量该怎么办?



当读取前一个蜡烛的条件时,我们使用[x]…但是如何调用位置未知的先前条件呢?对不起,我不熟悉脚本。

例如,我希望脚本检测当前条件是否大于前一个条件。没有具体的条数,只是"以前"。或者"最近"。

我不想打印"LONG"如果前一个信号是"LONG"…但是我不知道有多少酒吧前面的"LONG"因为这是一个可变距离。

printlong = shortsignal[most recently?]] lol

通常可以使用valuewhen()来获取可用于比较的值。例如:

long_val0 = valuewhen(long_signal, val, 0) // the most recent value of val when long_signal occurred.
long_val1 = valuewhen(long_signal, val, 1) // the second most recent value of val
short_val0 = valuewhen(short_signal, val, 0)
short_val1 = valuewhen(short_signal, val, 1)
long_index0 = valuewhen(long_signal, bar_index, 0)
long_index1 = valuewhen(long_signal, bar_index, 1)

short_index0 = valuewhen(short_signal, bar_index, 0)
short_index1 = valuewhen(short_signal, bar_index, 1)

然后你可以使用一些逻辑测试来确定最近的信号和它们的值。例如,如果你只是想在前一个信号也是long的情况下否定重新输入long。

如果前一个信号是short_signal,当前条是long_signal,则返回true。这里我们不使用long_index0,因为它会返回当前栏的bar_index,因为它是最近的long_signal

if long_signal and long_index1 < short_index0 
// enter a new long

如果您想要执行一些有条件的操作,例如,只有当变量高于上次long_signal

时才输入连续的long
if long_signal
if long_index1 > short_index0 // If true, this would tell us if the last prior signal was long ( two consecutive long signals, current bar and previous signal)
if long_val0 > long_val1 // current val is higher than the last
// Do something like : still enter another long, otherwise if val is lower don't enter a long
else // in the case that short_index0 > long_index1 (the prior signal was short)
// Enter new long

相关内容

最新更新