以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  [求助]如何实现跟限价单?  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=95867)

--  作者:ch3coohqb
--  发布时间:2016/4/6 9:35:19
--  [求助]如何实现跟限价单?
A帐户~
1913买入1手c09
B帐户执行同样操作~
下面这个是跟3分之1的单子~不过是通过成交回报~
我需要的是跟限价单的操作~
谁能帮我改一下代码?

以下内容为程序代码:

1
2 Sub ORDER_OrderStatusEx2(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping, Account, AccountType)
3 if Status="Tradeing" and filled>0 and Account="800007" and StrComp(Code,"IF12")<>0 then
4 \'if Status="Tradeing" and filled>0 and Account="800007" then
5
6 Call Order.HoldingInfoByCode2(Code, Market, BuyHoding_1, BuyCost_1, BuyTodayHoding_1, SellHoding_1, SellCost_1, SellTodayHoding_1, PNL_1, UseMargin_1,Account)
7 Call Order.HoldingInfoByCode2(Code, Market, BuyHoding_2, BuyCost_2, BuyTodayHoding_2, SellHoding_2, SellCost_2, SellTodayHoding_2, PNL_2, UseMargin_2,"800052")
8
9 if round(BuyHoding_1/3)>BuyHoding_2 then order.Buy 1,round(BuyHoding_1/3)-BuyHoding_2,0,0,code,market,"800052",0
10 if round(BuyHoding_1/3)<BuyHoding_2 then order.Sell 1,BuyHoding_2-round(BuyHoding_1/3),0,0,code,market,"800052",0
11 if round(SellHoding_1/3)>SellHoding_2 then order.Buyshort 1,round(SellHoding_1/3)-SellHoding_2,0,0,code,market,"800052",0
12 if round(SellHoding_1/3)<SellHoding_2 then order.sellshort 1,SellHoding_2-round(SellHoding_1/3),0,0,code,market,"800052",0
13
14 end if
15 End Sub


--  作者:admin
--  发布时间:2016/4/6 9:44:38
--  

请问你具体遇到了什么问题?

上述的代码也是可以进行限价委托跟单的


--  作者:ch3coohqb
--  发布时间:2016/4/6 11:09:50
--  
你好~
上述代码只是在委托成交的时候才会触发B帐户的操作~
我的意思是A帐户一旦发出限价单~立马触发B帐户发出限价委托单~
不需要出现委托单成交~
如何改进上述代码?




--  作者:ch3coohqb
--  发布时间:2016/4/6 11:10:45
--  

OrderStatusEx2 事件

当委托订单出现变化时发生,比如撤单、成交等

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

OrderID       订单ID,使用Buy,Sell,BuyShort,SellShort等方法下单时返回的订单ID

Status         订单的变化类型,有如下字符串值:

                "Cancelled"  表示订单已经撤销

                "Submitted"和"PreSubmitted"  表示订单已经提交,当只成交一部分尚未完全成交时也会出现此事件,此时已成交数量在Filled参数中显示

                "Filled"    表示本地订单已经全部成交

                "Tradeing"  每笔成交回报,此时Filled是本次成交数量,Remaining将始终为0

                "Inactive"  表示本次委托无效,比如价格超过允许范围,委托数量超出范围等等

                "PendingSubmit" 本次委托已经发送服务器,但是服务器未发出确认消息(仅IB有效)

                "PendingCancel" 本次撤单委托已经发送服务器,但是服务器未发出确认消息(仅IB有效)

Filled         已成交数量

Remaining     未成交数量

Price         成交价格

Code         本次有关的品种代码

Market        本次有关的品种市场

OrderType     下单类型 0限价 1市价 2停损 3限价停损

Aspect         买卖方向 0买 1卖

Kaiping       开平仓类型 0开仓 1平仓 2平今

Account       用户操作账户名称

AccountType   账户类型 0IB 1CTP 2金仕达


===================

也就是Status="Submitted"时~无论是否成交~

我需要委托单的价格与委托手数~如何取?


--  作者:admin
--  发布时间:2016/4/6 12:39:05
--  

if Status="Tradeing"

全部改成

if Status="Submitted" 就可以了