欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]求助代码

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3369人关注过本帖树形打印复制链接

主题:[求助]求助代码

帅哥哟,离线,有人找我吗?
michaelyjy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 ateam
等级:论坛游侠 帖子:414 积分:0 威望:0 精华:0 注册:2016/12/8 10:33:23
[求助]求助代码  发帖心情 Post By:2016/12/21 13:53:03 [显示全部帖子]

在论坛上看到一个函数的例子,不知道on error resume next语句起什么作用,前面的变量定义还有可能出错吗?

function GetHoldStr(sAccount)
 dim i
 dim BuyHold
 dim BuyCost
 dim SellHold
 dim SellCost
 dim CurCode
 dim CurMarket
 
  On Error resume Next
  HoldStr=""
 HoldingCount=Order.Holding2(sAccount)
  If HoldingCount>0 then
   For i=0 to HoldingCount-1
    Call Order.HoldingInfo2(i,BuyHolding,BuyCost,BuyTodayHolding,SellHolding,SellCost,SellTodayHolding,PNL,UseMargin,Code,Market,sAccount)
    CurCode=Code
    CurMarket=Market
    BuyHold=BuyHolding
    SellHold=SellHolding
    HoldStr=HoldStr & CurCode
    if BuyHold>0 then
      HoldStr=HoldStr & ":+" & BuyHold
    end if
    if SellHold>0 then 
      HoldStr=HoldStr & ":-" & SellHold 
    end if  
    HoldStr=HoldStr & ","
   Next
   HoldStr=Left(HoldStr,len(HoldStr)-1)
  End If 

  GetHoldStr=HoldStr
End function


 回到顶部
帅哥哟,离线,有人找我吗?
michaelyjy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 ateam
等级:论坛游侠 帖子:414 积分:0 威望:0 精华:0 注册:2016/12/8 10:33:23
  发帖心情 Post By:2016/12/21 13:59:59 [显示全部帖子]

另外,前面的变量定义是否可以省略?

 回到顶部
帅哥哟,离线,有人找我吗?
michaelyjy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 ateam
等级:论坛游侠 帖子:414 积分:0 威望:0 精华:0 注册:2016/12/8 10:33:23
  发帖心情 Post By:2016/12/21 15:24:38 [显示全部帖子]

另外,请问orderstatusex2事件是自带返回time变量么?


Sub ORDER_OrderStatusEx2(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping,Account, AccountType)

 '账户类型 0 IB 1 CTP 2 金仕达 3其他

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"

lseIf AccountType=2 then

sStatus="FILLED"

End if

 

If UCase(Status)="FILLED" then  '只跟踪成交的单 

if Aspect=0 and Kaiping=0 then '买入

Call Document.SetExtString("Order-Buy-time",time)     '成交时间

Call Document.SetExtData("Order-B-Price",Price)   '成交价格

Call Document.SetExtData("Order-B-Vol",Filled)   '成交手数

Call Document.SetExtData("Order-B-OrderID",OrderID)  '成交单号

end if

      End if 
    End Sub  


 回到顶部
帅哥哟,离线,有人找我吗?
michaelyjy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 ateam
等级:论坛游侠 帖子:414 积分:0 威望:0 精华:0 注册:2016/12/8 10:33:23
  发帖心情 Post By:2016/12/22 8:18:11 [显示全部帖子]

不知道on error resume next语句起什么作用,前面的变量定义还有可能出错吗?

 回到顶部
帅哥哟,离线,有人找我吗?
michaelyjy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 ateam
等级:论坛游侠 帖子:414 积分:0 威望:0 精华:0 注册:2016/12/8 10:33:23
  发帖心情 Post By:2016/12/22 10:31:08 [显示全部帖子]

谢谢

 回到顶部