参考教程上的说明:
计算开仓手数我们使用了这样一句代码:
lots=IntPart(money*10000/(myprice*contractunit*BigPointValue));
我们以一个具体的品种比如豆粕为例来解释下。豆粕的合约单位contractunit是一手10吨,每点价值BigPointValue是1,开仓的委托价格是myprice。那么一手豆粕对应的开仓市值就是myprice * contractunit * BigPointValue。那么给出我们开仓的总市值除以这个1手的市值,就可以计算出开仓的手数。
但是期货是加杠杆的,有最低保证金,
在上述公式中除以保证金率,应该就是可开的最大交易手数,
lots=IntPart(money*10000/(myprice*contractunit*BigPointValue)/保证金率);
另外怎么直接提取策略应用品种的保证金率呢?
http://www.tbquant.net/dist/index.html#/?navigate=&cid=909&position=0 可以看看基础数据的调用,大概可以算出最大手数
marginrate,或者codeproperty结构体有属性
http://www.tbquant.net/dist/index.html#/?navigate=tbfn&cid=1917&position=0看看这个函数,或者软件基础数据调用品种保证金