如何获取非主力,非次主力的合约代码?

老师您好,如题,举个例子:

在策略中使用了 JM888焦煤的品种,现在我想获取焦煤当前的主力合约:JM2601,使用MainSymbol()函数可以正常获取的。

那如果我想获取 JM2602, JM2603, JM2604... 呢?这些都不是主力合约,也不是次主力合约。

只是当前主力合约的未来N个合约的年月份,应该如何获取?

有类似获取合约的函数,或者提供个思路吗谢谢

如何取次主力合约价格
主力合约指数如何获取
非简语言版本,非简语言版本,如何获取特定合约的交割日。
获取主力合约
主力合约的tick数据获取
如何判断持仓的合约是否为主力合约?
如何获取连续合约主力换月的日期
次主力合约满足什么条件就成为主力合约
订阅主力合约和自动切换主力合约代码,不知对否
如何判断持仓的合约是否为主力合约?
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,这个点前是月份,就可以获取主力合约前后月份,

有人吗?

直接输入不好吗

多个品种就略显麻烦了,而且换月的时候还需要逐个编辑