金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 105190

请问下 我需要微盘最后一分钟平仓国债 这样写为何程序没有执行

[复制链接]

2

主题

5251

帖子

5251

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-6-5 15:55 | 显示全部楼层
1.tcancelex(1,4,'',stklabel) 这个指定品种了,除非是监控了对应品种,否则是不会撤的。
从上面日志看 也没有触发其他品种的撤单。我们撤单也都有日志记录的。
最后的其他品种撤单,看上去不是代码触发的,可能是柜台。

2.这个成交 取决于柜台处理了。已经是市价了,还不成交,那只能是柜台撮合问题了。
回复

使用道具 举报

43

主题

198

帖子

198

积分

Rank: 4

等级: 专业版

注册:
2021-10-19
曾用名:
 楼主| 发表于 2025-7-4 15:32 | 显示全部楼层
资深技术05 发表于 2025-6-5 15:55
1.tcancelex(1,4,'',stklabel) 这个指定品种了,除非是监控了对应品种,否则是不会撤的。
从上面日志看 也 ...

为何勾选了风控模块中的尾盘1分钟强平指令就可以正常全部清仓呢?委托清仓的单子数量也是不对的,可以帮我看看什么原因吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

2

主题

5251

帖子

5251

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-7-4 16:27 | 显示全部楼层
“为何勾选了风控模块中的尾盘1分钟强平指令就可以正常全部清仓呢?”这个完全看盘口情况了吧。

中金所不支持市价,系统里默认是超价一跳报单。但是如果盘口哪里 超价一跳不能成交也是可能的。
你可以修改设置,多超几个点。

你平仓数量哪里,大概率是下单代码执行时候,前面的撤单可能还没完成。只判定到部分可用,系统已经取了当时的可用去下单了。所以手数不对。你可以追加一个无平仓未成交时候 再进行平仓报单,一次性报出去。



回复

使用道具 举报

43

主题

198

帖子

198

积分

Rank: 4

等级: 专业版

注册:
2021-10-19
曾用名:
 楼主| 发表于 2025-7-7 15:20 | 显示全部楼层
资深技术05 发表于 2025-7-4 16:27
“为何勾选了风控模块中的尾盘1分钟强平指令就可以正常全部清仓呢?”这个完全看盘口情况了吧。

中金所 ...

刚刚看了下只有撤单没有平仓指令 ,还是反复撤单导致的?可以帮忙看下吗?具体代码如下,我把交易日志也上传您看下globalvariable:mark:=0;
//收盘前平仓


if TIME>151100  and tbuyholdingex('','',2)>0 and  tremainqty(2,'',stklabel)>0 and mark=0 then
begin
tcancelex(1,2,'',stklabel);//先撤单
mark:=1;           
end



//确保完全撤单后再执行平仓
if mark=1 and tbuyholdingex('','',1)>0   then
begin
tsell(1,0,mkt);
mark:=0;
end




补充内容 (2025-7-7 15:22):
globalvariable:mark:=0;
//收盘前平仓


if TIME>151100  and tbuyholdingex('','',2)>0 and  tremainqty(2,'',stklabel)>0 and mark=0 then
begin
tcancelex(1,2,'',stklabel);//先撤单
mark:=1;           
e...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

43

主题

198

帖子

198

积分

Rank: 4

等级: 专业版

注册:
2021-10-19
曾用名:
 楼主| 发表于 2025-7-7 15:23 | 显示全部楼层
globalvariable:mark:=0;
//收盘前平仓


if TIME>151100  and tbuyholdingex('','',2)>0 and  tremainqty(2,'',stklabel)>0 and mark=0 then
begin
tcancelex(1,2,'',stklabel);//先撤单
mark:=1;           
end



//确保完全撤单后再执行平仓
if mark=1 and tbuyholdingex('','',1)>0   then
begin
tsell(1,0,LMT,DYNAINFO( 34));
mark:=0;
end

刚才发错了 代码是这个 尾盘挂卖一价格平仓 这样的标书方式对吗?
回复

使用道具 举报

43

主题

198

帖子

198

积分

Rank: 4

等级: 专业版

注册:
2021-10-19
曾用名:
 楼主| 发表于 2025-7-7 16:03 | 显示全部楼层
看日志好像执行了两次撤单再挂单的动作,如何防止指令重复执行呢?勾选系统再带的尾盘强平,它会自动撤销委托单再市价平仓吗?因为是策略里面有个代码就是只要持仓,下一秒就会自动挂单平仓,似乎根这个强平指令会相互冲突,可以延迟发出指令或者用ORDERQUEUE顺序发出的逻辑过滤吗?
回复

使用道具 举报

2

主题

5251

帖子

5251

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-7-7 16:06 | 显示全部楼层
本帖最后由 资深技术05 于 2025-7-7 16:11 编辑

“因为是策略里面有个代码就是只要持仓,下一秒就会自动挂单平仓” 这个地方 你必须加条件限制,可以用time去限定下。避免操作上的冲突。
然后你尾盘操作时间判断上 不能太宽松,你这里后面几根K都满足条件。导致重复撤单 再平仓。你只需要判断在特定K上就行了。time=151100 这样就行了。
回复

使用道具 举报

43

主题

198

帖子

198

积分

Rank: 4

等级: 专业版

注册:
2021-10-19
曾用名:
 楼主| 发表于 2025-7-8 16:11 | 显示全部楼层
资深技术05 发表于 2025-7-7 16:06
“因为是策略里面有个代码就是只要持仓,下一秒就会自动挂单平仓” 这个地方 你必须加条件限制,可以用time ...

我修改了代码,但是还是会出现重复撤单的情况 求教如很修改让它只发出一次撤单指令呢?具体问题代码如下:globalvariable:mark:=0;
//收盘前平仓

if TIME=151000 and TSELLHOLDINGEX('','',2)>0 and  tremainqty(4,'',stklabel)>0 and mark=0 then
begin
tcancelex(1,4,'',stklabel);//先撤单
mark:=1;         
end

//确保完全撤单后再执行平仓
if mark=1 and TSELLHOLDINGEX('','',1)>0   then
begin
TSELLSHORT(1,0,LMT,DYNAINFO( 28));
mark:=0;
end

具体日志如附图所示

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

2

主题

5251

帖子

5251

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-7-8 16:18 | 显示全部楼层


你这里很明显不是一个来源的。前面我也说了 你其他地方的撤单,你也要做限制的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

43

主题

198

帖子

198

积分

Rank: 4

等级: 专业版

注册:
2021-10-19
曾用名:
 楼主| 发表于 2025-7-8 16:31 | 显示全部楼层
资深技术05 发表于 2025-7-8 16:18
你这里很明显不是一个来源的。前面我也说了 你其他地方的撤单,你也要做限制的。

我把多空分开写了 同时放在后台程序执行  多空都做了时间限制 这样也会导致重复执行吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-14 14:31 , Processed in 0.158690 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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