设为首页收藏本站

 找回密码
 注册
查看: 1695|回复: 2
打印 上一主题 下一主题

请教 如何正确输出 [复制链接]

Rank: 2

精华
0
UID
236310
积分
68
帖子
44
主题
20
阅读权限
30
注册时间
2016-6-11
最后登录
2019-8-6
跳转到指定楼层
1#
发表于 2018-1-26 17:52:51 |只看该作者 |倒序浏览
本帖最后由 fhxfhxfhx 于 2018-1-26 18:19 编辑

请教,输出结果总是上次成交的结果,怎样修改能输出正确的即时成交价和合同号。
代码如下,以开多为例,成交后的实时合同号假如是100,输出的却是合同号为99的结果,请问老师如何改正,请明示,谢谢
  1. //开多发单
  2. If(A_BuyPosition==0 && Conbuy)
  3. {                                                          
  4.         A_SendOrder(enum_buy,enum_entry,1,Q_AskPrice);
  5.         SetGlobalVar(11,Value(A_OrderContractNo)); //合同号记录
  6. }                       
  7. //开多成交
  8. If(A_OrderFilledPrice(GetGlobalVar(11))==Enum_Filled)
  9. {                                                                                          
  10.        FileAppend("C:\\Formula.log","开多价:"+Text(A_OrderFilledPrice(GetGlobalVar(11)))+"  合同号:"+Text(GetGlobalVar(11))); //指定合同号对应的成交价输出
  11. }
复制代码

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2018-1-31 15:04:07 |只看该作者
在这个逻辑下,发单的同时,去记录的合同号只会是前一笔委托的合同号。。
因为当前这笔委托还没有交易所返回相应的成交回报状态 ,是不会取到这笔合同号的。

使用道具 举报

Rank: 2

精华
0
UID
236310
积分
68
帖子
44
主题
20
阅读权限
30
注册时间
2016-6-11
最后登录
2019-8-6
3#
发表于 2018-2-1 15:42:54 |只看该作者
本帖最后由 fhxfhxfhx 于 2018-2-1 15:56 编辑
小米 发表于 2018-1-31 15:04
在这个逻辑下,发单的同时,去记录的合同号只会是前一笔委托的合同号。。
因为当前这笔委托还没有交易所返 ...


老师说的是,输出也确实如您所说是上个成交价的结果。学生就是不知如何才能返回正确的,实时的成交价,所以才向老师请教,麻烦老师能否修改我上面举例的代码,请明示。

还有就是,发单时记录合同号或者getordercount, 只为取得对应的成交价时,该用哪个,请老师指点,谢谢

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-2 14:40

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部