老师您好,如题,举个例子:
在策略中使用了 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,这个点前是月份,就可以获取主力合约前后月份,
有人吗?
直接输入不好吗
多个品种就略显麻烦了,而且换月的时候还需要逐个编辑