初学程序真的很痛苦
版主要能给个闪电下单VBA实现的完整代码就好了
详细需求: 实现F12闪电,6个按键功能
完全模拟6个按键实现闪电下单,功能较为复杂,由于我们目前客服力量有限,做为范例不够现实,请具体细化的具体需求。
行,那我慢慢摸索,具体问题再具体提出来吧
感谢你的答复
'下列代码读取未成交的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
'摘录的部分下止损单代码
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