簡體   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