打印本文打印本文 关闭窗口关闭窗口

请问 大师能否把这个代码做一个注释啊?

作者:金字塔 来源:cxh99.com 发布时间:2015年01月25日
  • 咨询内容:

    offset=3

     count = order.ordernum2

     for i = 0 to count-1
      call order.orderinfo2(index, orderid, consign, filled, remaining, action, ordertype, lmtprice,auxprice, account, code, market)
      if ordertype=0 then 
       order.contract code,market,multiplier,mintick,shortpercent,longpercent
       set report1 = marketdata.getreportdata(code,market)
       
       if abs(report1.newprice-lmtprice)>=offset*mintick then
        call order.cancelorder(orderid)
            
        if action=0 and kaiping=0 then
         order.buy 0,remaining,report1.newprice,0,code,market,account,0
        end if
        
        if action=0 and kaiping=1 then
         order.sell 0,remaining,report1.newprice,0,code,market,account,0
        end if
        
        if action=1 and kaiping=0 then
         order.buyshort 0,remaining,report1.newprice,0,code,market,account,0
        end if
        
        if action=1 and kaiping=1 then
         order.sellshort 0,remaining,report1.newprice,0,code,market,account,0
        end if    
       end if
      end if  
     next




    这些参数貌似都没有地方查。或者给一个可以查的链接。非常感谢

     

  • 金字塔客服: Public ExcelApp, iRowNo, iStartPingDuo, iStartPingKong, AccountCountPublic iMultipliter

    Sub ORDER_OrderStatusEx2(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping, Account, AccountType)    '账户类型 0 IB 1 CTP 2 金仕达    Dim sStatus                         '成交状态
        If AccountType = 0 Then        sAccType = "0.IB"    ElseIf AccountType = 1 Then        sAccType = "1.CTP"    ElseIf AccountType = 2 Then        sAccType = "2.金士达"    End If            If AccountType = 0 Then        sStatus = "FILLED"    ElseIf AccountType = 1 Then        sStatus = "TRADEING"    ElseIf AccountType = 2 Then        sStatus = "FILLED"    End If    If UCase(Status) = sStatus Then     '只跟踪成交的单        WriteTradeLog OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping, Account    End IfEnd Sub''''''''''''''''''''''''''''''''''''''''''Sub WriteTradeLog(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping, AccountCode)    Dim i, j    Dim sSheetName, TradeSxf    On Error Resume Next
                              If iStartPingDuo = 0 Then                iStartPingDuo = 1            End If            If iStartPingKong = 0 Then                iStartPingKong = 1            End If            If Kaiping = 0 Then     '开仓               TBUY(1,Filled,Code)                Else            '平仓                If Aspect = 1 And Kaiping >= 1 Then '平多                                                       End If                If Aspect = 0 And Kaiping >= 1 Then '平空                                 End If            End If       
    End Sub

    TBUY(1,Filled,Code)    我想开仓,截获的品种和数量,但是系统提示,这样是不行。请问大神,这个代码要怎么写?
    [此贴子已经被作者于2014/10/31 11:43:37编辑过]

     

  • 用户回复:

    TBUY(1,Filled,Code) 是perl后台语句,不能用在vba代码段中,在vba代码中得用Order对象的buy方法

    建议学习一下我发布的vba代码范例中的order对象

    http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=11642

     

    [此贴子已经被作者于2014/11/1 18:03:36编辑过]

     

  • 网友回复: 谢谢
打印本文打印本文 关闭窗口关闭窗口