金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 5549|回复: 9

重复报单

[复制链接]

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
发表于 2023-6-7 09:55 | 显示全部楼层 |阅读模式
请问老师,之前的后台多策略代码容易出现重复报单,怎么处理好些
截图202306070955238395.png
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-6-7 10:01 | 显示全部楼层
解决问题的方法上次已经说了的,这个是需要先通过debugfile代码调试,来定位问题的,你需要结合交易日志来分析分别是哪行的开平仓代码触发了,然后再通过输出的日志来看是哪个变量值和预期的不符,导致的触发了,定位到是哪个变量引起的,再来优化这个代码的。我们提供的只是代码的主体逻辑部分,里面的各个细节和边界问题,需要通过代码调试来跟踪定位的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-6-7 15:05 | 显示全部楼层
今天沥青也出现了,下面是交易日志
2023-06-07 14:30:04.255    【指令】收到回报指令 ID = -771355120 RefID = 194779 品种:bu2308 账户:786562
2023-06-07 14:30:04.260    【下单】BUX00 价0.000000 量6 买卖1 类型1 开平1 账户786562 Formula 1
2023-06-07 14:30:04.264    【回报】786562 : bu2308 - 已报单 6 价格:3712 平 卖
2023-06-07 14:30:04.268    【下单】BUX00 账户786562 进入平今仓调整 委托:6 总:10 今:10 平:2
2023-06-07 14:30:04.272    【指令】收到回报指令 ID = -771355120 RefID = 194779 品种:bu2308 账户:786562
2023-06-07 14:30:04.276    【下单】确认报单已发送 ID=-771355120 RefID = 194779
2023-06-07 14:30:04.281    【指令】收到回报指令 ID = -771355120 RefID = 194779 品种:bu2308 账户:786562
2023-06-07 14:30:04.285    【后台】TA00 运行结束
2023-06-07 14:30:04.289    【指令】收到成交回报指令 REFID = 194779 vol = 1 Account = 786562
2023-06-07 14:30:04.293    【回报】786562 : bu2308 - 已成交 1 价格:3715 平 卖
2023-06-07 14:30:04.299    【指令】收到回报指令 ID = -771355120 RefID = 194779 品种:bu2308 账户:786562
2023-06-07 14:30:04.302    【指令】收到成交回报指令 REFID = 194779 vol = 1 Account = 786562
2023-06-07 14:30:04.306    【回报】786562 : bu2308 - 已成交 1 价格:3715 平 卖
2023-06-07 14:30:04.311    【指令】收到回报指令 ID = -771355120 RefID = 194779 品种:bu2308 账户:786562
2023-06-07 14:30:04.315    【指令】收到成交回报指令 REFID = 194779 vol = 1 Account = 786562
2023-06-07 14:30:04.319    【回报】786562 : bu2308 - 已成交 1 价格:3715 平 卖
2023-06-07 14:30:04.323    【指令】收到回报指令 ID = -771355120 RefID = 194779 品种:bu2308 账户:786562
2023-06-07 14:30:04.327    【指令】收到成交回报指令 REFID = 194779 vol = 1 Account = 786562
2023-06-07 14:30:04.332    【回报】786562 : bu2308 - 已成交 1 价格:3715 平 卖
2023-06-07 14:30:04.336    【指令】收到成交回报指令 REFID = 194779 vol = 2 Account = 786562
2023-06-07 14:30:04.340    【回报】786562 : bu2308 - 已成交 2 价格:3714 平 卖


2023-06-07 14:30:16.299    【后台】BUX00 TBuy 第 45 行 策略:<多策略后台> K线:2023.06.07 18:30:15 出现信号
2023-06-07 14:30:16.300    【后台】BUX00 TBuy 已成功触发下单操作 价格:0.000000 数量:6 类型:1 账户: 品种:BUX00
2023-06-07 14:30:16.305    【后台】启用多帐户及策略系数配置
2023-06-07 14:30:16.309    【后台】多账户及策略系数 委托账户或者组:
2023-06-07 14:30:16.316    【后台】CTP登录账户 3 个
2023-06-07 14:30:16.320    【后台】CTP账户 786562 下单
2023-06-07 14:30:16.325    【后台】CTP账户 786562 下单系数为1.000000
2023-06-07 14:30:16.330    【后台】账户 786562 下单,系数调整后下单量:6
2023-06-07 14:30:16.335    【后台】分品种调整后下单量:6
2023-06-07 14:30:16.341    【后台】下单已发送
2023-06-07 14:30:16.346    【后台】CTP账户 268151 未勾选,不做下单处理
2023-06-07 14:30:16.351    【后台】CTP账户 176128 未勾选,不做下单处理
2023-06-07 14:30:16.355    【后台】扩展接口 登录账户 0 个
2023-06-07 14:30:16.360    【指令】收到回报指令 ID = -771355117 RefID = 194782 品种:bu2308 账户:786562
2023-06-07 14:30:16.366    【后台】模组账户 1 个
2023-06-07 14:30:16.370    【回报】786562 : bu2308 - 已报单 6 价格:3724 开 买
2023-06-07 14:30:16.375    【后台】BUX00 运行结束
2023-06-07 14:30:16.380    【指令】收到回报指令 ID = -771355117 RefID = 194782 品种:bu2308 账户:786562
2023-06-07 14:30:16.384    【后台】SI00 运行结束
2023-06-07 14:30:16.388    【指令】收到成交回报指令 REFID = 194782 vol = 6 Account = 786562
2023-06-07 14:30:16.393    【下单】BUX00 价0.000000 量6 买卖0 类型1 开平0 账户786562 Formula 1
2023-06-07 14:30:16.397    【回报】786562 : bu2308 - 已成交 6 价格:3724 开 买
2023-06-07 14:30:16.402    【下单】确认报单已发送 ID=-771355117 RefID = 194782


对应的代码分别是,但是我仔细看了代码,好像没啥问题
//理论持仓与实际持仓的判断
if total_holding-new_month_jcc>0 and new_month_jcc>=0 then
   tbuy(1,total_holding-new_month_jcc,mkt,0,0,zh);   

if total_holding-new_month_jcc<0 and new_month_jcc>0 then begin      
   tsell(total_holding>0,abs(total_holding-new_month_jcc),mkt,0,0,zh);
截图202306071502387410.png
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-6-7 15:14 | 显示全部楼层
1、看代码逻辑是分析不出原因的,你这种情况必须使用debugfile输出条件来跟踪问题,没有别的捷径的。你可以先输出你获取的理论持仓的值,看是否是获取的理论持仓的变化,导致平多后又触发了后面的开多。
2、debugfile范例如下,可以加到代码后面:
      IF ISLASTBAR THEN
           DEBUGFILE('D:\调试日志.TXT',STKLABEL&' 理论持仓='&NUMTOSTR(TOTAL_HOLDING,0),1);  //输出品种代码和理论持仓TOTAL_HOLDING的值
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-6-9 10:23 | 显示全部楼层
技术010 发表于 2023-6-7 15:14
1、看代码逻辑是分析不出原因的,你这种情况必须使用debugfile输出条件来跟踪问题,没有别的捷径的。你可以 ...

如果是理论持仓或者是账户持仓变化,下一步要怎么修改呢
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-6-9 10:25 | 显示全部楼层
那就看为什么理论持仓变化的那么频繁,肯定是你引用过来的理论持仓频繁变化了,你可以在引用的时候,往前偏移一根,引用上个周期的理论持仓,否则你理论持仓不停的变,不就导致了频繁的开仓和平仓嘛
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-6-9 10:37 | 显示全部楼层
技术010 发表于 2023-6-9 10:25
那就看为什么理论持仓变化的那么频繁,肯定是你引用过来的理论持仓频繁变化了,你可以在引用的时候,往前偏 ...

理论持仓问题不大,如果是账户持仓变化导致的呢
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-6-9 10:38 | 显示全部楼层
账户持仓是根据理论持仓变化的啊,你理论持仓不变,账户持仓怎么会变呢。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-6-9 10:50 | 显示全部楼层
技术010 发表于 2023-6-9 10:38
账户持仓是根据理论持仓变化的啊,你理论持仓不变,账户持仓怎么会变呢。

意思是如果是理论持仓变化导致账户下单出现了问题呢
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-6-9 10:57 | 显示全部楼层
那就需要通过输出来看为什么理论持仓不断的变化,如果你认为理论持仓不断变化是正常的,那账户跟着不断开平仓也应该是正常的;如果你认为理论持仓不断变化是正常的,那就要想办法获取一个稳定的理论持仓啊。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-24 15:11 , Processed in 0.159371 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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