金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 140|回复: 3

反手单如何优先成交平仓单?

[复制链接]

15

主题

61

帖子

61

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
发表于 2025-6-20 12:24 | 显示全部楼层 |阅读模式
怎么设置让反手的时候优先成交平仓单,再成交开仓单:
代码如下:SM09的
C1:='ZQSM09'; S1:= -5;
OI:=TBUYHOLDINGEX('',C1,2)+TSELLHOLDINGEX('',C1,2)*-1;
P1:=DYNAINFO2(7,C1);MJP:=DYNAINFO2(208,C1)*0;B1V:=DYNAINFO2(25,C1);S1V:=DYNAINFO2(31,C1);
# 先平仓
TSELL(OI>0 AND B1V>0,0,LMT,P1+MJP,0,'',C1);           
TSELLSHORT(OI<0 AND S1V>0,0,LMT,P1-MJP,0,'',C1);
# 后开仓
TBUYSHORT(S1>0 AND B1V>0,S1,LMT,P1+MJP,0,'',C1);
TBUY(S1<0 AND S1V>0,S1*-1,LMT,P1-MJP,0,'',C1);

实际成交这样的:
1       SM09 锰硅2509      买入    限价    5/0     5530                93610752    平仓    投机    2025061721609004    -414469602    14:55:03
2       SM09 锰硅2509      买入    限价    4/1     5530                93610752    开仓    投机    2025061721609003    -414469601    14:55:03
也就是我5手SM空单,下单先平仓单后开仓单的,但是实际只成交了一手,是开仓单,这样就既有空单又有多单了
这种情况比较少,偶尔会碰到,请问怎么让系统优先成交平仓单呢?光是平仓单写在前面还不够把?

回复

使用道具 举报

15

主题

61

帖子

61

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2025-6-20 12:28 | 显示全部楼层
PleaceOrder:
2025-06-17 14:55:01.581    【后台】SM09 TSellShort 已成功触发下单操作 价格:5530.000000 数量:0 类型:0 账户: 品种:SM09
2025-06-17 14:55:01.586    【后台】实际账户持仓 5
2025-06-17 14:55:01.590    【后台】下单已发送

2025-06-17 14:55:01.600    【后台】SM09 TBuy 已成功触发下单操作 价格:5530.000000 数量:5 类型:0 账户: 品种:SM09
2025-06-17 14:55:01.604    【后台】下单已发送

2025-06-17 14:55:01.812    【下单】SM09 价5530.000000 量5 买卖0 类型0 开平1 账户93610752 Formula 1
2025-06-17 14:55:01.817    【下单】确认报单已发送 ID=-414469602 RefID = 6646
2025-06-17 14:55:01.821    【下单】SM09 价5530.000000 量5 买卖0 类型0 开平0 账户93610752 Formula 1
2025-06-17 14:55:01.825    【下单】确认报单已发送 ID=-414469601 RefID = 6647
2025-06-17 14:55:01.829    【下单】已经调整为 实际持仓为 1
成交记录:
序号    时间                   品种                 类型    方向    价格      盈亏(逐笔)    数量    开平    帐户        标志    编号                报单ID
1       2025/06/17 14:59:54    SM09 锰硅2509                买入    5530                    1       开      93610752    投机    2025061721609003    6647
回复

使用道具 举报

15

主题

61

帖子

61

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2025-6-20 12:31 | 显示全部楼层
2025-06-17 14:55:03.412    【指令】收到回报指令 ID = -414469601 RefID = 6647 品种:SM509 账户:93610752
2025-06-17 14:55:03.416    【指令】收到回报指令 ID = -414469602 RefID = 6646 品种:SM509 账户:93610752

2025-06-17 14:59:54.904    【指令】收到回报指令 ID = -414469601 RefID = 6647 品种:SM509 账户:93610752
2025-06-17 14:59:54.904    【指令】收到回报指令 ID = -414469601 RefID = 6647 品种:SM509 账户:93610752
2025-06-17 14:59:54.920    【指令】收到成交回报指令 REFID = 6647 vol = 1 Account = 93610752
2025-06-17 14:59:54.923    【回报】93610752 : SM509 - 已成交 1 价格:5530 开 买 REFID = 6647
回复

使用道具 举报

2

主题

5087

帖子

5087

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-6-20 13:29 | 显示全部楼层
你这种情况可以考虑使用ORDERQUEUE 具体参考这个函数的使用说明。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-30 14:03 , Processed in 0.126806 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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