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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 图表中调用自定义函数撤销未成交的停损单?

   

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


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

主题:图表中调用自定义函数撤销未成交的停损单?

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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
图表中调用自定义函数撤销未成交的停损单?  发帖心情 Post By:2011/1/8 18:15:19 [只看该作者]

因为图表交易系统中不能使用Tcancel函数,所以我自定义了一个函数,这个函数调用VBS代码来取消停损单,不知道行不行?

调用的代码:

t:=CancelAllOrders(2,1);  //调用自定义函数撤销停损单

 

函数是这样的:

Function CancelAllOrders(Formula,OrderType,Kaiping)
    CancelOrders 2,1
    CancelAllOrders=1
End Function

 

调用的取消订单的过程如下:

'订单撤单(根据指定的要撤销的订单类型撤单,传入参数如果是0,0则全部撤单)
Sub CancelOrders(OrdType,Kp)
 '取到所有未成交持仓,并进行撤单
 dim OrderID
 dim ConSign
 dim Filled
 dim Remaining
 dim Action
 dim OrderType
 dim LmtPrice
 dim Account
 dim Code
 dim Market
 
 '取未成交记录数量
 Count = Order.OrderNum2
 
 '循环读出记录,然后根据订单ID进行撤单操作
 for i = 0 to Count-1
  call Order.OrderInfo2(i,OrderID, ConSign, Filled, Remaining, Action, OrderType, LmtPrice, Account, Kaiping, Code, Market)
  If OrdType=0 And Kaiping=0 Then
   Call Order.CancelOrder(OrderID)
  ElseIf OrderType=OrdType And Kaiping=Kp then
   Call Order.CancelOrder(OrderID)
  End if 
 next
End Sub

 

公式系统测试没有出错,只有等交易时间来测试一下是否可行了。

 


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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2011/1/9 9:54:45 [只看该作者]

应该问题不大,楼主周一测测,或者周末也可以的,上期技术平台模拟交易周末也可以下单


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部