Pine脚本三元运算符给出错误

时间:2020-02-13 02:52:51

标签: pine-script trading

为什么defval=second起作用但defval=third无效?

//@version=4 
study(title="Test") 

//STEP 1 - Get main symbol 
getmain = syminfo.ticker

//STEP 2 - Add second symbol input 
second = "EURUSD"
third = getmain == "EURUSD"?"GBPUSD" : getmain == "GBPUSD"?"EURUSD" : "BTCUSD"

sym = input(title="Symbol", type=input.symbol, defval=third)

//STEP 3 - plot
symbolClose = security(sym, timeframe.period, close)
plot(symbolClose, color=color.red)

基本上,我想做的是根据主要行情自动将叠加/秒图更改为特定的一对。

我遇到的defval=third错误是:

line 16: Cannot call 'input' with arguments (title=literal string, type=const string, defval=string); available overloads: input(const bool, const string, const string, const bool, const string) => input bool; input(const integer, const string, const string, const integer, const integer, const bool, const integer, [const integer...], const string) => input integer; input(const float, const string, const string, const float, const float, const bool, const float, [const float...], const string) => input float; input(const string, const string, const string, const bool, [const string...], const string, const bool) => input string; input(series[float], const string, const string, const string) => series[float];
line 17: Undeclared identifier 'sym';
line 18: Undeclared identifier 'symbolClose'

我还有大约40对要处理,是否有一种更有效的方法来将所有这些if语句最小化?

0 个答案:

没有答案