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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 关于重复开单的问题

   

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


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

主题:关于重复开单的问题

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


加好友 发短信
等级:论坛游侠 帖子:152 积分:0 威望:0 精华:0 注册:2015/3/2 13:11:05
关于重复开单的问题  发帖心情 Post By:2018/6/4 15:22:33    Post IP:194.138.202.229[只看该作者]

我们的公式已经运行两年多了,原来采用等HIGH>buypoint或LOW<buypoint等方式,一直没有重复开单,最近加了一个全局变量限制开单时间间隔的语句,结果变成会重复发单了。

 

而且前后发单的消息是在不同K线上的,而重复发单后,在第二次发单时输出的公式中的参数居然没有变化,比如买手数和持仓数居然是完全一样的。

 

图表交易,选项:走完K线,等间隔扫描,高频,1秒。

 

代码如下:

 

MAX_GOT:=1;

FOR I_tmp=1 TO 2 DO BEGIN

IF  LOW<=Buy_point[I_tmp]  AND (EXITBARS>2 OR EXITBARS<0) THEN BEGIN

 

   U_GOT:=ABS(TIMETOT0(CURRENTTIME)-EXTGBDATA(STR_GOT));//全局防撞单,初始设置为大于1秒
 IF NOT(U_GOT>MAX_GOT) THEN GOTO my_Rtlock;//持仓数等于零,无须止损

 

开多:buy(1,1,MARKETR),NOAXIS;

 

END

 

开单后,会把CURRENTTIME写入全局变量STR_GOT中。

       t_tmp:=TIMETOT0(CURRENTTIME);
       EXTGBDATASET(STR_GOT,t_tmp);

 

试过用TIME,也同样会重复开单,而且更严重。用CURRENTTIME只有在橡胶这种交易活跃的品种会出现重复发单,像MA就不会。

 

公式中输出的消息如下:

 

2018-06-04 13:59:00.741    7B20橡胶1809序列位置:3908,开多数:1,成交价:11705,持仓:1,浮动盈亏:-10,总买单数:1,资产:999990,实时:1,触发价格:11705
2018-06-04 13:59:02.379    7B20橡胶1809序列位置:3908,开多数:1,成交价:11710,持仓:1,浮动盈亏:-10,总买单数:1,资产:999990,实时:1,触发价格:11725
2018-06-04 13:59:04.267    7B20橡胶1809序列位置:3909,开多数:1,成交价:11705,持仓:1,浮动盈亏:-10,总买单数:1,资产:999990,实时:1,触发价格:11705
2018-06-04 13:59:06.414    7B20橡胶1809序列位置:3909,开多数:1,成交价:11705,持仓:1,浮动盈亏:-10,总买单数:1,资产:999990,实时:1,触发价格:11725

 

实盘中,只有第一个价格符合条件,原来也会从同一根K线中出来两个成交消息,但只会成交一单。但这次,在K线3909又出来同样的消息,又成交了一单。这种现象似乎不是信号闪烁,居然前一单成交后,第二单成交后,持仓还是不变,总买单数也不变。

不知是何原因,如何修改避免?请帮忙指导。

 

日志如下:

 

 

2018-06-04 13:59:00.835    【图表】L09 运行完毕
2018-06-04 13:59:00.835    【图表】PP01 运行完毕
2018-06-04 13:59:00.835    【图表】L01 运行完毕
2018-06-04 13:59:00.835    【图表】框架:TWS0616 触发下单 BUY 品种 RU09 下单K线 2018.06.04 13:59:05 公式:7BUYZZ80520 窗格ID:Window30 代码行:1945
2018-06-04 13:59:00.835    【图表】模型下单 1
2018-06-04 13:59:00.835    【图表】下单系数调整后 手数:1
2018-06-04 13:59:00.851    【图表】直接下单
2018-06-04 13:59:00.851    【图表】RU09 运行完毕
2018-06-04 13:59:00.851    【图表】RU01 运行完毕
2018-06-04 13:59:00.851    【下单】RU09 价0.000000 量1 买卖0 类型1 开平0 账户99000985 Formula 1
2018-06-04 13:59:00.851    【下单】确认报单已发送 ID=-2004934769 RefID = 7400
2018-06-04 13:59:00.929    【指令】收到回报指令 ID = -2004934769 RefID = 7400
2018-06-04 13:59:00.944    【指令】收到回报指令 ID = -2004934769 RefID = 7400
2018-06-04 13:59:00.944    【指令】收到回报指令 ID = -2004934769 RefID = 7400
2018-06-04 13:59:00.944    【回报】99000985 : ru1809 - 已报单 1 价格:11725 开 买
2018-06-04 13:59:01.069    【指令】收到成交回报指令 REFID = 7400 vol = 1
2018-06-04 13:59:01.100    【图表】AP10 运行完毕
2018-06-04 13:59:01.100    【图表】AP01 运行完毕
2018-06-04 13:59:01.100    【图表】PP09 运行完毕

 

 

 

2018-06-04 13:59:04.267    【图表】PP01 运行完毕
2018-06-04 13:59:04.267    【图表】L01 运行完毕
2018-06-04 13:59:04.267    【图表】框架:TWS0616 触发下单 BUY 品种 RU09 下单K线 2018.06.04 13:59:10 公式:7BUYZZ80520 窗格ID:Window30 代码行:1945
2018-06-04 13:59:04.267    【图表】模型下单 1
2018-06-04 13:59:04.267    【图表】下单系数调整后 手数:1
2018-06-04 13:59:04.267    【图表】直接下单
2018-06-04 13:59:04.267    【图表】RU09 运行完毕
2018-06-04 13:59:04.267    【图表】RU01 运行完毕
2018-06-04 13:59:04.267    【下单】RU09 价0.000000 量1 买卖0 类型1 开平0 账户99000985 Formula 1
2018-06-04 13:59:04.283    【下单】确认报单已发送 ID=-2004934759 RefID = 7410
2018-06-04 13:59:04.345    【指令】收到回报指令 ID = -2004934759 RefID = 7410
2018-06-04 13:59:04.345    【指令】收到回报指令 ID = -2004934759 RefID = 7410
2018-06-04 13:59:04.361    【指令】收到回报指令 ID = -2004934759 RefID = 7410
2018-06-04 13:59:04.361    【回报】99000985 : ru1809 - 已报单 1 价格:11725 开 买
2018-06-04 13:59:04.392    【图表】AP10 运行完毕
2018-06-04 13:59:04.392    【图表】AP01 运行完毕
2018-06-04 13:59:04.392    【图表】PP09 运行完毕
2018-06-04 13:59:04.407    【图表】L09 运行完毕
2018-06-04 13:59:04.407    【图表】PP01 运行完毕
2018-06-04 13:59:04.407    【图表】L01 运行完毕
2018-06-04 13:59:04.407    【图表】RU09 运行完毕


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/6/4 16:03:47    Post IP:180.169.30.6[只看该作者]

K线是什么周期的?从日志和输出记录来看,序列位置3908K和3809K 时间上已经超过1s了。也就是满足你设置的间隔了。并且下单也没限制在holding=0时才允许下单。

看上去有问题的是输出的持仓,盈亏等数据似乎有点问题,你上面给的日志是完整的?还是说中间去掉了一部分?02-03秒 中间这部分日志呢?




命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
infocell
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:152 积分:0 威望:0 精华:0 注册:2015/3/2 13:11:05
  发帖心情 Post By:2018/6/4 16:10:31    Post IP:194.138.202.229[只看该作者]

是在1秒线上,就是会重复开单,中间的日志都是一些没有用的,就删掉了。

 


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


加好友 发短信
等级:论坛游侠 帖子:152 积分:0 威望:0 精华:0 注册:2015/3/2 13:11:05
  发帖心情 Post By:2018/6/4 16:12:29    Post IP:194.138.202.229[只看该作者]

一个单子开出来后,我会通过设定标志位,避免二次开仓,原来都不会重复开仓的,但现在连续在两根K线开出相同的单子,由于前后持仓是一样的,用holding来限制后面的重复开仓,感觉也没有用啊。

 回到顶部