金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 72|回复: 11

TCANCEL撤单问题

[复制链接]

13

主题

54

帖子

54

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
发表于 2024-12-30 21:30 | 显示全部楼层 |阅读模式
今天发现个问题,比如螺纹持仓2手,1手昨仓,1手今仓,盘中触发止损单,2手都挂了限价平仓单,我程序里写了计算持仓时间2分钟后无成交就撤单(同时DEBUGFILE了每次挂单每秒倒计时),用动态加载持仓1秒轮询,结果是2分钟无成交后只撤单了1手,另外一手就一直挂着。


事后查询倒计时记录发现记录时候昨仓和今仓都分别在进行倒计时,也就是1秒有2个RB的倒计时,但是最后一秒到了只有1个倒计时记录。
我撤单倒计时是这样写的:
开头写的:
GLOBALVARIABLE:CD:=0;
中间撤单这样写的:
IF HTIME>=119 AND CD=0 THEN BEGIN
                        TCANCEL(1,0);
                        CD:=1;
                        EXIT;
END;

CD=1以后就不在进行撤单操作了。
考虑到TCANCEL撤单是不分今仓昨仓的,那么应该就是这个CD变量的问题,虽然是单策略内运行的,但是在同一个品种分别轮询的时候是不是:
比如今仓先轮询撤单后,赋值CD变量=1后,昨仓轮询时候就发现CD不等于0了,已经变了,就不触发撤单了
也就是说这个变量其实是在同品种的不同日仓轮询时候是公用的???
回复

使用道具 举报

2

主题

4475

帖子

4475

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-12-31 09:22 | 显示全部楼层
首先这个全局变量是 单策略预警(相同策略,2个预警也是区分开不共享的)+单品种 独享的,今老仓不会做区分的。

需要明确几点:
1.平仓是分2笔还是一笔平的?
2.如果是2笔,那么是一个预警里平的还是在不同预警里执行的?

提供下当时的日志,我们从日志中排查下。 需要这2个品种第一次平仓时候开始的日志。
回复

使用道具 举报

13

主题

54

帖子

54

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2024-12-31 10:40 | 显示全部楼层
2024-12-30 11:17:00.669    【后台】RB05 TSellShort 第 44 行 策略:<StpLoss 3> K线:2024.12.30 15:18:00 出现信号
2024-12-30 11:17:00.669    【后台】RB05 TSellShort 已成功触发下单操作 价格:3305.000000 数量:0 类型:0 账户: 品种:RB05
2024-12-30 11:17:00.685    【后台】实际账户持仓 2
2024-12-30 11:17:00.685    【后台】下单已发送
2024-12-30 11:17:00.685    【后台】RB05 运行结束
------------------------------------------------------------------------------------------------
2024-12-30 11:17:00.903    【下单】RB05 价3305.000000 量2 买卖0 类型0 开平1 账户93610752 Formula 1
2024-12-30 11:17:00.903    【下单】RB05 账户93610752 改为平今数量1
2024-12-30 11:17:00.920    【下单】RB05 价3305.000000 量1 买卖0 类型0 开平2 账户93610752 Formula 1
------------------------------------------------------------------------------------------------------------------
2024-12-30 11:17:00.950    【下单】RB05 账户93610752 剩余数量调整为1
2024-12-30 11:17:00.950    【下单】RB05 账户93610752 进入平今仓调整 委托:1 总:2 今:0 平:1
--------------------------------------------------------------------------------------------------------
2024-12-30 11:17:01.124    【后台】RB05 运行结束

下面的是当天的RB05的委托:
48      2024/12/30 11:17:01    RB05 螺纹钢2505      限价    买入    平      已撤单        3305      1           0           投机    93610752        34669732        233930481
57      2024/12/30 11:17:00    RB05 螺纹钢2505      限价    买入    平      已撤单        3305      1           0           投机    93610752        34665501        233930480

同时我也记录debugfile了挂单的时长:
2024-12-30 11:18:57.357    SF02 时长: 117
2024-12-30 11:18:57.357    SI02 时长: 117
2024-12-30 11:18:57.357    TA05 时长: 117
2024-12-30 11:18:57.372    SS02 时长: 117
2024-12-30 11:18:57.372    SRY05 时长: 117
2024-12-30 11:18:57.372    SH05 时长: 117
2024-12-30 11:18:57.388    RM05 时长: 117
2024-12-30 11:18:57.388    RB05 时长: 117
2024-12-30 11:18:57.404    LU03 时长: 116
2024-12-30 11:18:57.404    HC05 时长: 116
2024-12-30 11:18:57.419    FG05 时长: 116
2024-12-30 11:18:57.419    AL02 时长: 115
2024-12-30 11:18:57.435    RB05 时长: 117
2024-12-30 11:18:57.435    L05 时长: 115
2024-12-30 11:18:57.435    HC05 时长: 116
2024-12-30 11:18:57.451    EG05 时长: 115
2024-12-30 11:18:57.451    AL02 时长: 115
2024-12-30 11:18:57.466    MA05 时长: 115
2024-12-30 11:18:58.357    SF02 时长: 118
2024-12-30 11:18:58.357    SI02 时长: 118
2024-12-30 11:18:58.357    TA05 时长: 118
2024-12-30 11:18:58.372    SS02 时长: 118
2024-12-30 11:18:58.372    SRY05 时长: 118
2024-12-30 11:18:58.372    SH05 时长: 118
2024-12-30 11:18:58.388    RM05 时长: 118
2024-12-30 11:18:58.388    RB05 时长: 118
2024-12-30 11:18:58.404    LU03 时长: 117
2024-12-30 11:18:58.404    HC05 时长: 117
2024-12-30 11:18:58.404    FG05 时长: 117
2024-12-30 11:18:58.419    AL02 时长: 116
2024-12-30 11:18:58.419    RB05 时长: 118
2024-12-30 11:18:58.435    L05 时长: 116
2024-12-30 11:18:58.435    HC05 时长: 117
2024-12-30 11:18:58.435    EG05 时长: 116
2024-12-30 11:18:58.450    AL02 时长: 116
2024-12-30 11:18:58.450    MA05 时长: 116
2024-12-30 11:18:59.357    SF02 时长: 119
2024-12-30 11:18:59.357    SI02 时长: 119
2024-12-30 11:18:59.357    TA05 时长: 119
2024-12-30 11:18:59.372    SS02 时长: 119
2024-12-30 11:18:59.372    SRY05 时长: 119
2024-12-30 11:18:59.372    SH05 时长: 119
2024-12-30 11:18:59.388    RM05 时长: 119
2024-12-30 11:18:59.388    RB05 时长: 119
2024-12-30 11:18:58.404    LU03 时长: 117
2024-12-30 11:18:58.404    HC05 时长: 117
2024-12-30 11:18:58.404    FG05 时长: 117
2024-12-30 11:18:58.419    AL02 时长: 116
2024-12-30 11:18:58.419    RB05 时长: 118
2024-12-30 11:18:58.435    L05 时长: 116
2024-12-30 11:18:58.435    HC05 时长: 117
2024-12-30 11:18:58.435    EG05 时长: 116
2024-12-30 11:18:58.450    AL02 时长: 116
2024-12-30 11:18:58.450    MA05 时长: 116
2024-12-30 11:18:59.357    SF02 时长: 119
我设的是轮询1秒,大于等于119时候就TCANCEL,全局变量:=1;可以看到每秒都会轮询到RB05的挂单2次,但是最后119秒的就出现了一次

补充内容 (2024-12-31 10:43):
RB05 是 1手昨仓 1手今仓,一共持仓2手
委托列表里面 自动撤单的,还有一手是超时未撤单后,我手工撤的。

补充内容 (2024-12-31 10:47):
计时后面那部分贴错了,后面重贴下:
回复

使用道具 举报

13

主题

54

帖子

54

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2024-12-31 10:47 | 显示全部楼层
计时后面那部分贴错了,重贴下:
2024-12-30 11:18:57.357    SF02 时长: 117
2024-12-30 11:18:57.357    SI02 时长: 117
2024-12-30 11:18:57.357    TA05 时长: 117
2024-12-30 11:18:57.372    SS02 时长: 117
2024-12-30 11:18:57.372    SRY05 时长: 117
2024-12-30 11:18:57.372    SH05 时长: 117
2024-12-30 11:18:57.388    RM05 时长: 117
2024-12-30 11:18:57.388    RB05 时长: 117
2024-12-30 11:18:57.404    LU03 时长: 116
2024-12-30 11:18:57.404    HC05 时长: 116
2024-12-30 11:18:57.419    FG05 时长: 116
2024-12-30 11:18:57.419    AL02 时长: 115
2024-12-30 11:18:57.435    RB05 时长: 117
2024-12-30 11:18:57.435    L05 时长: 115
2024-12-30 11:18:57.435    HC05 时长: 116
2024-12-30 11:18:57.451    EG05 时长: 115
2024-12-30 11:18:57.451    AL02 时长: 115
2024-12-30 11:18:57.466    MA05 时长: 115
2024-12-30 11:18:58.357    SF02 时长: 118
2024-12-30 11:18:58.357    SI02 时长: 118
2024-12-30 11:18:58.357    TA05 时长: 118
2024-12-30 11:18:58.372    SS02 时长: 118
2024-12-30 11:18:58.372    SRY05 时长: 118
2024-12-30 11:18:58.372    SH05 时长: 118
2024-12-30 11:18:58.388    RM05 时长: 118
2024-12-30 11:18:58.388    RB05 时长: 118
2024-12-30 11:18:58.404    LU03 时长: 117
2024-12-30 11:18:58.404    HC05 时长: 117
2024-12-30 11:18:58.404    FG05 时长: 117
2024-12-30 11:18:58.419    AL02 时长: 116
2024-12-30 11:18:58.419    RB05 时长: 118
2024-12-30 11:18:58.435    L05 时长: 116
2024-12-30 11:18:58.435    HC05 时长: 117
2024-12-30 11:18:58.435    EG05 时长: 116
2024-12-30 11:18:58.450    AL02 时长: 116
2024-12-30 11:18:58.450    MA05 时长: 116
2024-12-30 11:18:59.357    SF02 时长: 119
2024-12-30 11:18:59.357    SI02 时长: 119
2024-12-30 11:18:59.357    TA05 时长: 119
2024-12-30 11:18:59.372    SS02 时长: 119
2024-12-30 11:18:59.372    SRY05 时长: 119
2024-12-30 11:18:59.372    SH05 时长: 119
2024-12-30 11:18:59.388    RM05 时长: 119
2024-12-30 11:18:59.388    RB05 时长: 119
2024-12-30 11:18:59.403    LU03 时长: 118
2024-12-30 11:18:59.403    HC05 时长: 118
2024-12-30 11:18:59.403    FG05 时长: 118
2024-12-30 11:18:59.419    AL02 时长: 117
2024-12-30 11:18:59.435    L05 时长: 117
2024-12-30 11:18:59.435    HC05 时长: 118
2024-12-30 11:18:59.435    EG05 时长: 117
2024-12-30 11:18:59.450    AL02 时长: 117
2024-12-30 11:18:59.450    MA05 时长: 117
2024-12-30 11:19:00.372    LU03 时长: 119
2024-12-30 11:19:00.372    HC05 时长: 119
2024-12-30 11:19:00.372    FG05 时长: 119
2024-12-30 11:19:00.404    AL02 时长: 118
2024-12-30 11:19:00.419    L05 时长: 118
2024-12-30 11:19:00.419    EG05 时长: 118
2024-12-30 11:19:00.435    AL02 时长: 118
2024-12-30 11:19:00.435    MA05 时长: 118
2024-12-30 11:19:01.357    PF02 时长: 1
2024-12-30 11:19:01.388    AL02 时长: 119
2024-12-30 11:19:01.403    L05 时长: 119
2024-12-30 11:19:01.403    EG05 时长: 119
2024-12-30 11:19:01.419    MA05 时长: 119
回复

使用道具 举报

13

主题

54

帖子

54

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2024-12-31 10:56 | 显示全部楼层
再贴下RB05的撤单的:

2024-12-30 11:18:58.481    【后台】RB05 运行结束
------------------------------------------------------------------------
2024-12-30 11:18:59.513    【后台】RB05 TCancel 第 23 行出现信号 类型:0
2024-12-30 11:18:59.513    【下单】RB05 执行撤单指令 RefID:1377 帐号:93610752
2024-12-30 11:18:59.513    【后台】RB05 运行结束
------------------------------------------------------------------------
2024-12-30 11:18:59.607    【后台】RB05 运行结束
------------------------------------------------------------------------
2024-12-30 11:19:00.404    【后台】RB05 运行结束
回复

使用道具 举报

13

主题

54

帖子

54

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2024-12-31 11:01 | 显示全部楼层

2024-12-30 11:18:59.450    【指令】收到回报指令 ID = 233930481 RefID = 1377 品种:rb2505 账户:93610752
2024-12-30 11:18:59.513    【下单】RB05 执行撤单指令 RefID:1377 帐号:93610752
2024-12-30 11:18:59.669    【指令】收到撤单回报指令 ID = 233930481 RefID = 1377
2024-12-30 11:18:59.700    【回报】93610752 : rb2505 - 已撤单 量:1
回复

使用道具 举报

0

主题

2643

帖子

2643

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-12-31 13:47 | 显示全部楼层
GLOBALVARIABLE定义的全局变量只作用于当前预警中的当前品种。你这个问题是因为TCancel 函数不会同时一并撤销今老同时报出的仓位。
这个现象会反馈开发部门进行优化完善。
回复

使用道具 举报

13

主题

54

帖子

54

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2024-12-31 14:22 | 显示全部楼层
资深技术03 发表于 2024-12-31 13:47
GLOBALVARIABLE定义的全局变量只作用于当前预警中的当前品种。你这个问题是因为TCancel 函数不会同时一并撤 ...

回复

使用道具 举报

13

主题

54

帖子

54

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2024-12-31 14:27 | 显示全部楼层

哦,是TCANCEL的问题啊。
是不是同时能够优化下以下问题:
1.在设置里面有挂单多少秒自动撤单,但是同时会把盘中休息时间也包含在内,这也是为什么我费劲要自己倒计时挂单时间以便减去盘中休息时间的原因,希望能有选项可以去除盘中休息的时间。
2.只有上期所会把新老仓分开,能否设置中能选择把新老仓合并。
回复

使用道具 举报

4

主题

136

帖子

147

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2024-12-31 15:10 | 显示全部楼层
该问题主要是上期所新老仓必须要分开平导致的,为了后台多策略多品种互不干扰,撤单是按照ORDERID来进行的,对于上期的拆开2个报单的情况就有点问题。
我们后续会考虑针对此情况的处理方案。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-1-3 09:52 , Processed in 0.256709 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表