HoldingInfoByCode2 方法的返回值:成功返回1,失败返回0
我调用 : ret=Order.HoldingInfoByCode2(strCode,strMarket,intBuyHolding,dblBuyCost,intBuyTodayHolding,intSellHolding,dblSellCost,intSellTodayHolding,dblProfitAndLoss,dblUsedMargin,strAccount)
每次 ret 都等于 0,也就是说 Order.HoldingInfoByCode2 的调用不成功
是哪里出了问题??
问题核实中
Sub myGetHoldingInfo()
On Error Resume Next
Dim ret
Dim strAccount,strCode,strMarket
Dim intBuyHolding,intBuyTodayHolding,dblBuyCost
Dim intSellHolding,intSellTodayHolding,dblSellCost
Dim dblProfitAndLoss,dblUsedMargin
strAccount="804982" '金仕达的金字塔模拟交易帐户
strCode="IF04"
strMarket="ZJ"
'手动初始化变量
ret=-999
intBuyHolding=0
intBuyTodayHolding=0
dblBuyCost=0
intSellHolding=0
intSellTodayHolding=0
dblSellCost=0
dblProfitAndLoss=0
dblUsedMargin=0
'取当前品种的持仓合约信息
ret=Order.HoldingInfoByCode2(strCode,strMarket,intBuyHolding,dblBuyCost,intBuyTodayHolding,intSellHolding,dblSellCost,intSellTodayHolding,dblProfitAndLoss,dblUsedMargin,strAccount)
Call Application.MsgOut("取当前品种的持仓合约结果 ret=" & ret)
If ret <>1 Then
Call Application.MsgOut("取当前品种的持仓合约信息失败! ret=" & ret)
Call Application.MsgOut("-------------------------------------------")
Call Application.MsgOut(" 合约代码 = " & strCode)
Call Application.MsgOut(" 市场代码 = " & strMarket)
Call Application.MsgOut(" 买入持仓总量 = " & intBuyHolding)
Call Application.MsgOut(" 持仓成本 = " & dblBuyCost)
Call Application.MsgOut(" 今买持总量 = " & intBuyTodayHolding)
Call Application.MsgOut(" 卖出持仓总量 = " & intSellHolding)
Call Application.MsgOut(" 卖出持仓成本 = " & dblSellCost)
Call Application.MsgOut("今卖出持仓总量 = " & intSellTodayHolding)
Call Application.MsgOut(" 浮动盈亏 = " & dblProfitAndLoss)
Call Application.MsgOut(" 保证金占用 = " & dblUsedMargin)
Call Application.MsgOut(" 帐户 = " & strAccount)
Call Application.MsgOut("-------------------------------------------")
End If
If Err.Number<>0 Then
Call Application.MsgOut("取当前品种的持仓合约信息时出错:(" & Err.Source & ")" & Err.Description)
End If
End Sub
用下列代码通过宏调用测试,一切正常。
建议你检查 1是否有效的登录了交易账户 2是否有查询的AG06品种的持仓
是的,没有持仓就会返回失败
HoldingInfoByCode2 方法
取指定CTP品种的持仓合约信息。该方法不同于HoldingInfo2,他可以同时取到一个品种的买入持仓和卖出持仓,以及今持和昨持。
HoldingInfoByCode2(Code, Market, BuyHoding, BuyCost, BuyTodayHoding, SellHoding, SellCost, SellTodayHoding, PNL, UseMargin,Account)
Code 输入参数,指定的品种代码
Market 输入参数,指定的品种市场
BuyHoding 输出参数,该该持仓品种买入持仓总量
BuyTodayHoding 输出参数,该持仓品种今买持总量
BuyCost 输出参数,该持仓品种持仓成本
SellHoding 输出参数,该持仓品种卖出持仓总量
SellTodayHoding 输出参数,该持仓品种的今卖出持仓总量
SellCost 输出参数,该持仓品种卖出持仓成本
PNL 输出参数,该持仓品种浮动盈亏
UseMargin 输出参数,该持仓品种的保证金占用
Account 输入参数,可缺省,登陆CTP的帐户名称,若不填写则表示当前默认的帐户
返回值: 成功返回1,失败返回0
1.Hoding 这个单词错啦~~
2.返回值的说明应该为:成功返回1,失败返回0,如果查询合约没有持仓,也返回0
3.如果可以的话,加上每一个参数的类型说明,这个参数到底是一个 int , double,还是一个 string ?虽然 VBS 不需要,但对程序员还是有用的!