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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 后台追单不成功分析

   

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


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

主题:后台追单不成功分析

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


加好友 发短信
等级:论坛游侠 帖子:258 积分:0 威望:0 精华:0 注册:2014/2/18 11:04:12
后台追单不成功分析  发帖心情 Post By:2018/6/30 8:55:15    Post IP:220.186.44.169[只看该作者]

下面分别是实盘后台撤单追单公式、程序化交易开平追设置,交易日志,请分析下最后没有追单的问题在哪里?公式和设置有没有错误


/////////////程序化交易开平追设置
下单40秒后未成交,10个变动价位追单,否则挂单不动

///////监控未成交单//对未成交单撤单,并追单
未成交时:=TSUBMITEX(0,'','');
if 未成交时>=50 then BEGIN
WCJD:=TREMAINQTY(0,'','');
kd:=TREMAINQTY(1,'','');
pd:=TREMAINQTY(2,'','');
kk:=TREMAINQTY(3,'','');
pk:=TREMAINQTY(4,'','');
IF WCJD>0 THEN BEGIN
TCANCELEX(1,0,'','');
tbuy(kd>0,WCJD,MKT,0,0,'','');
tsell(pd>0,WCJD,MKT,0,0,'','');
tbuyshort(kk>0,WCJD,MKT,0,0,'','');
tsellshort(pk>0,WCJD,MKT,0,0,'','');
交易记录:=37;
DEBUGFILE('E:\TESTic11.TXT','交易记录%.2f',交易记录);
DEBUGOUT('交易记录%.2f',交易记录);
END
end
//////////////信号记录
2018-06-29 13:00:05.923    交易记录37.00


////////////////交易日志
2018-06-29 11:25:05.694    【后台】IC00 运行结束
2018-06-29 11:26:04.397    【后台】IC00 运行结束
2018-06-29 11:27:05.694    【后台】IC00 运行结束
2018-06-29 11:28:11.522    【后台】IC00 运行结束
2018-06-29 11:29:05.257    【后台】IC00 TSellShort 第 142 行 策略:<ic后台> 出现信号
2018-06-29 11:29:05.257    【后台】IC00 TSellShort 已成功触发下单操作 价格:5132.600098 数量:1 类型:0 账户: 品种:IC00
2018-06-29 11:29:05.257    【后台】实际账户持仓 1
2018-06-29 11:29:05.257    【后台】下单已发送
2018-06-29 11:29:05.257    【后台】IC00 运行结束
2018-06-29 11:29:05.257    【下单】IC07 价5132.600098 量1 买卖0 类型0 开平1 账户7888888 Formula 1
2018-06-29 11:29:05.257    【下单】确认报单已发送 ID=-2107764037 RefID = 3184
2018-06-29 11:29:05.272    【指令】收到回报指令 ID = -2107764037 RefID = 3184
2018-06-29 11:29:05.272    【回报】7888888 : IC1807 - 已报单 1 价格:5132.6 平 买
2018-06-29 11:29:05.272    【指令】收到回报指令 ID = -2107764037 RefID = 3184
2018-06-29 13:00:05.923    【后台】IC00 TCANCELEX 出现信号 类型:0 帐号:
2018-06-29 13:00:05.923    【后台】IC00 TSellShort 第 281 行 策略:<ic后台> 出现信号
2018-06-29 13:00:05.923    【后台】IC00 TSellShort 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:IC00
2018-06-29 13:00:05.923    【后台】实际账户持仓 0
2018-06-29 13:00:05.923    【后台】IC00 运行结束
2018-06-29 13:00:05.938    【指令】收到回报指令 ID = -2107764037 RefID = 3184
2018-06-29 13:00:05.938    【指令】收到回报指令 ID = -2107764037 RefID = 3184
2018-06-29 13:00:05.954    【回报】7888888 : IC1807 - 已撤单 量:1
2018-06-29 13:01:05.689    【后台】IC00 运行结束
2018-06-29 13:02:05.766    【后台】IC00 运行结束
2018-06-29 13:03:05.329    【后台】IC00 运行结束



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


加好友 发短信
等级:论坛游侠 帖子:258 积分:0 威望:0 精华:0 注册:2014/2/18 11:04:12
  发帖心情 Post By:2018/6/30 9:09:19    Post IP:220.186.44.169[只看该作者]

从交易日志里发现这两句就出现错误,没有得到账户持仓,实际上是有的
2018-06-29 13:00:05.923    【后台】IC00 TSellShort 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:IC00
2018-06-29 13:00:05.923    【后台】实际账户持仓 0


/////另一时段交易日志
2018-06-29 14:24:05.287    【后台】IC00 运行结束
2018-06-29 14:25:06.272    【后台】IC00 运行结束
2018-06-29 14:26:07.569    【后台】IC00 运行结束
2018-06-29 14:27:07.366    【后台】IC00 TSellShort 第 142 行 策略:<ic后台> 出现信号
2018-06-29 14:27:07.366    【后台】IC00 TSellShort 已成功触发下单操作 价格:5194.600098 数量:1 类型:0 账户: 品种:IC00
2018-06-29 14:27:07.366    【后台】实际账户持仓 1
2018-06-29 14:27:07.366    【后台】下单已发送
2018-06-29 14:27:07.366    【后台】IC00 运行结束
2018-06-29 14:27:07.366    【下单】IC07 价5194.600098 量1 买卖0 类型0 开平1 账户781598888 Formula 1
2018-06-29 14:27:07.366    【下单】确认报单已发送 ID=-898006464 RefID = 3194
2018-06-29 14:27:07.382    【指令】收到回报指令 ID = -898006464 RefID = 3194
2018-06-29 14:27:07.382    【回报】7888888 : IC1807 - 已报单 1 价格:5194.6 平 买
2018-06-29 14:27:07.382    【指令】收到回报指令 ID = -898006464 RefID = 3194
2018-06-29 14:27:17.460    【指令】收到回报指令 ID = -898006464 RefID = 3194
2018-06-29 14:27:17.460    【指令】收到回报指令 ID = -898006464 RefID = 3194
2018-06-29 14:27:17.460    【指令】收到成交回报指令 REFID = 3194 vol = 1
2018-06-29 14:27:17.460    【回报】7888888 : IC1807 - 已成交 1 价格:5194.6 平 买
2018-06-29 14:28:07.429    【后台】IC00 运行结束
2018-06-29 14:29:07.336    【后台】IC00 运行结束
2018-06-29 14:30:05.446    【后台】IC00 运行结束
2018-06-29 14:31:08.509    【后台】IC00 运行结束

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/7/1 14:15:38    Post IP:180.164.218.109[只看该作者]

撤单指令发出到柜台回报是需要时间的,而你策略中在撤单后紧接着就发平仓指令了,此时还有有收到撤单成功的回报,可用仓位还是0.自然平仓失败
你日志中也能反馈出这一现象,撤单成功的回报晚于平空操作的动作。

处理方案:不要直接在撤单指令后面直接写追单指令,虽然逻辑上没问题,但是必须考虑柜台回报的时间。
应该是使用一个全局标志位,在撤单后进行标记,并且检测当前实际账户的可用持仓是否已经恢复(撤单成功后)再进行平仓



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


加好友 发短信
等级:论坛游侠 帖子:258 积分:0 威望:0 精华:0 注册:2014/2/18 11:04:12
  发帖心情 Post By:2018/7/2 7:12:23    Post IP:220.186.22.57[只看该作者]

撤单指令后插入SLEEP指令能起作用吗?如
IF WCJD>0 THEN BEGIN
TCANCELEX(1,0,'','');
SLEEP(3000);
TSELLSHORT(1,A4,MKT,0,0,zh1,pz1);
[此贴子已经被作者于2018/7/2 7:13:41编辑过]

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/7/2 7:30:17    Post IP:180.164.218.109[只看该作者]

1不要使用sleep,它会造成金字塔整个策略运行的暂停。
2柜台回报时间间隔不确定,最好的方式就是我说之前的说的,撤单指令发出后,标记位记录和使用thbuyholingex等仓位函数检测当前是否存在可用持仓,两者都成立时在去发平仓指令


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


加好友 发短信
等级:论坛游侠 帖子:258 积分:0 威望:0 精华:0 注册:2014/2/18 11:04:12
  发帖心情 Post By:2018/7/2 11:55:10    Post IP:220.186.22.57[只看该作者]

好,谢谢

 回到顶部