[英]Loop mistake on Pine Script
我正在嘗試使用 for 循環計算黃金交叉,但代碼不起作用(實際上,即使我真的不知道它是否正確編寫)。 有 2 個金十字,但上面寫着 0。我求你幫助我,我是編碼新手,我會失去理智。
indicator("Cross count", overlay = true)
v1 = input.int(8, "Short WMA", minval=1)
v2 = input.int(21, "Long WMA", minval=1)
v3 = input.int(500, "Look Back Input", minval=10, step=10)
cp = 0
var label lbl = label.new(na, na, " ", style = label.style_label_left)
wmaS= ta.wma(close, v1)
wmaL = ta.wma(close, v2)
for i = 0 to v3
if ta.crossover(wmaS,wmaL)
cp := cp + 1
cp
plot(wmaS, color=color.purple)
plot(wmaL, color=color.orange)
label.set_xy(lbl, bar_index, high)
label.set_text(lbl, str.tostring(cp, "Golden Cross = "))`
這部分沒有意義:
for i = 0 to v3
if ta.crossover(wmaS,wmaL)
cp := cp + 1
cp
您創建了一個循環,但在循環內部,您檢查相同的條件。 因此,默認情況下,您只需檢查當前柱是否連續 500 次交叉。 如果你想迭代,你應該使用[i]
運算符來檢查過去的交叉狀態:
crossoverCond = ta.crossover(wmaS,wmaL)
for i = 0 to v3
if crossoverCond[i]
cp := cp + 1
cp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.