比较两个值的 PineScript 条件不适用于 valuewhen
PineScript Condition to compare two values are not working on valuewhen
我一直在尝试做一个简单的条件,如果一个条件高于另一个条件而不是在条形图的顶部绘制。
在这种情况下,我发现 Pivot 具有较低的高点和较低的低点。我正在尝试实现一种方法来找到比之前的 Lower Low 更高的 Lower Low 比我将在条形图顶部绘制一些东西 (LLHigher)
视觉解释
//@version=4
study("Swing Low",overlay = true)
var s = 0.0
/// Pivots
leftbars = input(title="LeftBars", defval=1)
rightbars = input(title="Rightbars", defval=1)
HighOfCandle = high
LowOfCandle = low
CloseOfCandle = close
OpenOfCandle = open
SizeOfCandle = abs(HighOfCandle-LowOfCandle)
pl = ((LowOfCandle > LowOfCandle[1]) and (LowOfCandle[1] < LowOfCandle[2]))
//plotchar(pl, title="Pivot Low", location=location.abovebar, char = "", color=color.green, transp=75, text="[P]", offset=-rightbars, size=size.auto)
ll = valuewhen(pl, low[1], 1) > valuewhen(pl, low[1], 0)
plotchar(ll and pl, title="LL", location=location.belowbar, char = "", color=color.green, transp=75, text="[LL]", offset=-rightbars, size=size.auto)
llhigherprevious = valuewhen(ll, low[1], 1) < valuewhen(ll, low[1], 0)
plotchar( llhigherprevious and pl and ll , text="LLhigher" ,color=color.orange,location=location.abovebar,transp=0,offset=-1,char="")
现在由于某种原因,情况似乎并不总是有效,我不确定我做错了什么
例子
谢谢
哇,太奇怪了...重放一下,您就会看到发生了什么。
出于某种原因,Pine 正在删除两者之间的 LL。我猜……某种 Pine Script 错误。我会将其报告给支持人员。
安德烈没有bug,不用开工单
首先,当您比较这条线的前一个低点时:
llhigherprevious = valuewhen(ll, low[1], 1) < valuewhen(ll, low[1], 0)
你要注意图表上的变量 ll 和 [LL] plot 是不一样的。
plot([LL]) 使用 2 个 bool 条件:ll 和 pl
plotchar(ll and pl, title="LL", location=location.belowbar, char = "", color=color.green, transp=75, text="[LL]")
如果您绘制用于查找 llhigherprevious 的 ll 变量,您将看到:
因此,当找到 pl 和 ll 的新点时,它会将 ll 的低点与之前 ll 的低点进行比较,而不是与 [LL] 的低点进行比较。
解决方案:添加一个 LL bool 变量并在 llhigherprevious 中使用它的值:
ll = valuewhen(pl, low[1], 1) > valuewhen(pl, low[1], 0)
LL = ll and pl
plotchar(LL, title="LL", location=location.belowbar, char = "", color=color.green, transp=75, text="[LL]")//, offset=-rightbars, size=size.auto)
llhigherprevious = valuewhen(LL, low[1], 1) < valuewhen(LL, low[1], 0)
plotchar( llhigherprevious and pl and ll , text="LLhigher" ,color=color.orange,location=location.abovebar,transp=0, char="" )//,offset=-1)
我一直在尝试做一个简单的条件,如果一个条件高于另一个条件而不是在条形图的顶部绘制。 在这种情况下,我发现 Pivot 具有较低的高点和较低的低点。我正在尝试实现一种方法来找到比之前的 Lower Low 更高的 Lower Low 比我将在条形图顶部绘制一些东西 (LLHigher)
视觉解释
//@version=4
study("Swing Low",overlay = true)
var s = 0.0
/// Pivots
leftbars = input(title="LeftBars", defval=1)
rightbars = input(title="Rightbars", defval=1)
HighOfCandle = high
LowOfCandle = low
CloseOfCandle = close
OpenOfCandle = open
SizeOfCandle = abs(HighOfCandle-LowOfCandle)
pl = ((LowOfCandle > LowOfCandle[1]) and (LowOfCandle[1] < LowOfCandle[2]))
//plotchar(pl, title="Pivot Low", location=location.abovebar, char = "", color=color.green, transp=75, text="[P]", offset=-rightbars, size=size.auto)
ll = valuewhen(pl, low[1], 1) > valuewhen(pl, low[1], 0)
plotchar(ll and pl, title="LL", location=location.belowbar, char = "", color=color.green, transp=75, text="[LL]", offset=-rightbars, size=size.auto)
llhigherprevious = valuewhen(ll, low[1], 1) < valuewhen(ll, low[1], 0)
plotchar( llhigherprevious and pl and ll , text="LLhigher" ,color=color.orange,location=location.abovebar,transp=0,offset=-1,char="")
现在由于某种原因,情况似乎并不总是有效,我不确定我做错了什么 例子
谢谢
哇,太奇怪了...重放一下,您就会看到发生了什么。 出于某种原因,Pine 正在删除两者之间的 LL。我猜……某种 Pine Script 错误。我会将其报告给支持人员。
安德烈没有bug,不用开工单
首先,当您比较这条线的前一个低点时:
llhigherprevious = valuewhen(ll, low[1], 1) < valuewhen(ll, low[1], 0)
你要注意图表上的变量 ll 和 [LL] plot 是不一样的。 plot([LL]) 使用 2 个 bool 条件:ll 和 pl
plotchar(ll and pl, title="LL", location=location.belowbar, char = "", color=color.green, transp=75, text="[LL]")
如果您绘制用于查找 llhigherprevious 的 ll 变量,您将看到:
因此,当找到 pl 和 ll 的新点时,它会将 ll 的低点与之前 ll 的低点进行比较,而不是与 [LL] 的低点进行比较。
解决方案:添加一个 LL bool 变量并在 llhigherprevious 中使用它的值:
ll = valuewhen(pl, low[1], 1) > valuewhen(pl, low[1], 0)
LL = ll and pl
plotchar(LL, title="LL", location=location.belowbar, char = "", color=color.green, transp=75, text="[LL]")//, offset=-rightbars, size=size.auto)
llhigherprevious = valuewhen(LL, low[1], 1) < valuewhen(LL, low[1], 0)
plotchar( llhigherprevious and pl and ll , text="LLhigher" ,color=color.orange,location=location.abovebar,transp=0, char="" )//,offset=-1)