需要统一开仓市值、增加保证金率,反推出可以交易手数,

参考教程上的说明:

计算开仓手数我们使用了这样一句代码:

lots=IntPart(money*10000/(myprice*contractunit*BigPointValue));

我们以一个具体的品种比如豆粕为例来解释下。豆粕的合约单位contractunit是一手10吨,每点价值BigPointValue是1,开仓的委托价格是myprice。那么一手豆粕对应的开仓市值就是myprice * contractunit * BigPointValue。那么给出我们开仓的总市值除以这个1手的市值,就可以计算出开仓的手数。

但是期货是加杠杆的,有最低保证金,

在上述公式中除以保证金率,应该就是可开的最大交易手数,

lots=IntPart(money*10000/(myprice*contractunit*BigPointValue)/保证金率);

另外怎么直接提取策略应用品种的保证金率呢?

交易手数=可用资金/保证金率/一手价格;与实际不符
1.3.4.5版本 保证金率的获取问题
保证金率如何获取最新
保证金率
关于股指的开平互转,保证金率如何正确设置?
A_GetMarginRate获取的保证金率不准确
交易手数的修改
以主力合约的市值标准执行计算手数的方法
回测报告-交易记录-开仓市值、盈亏字段字段能否增加排序功能
测试报告里交易手数,每手利润没有了?

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看看这个函数,或者软件基础数据调用品种保证金