pine-script - Pine 脚本三元运算符报错
问题描述
为什么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 语句?
解决方案
推荐阅读
- javascript - 滚动时如何更改导航菜单的颜色
- python - 从 Python 更新 SQLite 数据库未按预期工作
- vb.net - 更新一个布尔值。VB.NET
- flutter - HMS: 开启推送失败
- c# - 如何浏览 datagridviewcomboboxcolumn 类型的 datagridview 单元格中的项目
- react-native - 我想将 API 数据放入我的 Text 元素中 ~ React Native
- ubuntu - 双显示器ubuntu中的主显示器有一条黑线
- swift - UITableViewCell中的UITextField resignFromFirstResponder时如何触发
- android - 扑动中的云火商店android X不兼容问题
- flutter - 如何修复社交登录用户上传的firestore查询