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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 4.3版本有漏单的问题

   

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


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

主题:4.3版本有漏单的问题

帅哥哟,离线,有人找我吗?
滚雪球
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:520 积分:0 威望:0 精华:0 注册:2013/10/20 14:07:21
4.3版本有漏单的问题  发帖心情 Post By:2017/8/11 10:27:11 [只看该作者]

运行环境windows 2008 32位 + 金字塔32位4.3版本 30分钟周期,3秒轮询一次,同时做35个品种

之前用4.22有重复下单的问题,在你们指导下升级到4.3,重复下单的问题是彻底解决了,但是现在又有漏单的问题,我不知道这个问题4.22有没有,但是4.3肯定有
具体情况是:
我的策略是一个非多即空的策略,无论是多空,不存在不满足开仓条件的情况,所以如果没有开仓,那一定和策略本身无关。
有时候漏了通过重启策略,补数据折腾几下之后又可以开,但有时无论重启策略还是补数据都无济于事。
从预警信号看,就是平了之后无法再开。我的代码大致是这样:


手数:=1;
LOST:=0;
IF THOLDING2>0 THEN BEGIN
 LOST:=TAVGENTERPRICE-CLOSE; //多头损失点数
END 
IF THOLDING2<0 THEN BEGIN
 LOST:=CLOSE-TAVGENTERPRICE; //空头损失点数
END

频繁交易限制条件:=TENTERBARS>0 OR LOST>5*MINDIFF;

开多条件:=C>MA(C,10);
开空条件:=C<MA(C,10);

平空条件:=C>MA(C,10) AND 频繁交易限制条件;
平多条件:=C<MA(C,10) AND 频繁交易限制条件;

平空:TSELLSHORT(平空条件 AND TSELLHOLDING(1)>0 ,手数,LMT,CLOSE+2*MINDIFF);
平多:TSELL(平多条件 AND TBUYHOLDING(1)>0,手数,LMT,CLOSE-2*MINDIFF);

开多:TBUY(开多条件 AND THOLDING2=0 AND TISREMAIN(0)=0,手数,LMT,CLOSE+2*MINDIFF);
开空:TBUYSHORT(开空条件 AND THOLDING2=0 AND TISREMAIN(0)=0,手数,LMT,CLOSE-2*MINDIFF);

我不知道是否和那个“频繁交易限制条件”有关,因为我看到一个品种,平仓以后很久没开,但到了10点整的时候又开了,我是30分钟周期,可是我并没有限制开仓,
我的限制条件是加在平仓条件上。再说我是用的轮询,不是K线走完,难道金字塔按照K线走完给我处理的,否则为什么不立即开,要等到整点的时候呢?


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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/8/11 10:53:34 [只看该作者]

tholding2表示的是实际持仓,平仓后,可能并不是立即为0的,所以开仓的条件并没有满足。建议使用debugout输出开仓的条件看下,看是否满足。


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


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

建议您借助交易日只以及debugfile进行自我调试,工作人员这边也会进行测试跟踪

但碍于时间安排上可能不能很及时回复您,还请理解


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


加好友 发短信
等级:论坛游侠 帖子:520 积分:0 威望:0 精华:0 注册:2013/10/20 14:07:21
  发帖心情 Post By:2017/8/11 11:16:56 [只看该作者]

我是非多即空的条件,并且设置了20秒撤单,但不会自动追单,因为只要一撤立即就能满足一个条件,没有必要自动追
所以如果是漏单,应该不会是不满足条件,但从预警列表中看,我的PP合约9点35平的,到10点整才开,我不明白为什么
平了没有立即产生信号,如果是不满足条件,那有可能是金字塔没有收到平仓成功的回报,但过了25分钟又开了我也不知道为什么
中间我补数据,重启策略都没见效

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/8/11 13:44:46 [只看该作者]

建议你增加debugfile进行跟踪调试。否者这种凭空猜测没有任何意义


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

同一条语句在一根k上只会执行一次,你撤单后原来的平仓命令不会再去执行的。

追撤单里你要把追单也给使用上,才能在撤单后继续把平仓给发出


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


加好友 发短信
等级:论坛游侠 帖子:520 积分:0 威望:0 精华:0 注册:2013/10/20 14:07:21
  发帖心情 Post By:2017/8/11 14:29:20 [只看该作者]

我是用的轮询怎么一根K线只执行一次呢?我设置的3秒轮询一次,应该是下一个3秒就会再执行对不对,我的周期是30分钟,一根K线上应该会执行10次才对呀
你说的这个应该是另一个问题,现在是已经平了开不了仓,并不是平不了仓

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


加好友 发短信
等级:论坛游侠 帖子:520 积分:0 威望:0 精华:0 注册:2013/10/20 14:07:21
  发帖心情 Post By:2017/8/11 14:33:15 [只看该作者]

这个问题并不总是出现,今天下午到现在就没出现过,感觉并不是逻辑有什么问题,只是某些情况下触发

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


加好友 发短信
等级:论坛游侠 帖子:520 积分:0 威望:0 精华:0 注册:2013/10/20 14:07:21
  发帖心情 Post By:2017/8/11 14:37:50 [只看该作者]

因为预警哪里没有信号,所以开不出仓肯定是条件不满足,但我这边开仓条件是非多即空的条件所以肯定是满足的,
如果要出问题就是 THOLDING2=0 AND TISREMAIN(0)=0 这两个函数 
你们说要debug也没问题,我把开仓条件和THOLDING2,TISREMAIN(0)都输出一下

 回到顶部