同时买卖双方开仓(为的是熟悉命令的同时不损失模拟账户金钱),但是发现如下问题:
(1)Order.HoldingInfoByCode2无法读取到持仓信息,返回的值都是0,不知道这是否是因为我使用的是海通期货的仿真帐号,于是改用Order.HoldingInfo2;
(2)Order.HoldingInfo2也有问题,请见如下代码:
Result1 =
Order.HoldingInfo2(0,BuyHoding,BuyCost,BuyTodayHoding,SellHoding2,SellCost,SellTodayHoding,PNL,UseMargin
,dmHY,dmJYS)
Result2 =
Order.HoldingInfo2(1,BuyHoding2,BuyCost,BuyTodayHoding,SellHoding,SellCost,SellTodayHoding,PNL,UseMargin
,dmHY,dmJYS)
If Result1 <> 1 or result2<>1Then
Exit Sub
End If
msgbox "result"&Result1&Result2&"BuyHoding"&BuyHoding&"SellHoding"&SellHoding
这样做是因为我发现index为0或1时,只能取到多头或空头的持仓信息,于是我怀疑index为0表示多头持仓的信息,为1表示空头持仓的信息。但是后来的测试又推翻了这一判断:有的时候1表示多头持仓的信息,0表示空头持仓的信息。
我迷茫了,不知道这个index到底表示什么意思,如何查询到自己的持仓信息?已经检索了论坛现有信息,希望大家能够指教,谢谢!!
[此贴子已经被作者于2010-12-7 11:21:12编辑过]
测试了下,没有得到正确结果,result返回值是2。奇怪
一个返回买持,一个返回卖持,是正常的,你可以仔细看看持仓列表,就是这样的。
此外HoldingInfoByCode2无法返回,可能是因为品种代码填写不正确,你可以再试试。
海通期货的仿真帐号我没有使用过在CTP上是可以的,金字塔暂时只支持CTP和IB的账户