欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 为什么这三句代码不能正确执行

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3262人关注过本帖树形打印复制链接

主题:为什么这三句代码不能正确执行

美女呀,离线,留言给我吧!
NatalieGuan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:117 积分:0 威望:0 精华:0 注册:2016/6/27 15:46:46
为什么这三句代码不能正确执行  发帖心情 Post By:2016/7/11 10:44:19 [只看该作者]

tbuy(1,1,lmt,stkindi(HY1,'Formula3.bprice',0,0)+0.2,0,'',HY1);
tsell(TISREMAINex(1,'',HY1)=0,1,mkt,0,0,'',HY2);
TCANCELEX(TISREMAINex(1,'',HY1),1,'612808',HY1);

预期代码效果是:若HY1成交,则平一手HY2,若未成交,则撤单
执行结果是:HY1在未成交的情况下HY2就会平,而且这种情况似乎只出现在tsell的时候,我将tsell改为tbuy的话似乎就可以按照预期执行了(即HY1成交时才执行开仓HY2)

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2016/7/11 10:53:57 [只看该作者]

你是通过什么方式判断,有未成交单是,有平仓动作?

使用debugfile 打印输出下你的条件。



编程无捷径,技巧靠积累。
 回到顶部
美女呀,离线,留言给我吧!
NatalieGuan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:117 积分:0 威望:0 精华:0 注册:2016/6/27 15:46:46
  发帖心情 Post By:2016/7/11 10:59:22 [只看该作者]

就是上一笔委托单是否未成交那个函数,我以为它会在每一次执行的时候检查是否上一笔委托单是否成交(即限价单是否成交)

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/7/11 11:07:47 [只看该作者]

你看下交易日志,是同一时刻tbuy了然后马上tsell

还是过了几秒,下一次轮询时候再执行tsell.

另外用debugfile输出下TISREMAINex(1,'',HY1)  看下输出值是多少


 回到顶部
美女呀,离线,留言给我吧!
NatalieGuan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:117 积分:0 威望:0 精华:0 注册:2016/6/27 15:46:46
  发帖心情 Post By:2016/7/11 11:30:58 [只看该作者]

1.是tbuy下一次轮询的时候再执行tsell
2.TISREMAINex(1,'',HY1)  之前检查过,有未成交单的时候为1,没有未成交单的时候为0
3.我发现问题可能在于,它每一次轮询的时候并不都执行第一个tbuy,反而可能tbuy之后过了两个轮询的时候由于已经撤单,显示没有未成交单的时候执行了一次tsell,但是也仅此一次,不会在每次显示没有未成交单的时候都执行
另外我怀疑,系统判断是否上一笔委托未成交的时候,是首先判断是否有开仓动作,然后判断未成交委托中是否有相应的单,若两者皆是则判断上一笔委托未成交,若有开仓动作且未成交委托中没有相应的单,则判断成交。然而,如果我已经撤单了,那么系统会发现有开仓动作,未成交委托中没有相应的单,因此判断为上一笔委托成交了,这就变成了一个bug

 回到顶部
美女呀,离线,留言给我吧!
NatalieGuan
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:117 积分:0 威望:0 精华:0 注册:2016/6/27 15:46:46
  发帖心情 Post By:2016/7/11 11:33:01 [只看该作者]

是tbuy下两次以上的轮询的时候再执行tsell

 回到顶部
美女呀,离线,留言给我吧!
NatalieGuan
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:117 积分:0 威望:0 精华:0 注册:2016/6/27 15:46:46
  发帖心情 Post By:2016/7/11 11:35:10 [只看该作者]

或者也不能说是bug,当我撤单了以后,系统就不认为这是上一笔委托了,而是认为上上一笔委托才是上一笔委托

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/7/11 13:35:12 [只看该作者]

或者你直接走vba,对报单的id做监控,这样去跟踪单子情况


 回到顶部