簡體   English   中英

Pinescript - 帶有輸入變量的 for 循環

[英]Pinescript - for loop with input variable

我將 tradingview 與 pinescript 4 一起使用。我想插入有關我使用的代碼的信息(時間、買入、賣出)。 當我 select 一個股票代碼時,腳本必須循環來驗證這個股票代碼是否有變量。 如果測試沒問題,我想通過替換“BuyAlertLevel”和“SellAlertLevel”來在我的腳本上使用這個變量(buy1 或 buy2,sold1 或 sold2)來畫線。

問題是“第 41 行:未聲明的標識符 'buy';第 42 行:未聲明的標識符 'sold'”

RSIPeriod = input(41, minval=1)
BuyAlertLevel = input(5, step=1, title="Buy Alert")
SellAlertLevel = input(15, step=1, title="Sell Alert")
RSIHistoModify = input(1.5, step=0.1, title="RSI Modify")

tickers1 = input(title="S", type=input.string, defval="PUST", group = "Suivi des Valeurs", inline = "1")
time1 =input(title="T", type=input.integer, defval=120, group = "Suivi des Valeurs", inline = "1")
buy1 =input(defval=0, title="B", type=input.integer,  group = "Suivi des Valeurs", inline = "1")
sold1 =input(title="S", type=input.integer, defval=15, group = "Suivi des Valeurs", inline = "1")

tickers2 = input(title="S", type=input.string, defval="PANX", group = "Suivi des Valeurs", inline = "2")
time2 =input(title="T", type=input.integer, defval=120, group = "Suivi des Valeurs", inline = "2")
buy2 =input(title="B", type=input.integer, defval=0,  group = "Suivi des Valeurs", inline = "2")
sold2 =input(title="S", type=input.integer, defval=15, group = "Suivi des Valeurs", inline = "2")

var tickers = (syminfo.ticker)

for int i = 1 to 2
    if (tickers == tickers[i] and timeframe.multiplier == time[i])
        BuyAlertLevel := buy[i]
        SellAlertLevel := sold[i]

hline(0, "hline" ,color=color.purple, linestyle=hline.style_solid)
plot(BuyAlertLevel, color=color.green, style=plot.style_line)
plot(SellAlertLevel, color=color.red, style=plot.style_line)

謝謝

當圖表的符號與其匹配時,這將使用兩個符號之一的級別,否則它使用級別的輸入值:

//@version=4
study("")
RSIPeriod = input(41, minval=1)
i_BuyAlertLevel = input(5, step=1, title="Buy Alert")
i_SellAlertLevel = input(15, step=1, title="Sell Alert")
RSIHistoModify = input(1.5, step=0.1, title="RSI Modify")

tickers1 = input(title="S", type=input.string, defval="PUST", group = "Suivi des Valeurs", inline = "1")
time1 =input(title="T", type=input.integer, defval=120, group = "Suivi des Valeurs", inline = "1")
buy1 =input(defval=0, title="B", type=input.integer,  group = "Suivi des Valeurs", inline = "1")
sold1 =input(title="S", type=input.integer, defval=15, group = "Suivi des Valeurs", inline = "1")

tickers2 = input(title="S", type=input.string, defval="PANX", group = "Suivi des Valeurs", inline = "2")
time2 =input(title="T", type=input.integer, defval=120, group = "Suivi des Valeurs", inline = "2")
buy2 =input(title="B", type=input.integer, defval=0,  group = "Suivi des Valeurs", inline = "2")
sold2 =input(title="S", type=input.integer, defval=15, group = "Suivi des Valeurs", inline = "2")

var float BuyAlertLevel  = syminfo.ticker == tickers1 ? buy1  : syminfo.ticker == tickers2 ? buy2  : i_BuyAlertLevel
var float SellAlertLevel = syminfo.ticker == tickers1 ? sold1 : syminfo.ticker == tickers2 ? sold2 : i_SellAlertLevel

hline(0, "hline" ,color=color.purple, linestyle=hline.style_solid)
plot(BuyAlertLevel, color=color.green, style=plot.style_line)
plot(SellAlertLevel, color=color.red, style=plot.style_line)

plot(close)

您將歷史引用運算符與 arrays 通常在其他語言中的索引方式混淆了。 有關Pine 中 arrays 的信息,請參閱此處的 usrman

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM