如何获取非主力,非次主力的合约代码?
老师您好,如题,举个例子:在策略中使用了 JM888焦煤的品种,现在我想获取焦煤当前的主力合约:JM2601,使用MainSymbol()函数可以正常获取的。那如果我想获取 JM2602, JM2603, JM2604... 呢?这些都不是主力合约,也不是次主力合约。只是当前主力合约的未来N个合约的年月份,应该如何获取?有类似获取合约的函数,或者提供个思路吗谢谢
老师您好,如题,举个例子:在策略中使用了 JM888焦煤的品种,现在我想获取焦煤当前的主力合约:JM2601,使用MainSymbol()函数可以正常获取的。那如果我想获取 JM2602, JM2603, JM2604... 呢?这些都不是主力合约,也不是次主力合约。只是当前主力合约的未来N个合约的年月份,应该如何获取?有类似获取合约的函数,或者提供个思路吗谢谢
Vars Array<String> symbols; Events OnReady() { Array<String> contracts; Bool ret = GetSymbolContracts(SymbolType(), ExchangeCode(), Enum_CategoryFutures, contracts, -1); Print("GetSymbolContracts:" + IIFString(ret, "True", "False") + "," + TextArray(contracts)); } GetSymbolContracts 这个函数能获取存续的合约不过,我没有理解GetSymbolContracts最后一个参数是怎么理解的帮助文档说是 “截面时间”换成1就没法输出,换成-180,输出结果又没有变化
回复:感谢,用这个函数可以获取到合约,如果想在回测的时候拿到当时的主力合约以及当时主力合约的未来2/3个合约,这个有办法吗😭
1年12个月 一般也就12个合约没有逻辑的情况下,你不如直接计算全部的
FindFirstOf(主力,""."")比方jm2601.xxx,这个点前是月份,就可以获取主力合约前后月份,
有人吗?
直接输入不好吗
回复:多个品种就略显麻烦了,而且换月的时候还需要逐个编辑