以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  OrderStatusEx返回成交价的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=71512)

--  作者:dwjgwsm
--  发布时间:2014/10/29 16:58:40
--  OrderStatusEx返回成交价的问题
成交价是2304,但是OrderStatusEx返回成交价是2306(我写了个输出语句,输出就是2306)

2014-10-29 14:00:02.361    【回报】: RM501 - 已报单 1 价格:2306 开 买
2014-10-29 14:00:02.815    【回报】: RM501 - 已成交 1 价格:2304 开 买

何解?

--  作者:王锋
--  发布时间:2014/10/29 17:01:40
--  
下次记录一下OrderStatusEx的状态为 Fill 时的价格, 将日志贴过来我们分析一下看看
--  作者:dwjgwsm
--  发布时间:2014/11/6 10:00:20
--  
今天又出现这种情况:

2014-11-06 09:08:17.861    2014.11.06 09:08:17【图表】框架:myshort 触发下单 BUYSHORT 品种 JD00 下单K线 2014.11.06 13:10:00 公式:shortone 窗格ID:2 代码行:175
2014-11-06 09:08:17.861    【图表】模型下单 1
2014-11-06 09:08:17.862    【图表】下单系数调整后 手数:1
2014-11-06 09:08:17.863    【图表】直接下单
2014-11-06 09:08:17.864    【图表】JD00 运行完毕
2014-11-06 09:08:17.864    【图表】RM00 运行完毕
2014-11-06 09:08:17.865    【图表】RB00 运行完毕
2014-11-06 09:08:17.865    【下单】JD01 价4549.000000 量1 买卖1 类型0 开平0 账户 Formula 1
2014-11-06 09:08:17.866    【下单】确认报单已发送 ID=-934148439 RefID = 425
2014-11-06 09:08:17.891    【指令】收到回报指令 ID = -934148439 RefID = 425
2014-11-06 09:08:17.916    【指令】收到回报指令 ID = -934148439 RefID = 425
2014-11-06 09:08:17.917    【回报】 : jd1501 - 已报单 1 价格:4549 开 卖
2014-11-06 09:08:18.875    【图表】TA00 运行完毕
2014-11-06 09:08:18.875    【图表】JD00 运行完毕
2014-11-06 09:08:18.876    【图表】RM00 运行完毕
2014-11-06 09:08:18.876    【图表】RB00 运行完毕
2014-11-06 09:08:19.028    【追单】发送了首次追单下单指令到队列 追单数量:1 账户 报单:1 成交0
2014-11-06 09:08:19.029    【追单】追单队列 撤单操作 订单号:-934148439 账户:
2014-11-06 09:08:19.058    【指令】收到回报指令 ID = -934148439 RefID = 425
2014-11-06 09:08:19.423    【指令】收到回报指令 ID = -934148439 RefID = 425
2014-11-06 09:08:19.427    【回报】 : jd1501 - 已撤单 量:1
2014-11-06 09:08:19.427    【下单】JD01 价4545.000000 量1 买卖1 类型1 开平0 账户 Formula 1
2014-11-06 09:08:19.428    【下单】确认报单已发送 ID=-934148429 RefID = 435
2014-11-06 09:08:19.429    【追单】撤单成功,发送追单指令
2014-11-06 09:08:19.455    【指令】收到回报指令 ID = -934148429 RefID = 435
2014-11-06 09:08:19.457    【回报】 : jd1501 - 已报单 1 价格:4542 开 卖
2014-11-06 09:08:19.481    【指令】收到回报指令 ID = -934148429 RefID = 435
2014-11-06 09:08:19.481    【指令】收到回报指令 ID = -934148429 RefID = 435
2014-11-06 09:08:22.670    【指令】收到成交回报指令 REFID = 435
2014-11-06 09:08:23.386    【回报】 : jd1501 - 已成交 1 价格:4544 开 卖


Sub ORDER_OrderStatusEx(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping)  \'当委托单发生变化时产生写入实际成交价事件
iPrice=round(Price,1)  
if Status="Filled" then writerealprice OrderID,Code,Market,iPrice,Filled,Aspect,Kaiping
End Sub

上面的这段代码没有修改,之前也是这样写的
最终写入Excel的价格iPrice就是报单价4542
[此贴子已经被作者于2014/11/6 10:01:34编辑过]

--  作者:FexTel
--  发布时间:2014/11/6 10:10:36
--  

1,记录的报单价是第一次报单还是追单时的价格,日志上是没有4542这个价格。

 


--  作者:dwjgwsm
--  发布时间:2014/11/6 10:11:12
--  
4542是第二次的报单价,前面撤过一次单

2014-11-06 09:08:19.457    【回报】 : jd1501 - 已报单 1 价格:4542 开 卖
[此贴子已经被作者于2014/11/6 10:11:43编辑过]

--  作者:FexTel
--  发布时间:2014/11/6 10:24:23
--  

1,恩,情况已经看到。本地测试验证后如有问题会进行处理


--  作者:FexTel
--  发布时间:2014/11/6 10:33:56
--  

刚查了下,CTP平台下FILLED全部成交表示就为报单价,没有成交价。

 

成交价您使用当状态为"Tradeing"时返回的价格即可


--  作者:dwjgwsm
--  发布时间:2014/11/6 10:43:16
--  
好的,谢谢!