以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  求:闪电下单全撤和自动判断开平方向代码  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=1840)

--  作者:samulz
--  发布时间:2010/6/12 21:53:18
--  求:闪电下单全撤和自动判断开平方向代码

初学程序真的很痛苦

版主要能给个闪电下单VBA实现的完整代码就好了


--  作者:admin
--  发布时间:2010/6/12 22:49:53
--  
已经安排时间做示例,请在此期间,明确你得自动判断开平仓方向这个代码的用途的详细需求
--  作者:samulz
--  发布时间:2010/6/13 8:50:52
--  

详细需求: 实现F12闪电,6个按键功能 

[此贴子已经被作者于2010-6-13 8:54:44编辑过]

--  作者:admin
--  发布时间:2010/6/13 9:47:20
--  

完全模拟6个按键实现闪电下单,功能较为复杂,由于我们目前客服力量有限,做为范例不够现实,请具体细化的具体需求。


--  作者:samulz
--  发布时间:2010/6/13 9:54:54
--  

行,那我慢慢摸索,具体问题再具体提出来吧

感谢你的答复


--  作者:admin
--  发布时间:2010/6/16 0:09:18
--  

\'下列代码读取未成交的IB合约,进行全撤操作

Sub Test()
 \'取到所有未成交持仓,并进行撤单
 dim OrderID
 dim ConSign
 dim Filled
 dim Remaining
 dim Action
 dim OrderType
 dim LmtPrice
 dim auxPrice
 dim Account
 dim Code
 dim Market
 
 \'取未成交记录数量
 Count = Order.OrderNum
 
 \'循环读出记录,然后根据订单ID进行撤单操作
 for i = 0 to Count-1
  call Order.OrderInfo(i, OrderID, ConSign, Filled, Remaining, Action, OrderType, LmtPrice,auxPrice, Account, Code, Market)
  call Order.CancelOrder(OrderID)
 next
End Sub

[此贴子已经被作者于2010-7-28 11:29:51编辑过]

--  作者:admin
--  发布时间:2010/6/16 0:10:21
--  

\'摘录的部分下止损单代码

Sub PleaceStopOrder(Grid,Stp,Vol)
 dim MinTick
 dim Multipliter
 dim ShortPercent
 dim LongPercent
 call order.Contract(Grid.Stocklabel, GRid.Market, Multipliter, Mintick, ShortPercent, LongPercent)
 
 dim BuyHoding
 dim BuyTodayHoding
 dim SellHoding
 dim SellTodayHoding
 dim BuyCost
 dim SellCost
 dim PNL
 dim Usemargin
 
 \'取指定持仓品种信息
 Result = Order.HoldingInfoByCode2(Grid.Stocklabel, GRid.Market,BuyHoding,buycost,BuyTodayHoding,SellHoding,sellcost,SellTodayHoding,pnl,usemargin)
 If Result <> 1 Then
  Exit Sub
 End If
 
 Set ReportData = Grid.GetReportData

 if buytodayhoding  > 0 then
  if Vol = 0 then
   Vol = BuyTodayHoding
  end if
  
  Price = BuyCost - Stp*MinTick
     call Order.Sell(2,Vol,Price,0,Grid.Stocklabel, GRid.Market,"",0)
     Technic.ShowKeyFairy=0
 ElseIf SellTodayHoding > 0 then
  if Vol = 0 then
   Vol = SellTodayHoding
  end if
  Price =SellCost + Stp*MinTick
  call Order.SellShort(2,Vol,Price,0,Grid.Stocklabel, GRid.Market,"",0)
  Technic.ShowKeyFairy=0
 end if
 
end sub