金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 275|回复: 7

后台程序化开仓出错

[复制链接]

16

主题

49

帖子

49

积分

Rank: 4

等级: 专业版

注册:
2023-12-7
曾用名:
发表于 2024-8-19 23:09 | 显示全部楼层 |阅读模式
后台程序化出现开空错误,请帮忙找下原因:开仓代码为第34行,本应该开空单1手,实际没有开;查询交易日志显示如下:
2024-08-19 22:20:01.671    【后台】J00 TBuyShort 第 34 行 策略:<大合约10F> K线:2024.08.20 02:20:00 出现信号
2024-08-19 22:20:01.671    【后台】J00 TBuyShort 委托数量为0
34行开仓公式为:    开空2:TBUYSHORT(1,理论仓,LMT,卖1);
写如下查询当时理论仓的值: DEBUGFILE('D:\TEST\TEST3.TXT',STKLABEL&'理论仓:%.0f',理论仓);
查询结果:   2024-08-19 22:19:58.622    J00理论仓:-1
   这样这个开空应该开1手TBUYSHORT(1,理论仓,LMT,卖1),实际没开仓,交易日志记录为委托数量为0。
请问问题在哪?如何改好?



回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-8-20 09:10 | 显示全部楼层
你这个查询和下单时间 间隔了3秒。
你要看下实际下单时候的理论仓 值是多少。理论仓是可能随时变的。如果下单时候刚好是0 就可能出问题。

比较稳妥的方式,是在开仓条件里加入一个判断:理论仓<>0  

这样就不会触发这种 下单手数为0的错误单了。





回复

使用道具 举报

16

主题

49

帖子

49

积分

Rank: 4

等级: 专业版

注册:
2023-12-7
曾用名:
 楼主| 发表于 2024-8-20 10:13 | 显示全部楼层
查询了,理论仓一直是-1没有变,每一条记录都是-1,只是在焦炭这个品种上理论仓-1变成下单手数为0的错误。问题是向问,明明是-1为什么变成0了?

回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-8-20 10:29 | 显示全部楼层


程序是死的,下单时候是0就是0,不会-1 读成了0.     这种最基础东西还是能确保无误的。


你最好在下单语句那里一并输出。否则无法知道 你的理论持仓的更新在代码逻辑的什么地方。 如果你的输出是在 理论持仓更新后输出的,而下单语句在这个更新发生之前,你这种输出是看不出问题的。

另外解决方案前面已经提供了,你直接按照我说的调整下即可,开仓条件里判断下理论持仓不为0即可。

回复

使用道具 举报

16

主题

49

帖子

49

积分

Rank: 4

等级: 专业版

注册:
2023-12-7
曾用名:
 楼主| 发表于 2024-8-20 13:51 | 显示全部楼层
代码为:
IF 理论仓<0 AND 多单=0 AND 空单=0 THEN
BEGIN
        DEBUGFILE('D:\TEST\TEST3.TXT',STKLABEL&'理论仓:%.0f',理论仓);
        开空2:TBUYSHORT(1,理论仓,LMT,卖1);
        end
已经包含了你说的理论仓不为0的条件。读取理论仓的值与开空完全放在一起了,就在前面一条,所以理论仓的值也不会变化;实际情况如下:
2024-08-20 13:40:06.179    J00理论仓:-1(读取了理论仓的值为-1.)
2024-08-20 13:40:06.179    【后台】J00 TBuyShort 第 35 行 策略:<大合约10F> K线:2024.08.20 17:40:00 出现信号
2024-08-20 13:40:06.180    【后台】J00 TBuyShort 委托数量为0(同一时间委托数量还是0)
这是奇怪问题,我电脑上有远程软件TODESK,您可以看看。TODESK311702326


回复

使用道具 举报

16

主题

49

帖子

49

积分

Rank: 4

等级: 专业版

注册:
2023-12-7
曾用名:
 楼主| 发表于 2024-8-20 14:35 | 显示全部楼层
在其他品种上出现理论仓开空5手,实际开仓成为4手的情况,也就是后台TBUYSHORT这个可能要进行一个数字对齐的后的变化;

2024-08-20 14:19:59.877    【后台】FU00 TBuyShort 第 33 行 策略:<油脂10F> K线:2024.08.20 18:20:00 出现信号
2024-08-20 14:19:59.878    【后台】FU00 TBuyShort 已成功触发下单操作 价格:3003.000000 数量:4 类型:0 账户: 品种:FU00
2024-08-20 14:19:59.885    FU00理论仓:-5
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-8-20 14:38 | 显示全部楼层
我现在远程看下。
回复

使用道具 举报

16

主题

49

帖子

49

积分

Rank: 4

等级: 专业版

注册:
2023-12-7
曾用名:
 楼主| 发表于 2024-8-21 15:22 | 显示全部楼层
取绝对值后开空,这问题解决了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 13:40 , Processed in 0.217668 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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