繁体   English   中英

比较两个值的 PineScript 条件在 valuewhen 上不起作用

[英]PineScript Condition to compare two values are not working on valuewhen

我一直在尝试做一个简单的条件,如果一个条件高于另一个条件而不是条形顶部的 plot。 在这种情况下,我发现 Pivot 具有较低的高和较低的低。 我正在尝试实现一种方法来找到比之前的 Low Low 更高的 Lower Low,而不是 plot 顶部的东西(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="")

现在由于某种原因,这种情况似乎并不总是有效,我不确定我做错了什么示例

在此处输入图像描述

谢谢

没有错误安德烈,无需打开支持票。

首先,当您比较此行中先前低点的值时:

llhigherprevious = valuewhen(ll, low[1], 1) < valuewhen(ll, low[1], 0)

您必须注意图表上的变量 ll 和 [LL] plot 是不一样的。 plot([LL]) 使用 2 个布尔条件:ll 和 pl

plotchar(ll and pl, title="LL",  location=location.belowbar, char = "", color=color.green, transp=75, text="[LL]")

如果您将 plot 用于查找 llhigherprevious 的 ll 变量,您将看到: 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)

在此处输入图像描述

哇超级奇怪...做一个重播,你会看到发生了什么。 出于某种原因,Pine 正在删除介于两者之间的 LL。 我的猜测...某种 Pine Script 错误。 我会把它报告给支持。

在此处输入图像描述

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM