操作员逻辑在PineScript / Tradingview

时间:2020-05-12 11:33:07

标签: operators operator-keyword pine-script

我正试图在tradingview的松树脚本中创建一个脚本,以显示NEXT AUD期货合约。我希望它能够计算出现在是哪一年,然后将该年添加到未来股票行情的末尾。

例如,这些年的6月AUD未来行情代码=“ 6AM2020” 我可以参考一下,但是几年后,新的未来将是“ 6AM2021” 因此,为什么我希望脚本不断检查它是哪一年,然后在代码逻辑的末尾添加“找到年份”。

但是我一直收到此错误。

“脚本'TEST-下一个AUD期货”已保存 正在处理脚本...

第10行:无法使用参数(常量字符串,系列[整数])调用“ operator +”;可用的重载:+(const integer,const integer)=> const integer; +(const浮点数,const浮点数)=> const浮点数; +(输入整数,输入整数)=>输入整数; +(输入浮点数,输入浮点数)=>输入浮点数; +(整数,整数)=>整数; +(float,float)=>浮点; +(series [integer],series [integer])=> series [integer]; +(series [float],series [float])=> series [float]; +(常量字符串,常量字符串)=>常量字符串; +(输入字符串,输入字符串)=>输入字符串; +(字符串,字符串)=>字符串; +(系列[字符串],系列[字符串])=>系列[字符串]; +(整数)=>整数; +(浮动)=>浮动; +(输入整数)=>输入整数; +(输入浮点数)=>输入浮点数; +(常量整数)=>常量整数; +(常量浮点数)=>常量浮点数; +(series [integer])=> series [integer]; +(series [float])=> series [float]; 第14行:未声明的标识符“ march_ticker”; 第18行:未声明的标识符“ march”

脚本“ TEST-Next AUD Future”已保存“

代码-

//@version=4
study(title="Next AUD Future", overlay=true)


// References current bar year
ticker_year = year


// Builds the desired ticker using the correct year as above
june_ticker = ("CME" + ":" + "6AM" + ticker_year)


// Creates a series using the ticker thats built above
june = security(june_ticker, timeframe.period, close, barmerge.gaps_off, barmerge.lookahead_on)


// Plots the series above
plot(june, title="June", color=color.aqua, title='June', linewidth=1, transp=0)

代码-

我们非常感谢您的帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

@ PineCoders-LucF在他们的支持聊天中为有兴趣的人提供了此解决方法。

//@version=4
study("")
r     = timeframe.period
v     = close
y     = year(timenow)
s2020 = security("CME:6AM2020", r, v)
s2021 = security("CME:6AM2021", r, v)
s2022 = security("CME:6AM2022", r, v)
s2023 = security("CME:6AM2023", r, v)
s2024 = security("CME:6AM2024", r, v)
s     = y == 2020 ? s2020 : y == 2021 ? s2021 : y == 2022 ? s2022 : y == 2023 ? s2023 : y == 2024 ? s2024 : na
plot(s)