以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  高级功能研发区  (http://222.73.7.161/bbs/list.asp?boardid=5)
----  计算可开仓量的VBA代码  (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=6106)

--  作者:guotx2010
--  发布时间:2011/4/11 23:08:34
--  计算可开仓量的VBA代码

\'取得合约的乘数、保证金、最小变动单位,然后计算可开仓手数

public CashCanOpen  \'现金可以供开仓的手数(使用全局变量,以便于在整个VBA代码过程都能用)
Sub GetContractInfo()
    Call Order.Contract(Code,Market,Multipliter,MinTick,ShortPercent,LongPercent)   \'Code,Market是你操作的品种及市场代码
    iMultipliter=Multipliter
    iMinTick=MinTick
    iShortPercent=ShortPercent
    iLongPercent=LongPercent
    Set Report1 = marketdata.GetReportData(VBA_Code,VBA_Market)
    MarketPrice= Report1.NewPrice   \'最新价格
    CashAmount=Order.Account2(3,AccountCode)
    If iMultipliter=0 Or iLongPercent=0 Or MarketPrice=0 then
          CashCanOpen=0

    Else 
          CashCanOpen=Int(CashAmount/(iMultipliter*MarketPrice*iLongPercent/100))  \'计算现金可开仓的手数(只用到多单保证金比例,一般空单保证金比例与多单一样)
    End if 
End Sub