金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 106137

部分品种集合竞价不发单

[复制链接]

36

主题

252

帖子

252

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2025-1-6 11:57 | 显示全部楼层
106137 发表于 2025-1-6 11:40
ho6:stkindiex(stklabel,'策略1碳酸锂.ho',0,6,0,500);
ho7:stkindiex(stklabel,'策略2碳酸锂.ho',0,6,0,5 ...

老师帮我看下这个集合竞价期间的代码有没有问题?(这个是和硅铁是一样的代码,硅铁是有时成集合竞价成交,有时不能成交必须到了连续交易才能触发。碳酸锂曾经也能集合竞价触发,这几天不能触发,只能到了连续交易阶段触发)
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-1-6 13:29 | 显示全部楼层
本帖最后由 技术006 于 2025-1-6 13:57 编辑

你在其他客户端上是不是有未成交的单子在?

你这个程序逻辑是品种有未成交单,是无法触发信号的。
根据这个代码增加的debugfile输出,你添加到对应位置上去
ho6:stkindiex(stklabel,'策略1碳酸锂.ho',0,6,0,500);
ho7:stkindiex(stklabel,'策略2碳酸锂.ho',0,6,0,500);
//集合竞价时候,我们直接对比实际持仓和当前的理论持仓。因为这时候新的K线其实没有生成.这时候的理论持仓其实是前面已经确定的历史的理论持仓,可以直接操作的
//当前K线理论持仓,若需要手动设云条件单,记录hc持仓与账户实际持仓对比即可
hc:ho6+ho7;

//账户多头持仓
tbuyho:tbuyholdingex('',stklabel,1);
//账户空头持仓
tsellho:tsellholdingex('',stklabel,1);
//是否有未成交单,返回1表示有未成交
is_order:tglobalsubmitex(0,'',stklabel,0);
//如果当前品种有挂单就不执行
DEBUGFILE('D:\'&STKLABEL&'.TXT','探针1--->hc='&NUMTOSTR(hc,0)& '   tbuyho='&NUMTOSTR(tbuyho,0) & '   tsellho='&NUMTOSTR(tsellho,0)& '   is_order='&NUMTOSTR(is_order,0)& '   data='&NUMTOSTR(datacount,0),1);
if is_order then exit;

cd:CLOSETIME(4)=CLOSETIME(0);//返回1表示有夜盘,否则没夜盘。仅限国内期货品种

//集合竞价判断
tcon1:=currenttime>085600 and currenttime<085800;//无夜盘品种
tcon2:=currenttime>205600 and currenttime<205800;//有夜盘品种
tcon3:=currenttime>092600 and currenttime<092800;//中金所品种
集合竞价:if(cd,tcon2,if(LOWERSTR(MARKETLABEL)='zj',tcon3,tcon1));


//引用昨结算指标里的仅适用1分钟上的ztj和dtj,DYNAINFO(210)获得没问题,若DYNAINFO(54)涨停价、DYNAINFO(55)跌停价、DYNAINFO(62)昨结算价完全能取到,就不需引用了。最少600根
主力ztj:=stkindiex(DYNAINFO(210),'昨结算指标.ztj',0,1,0,600);
主力dtj:=stkindiex(DYNAINFO(210),'昨结算指标.dtj',0,1,0,600);

//注意报单价,如果不合理有可能不成交,涨跌停价格可能取不到,DYNAINFO(62)昨结算价也可能取不到,只能自己计算,可以改为涨跌停价格-1个最小变动,防止四舍五入。若不成交,则只能连续交易阶段撤单,之后市价发单
        DEBUGFILE('D:\'&STKLABEL&'.TXT','探针2--->集合竞价外',1);
if 集合竞价 then
begin  
   //多头部分   
        DEBUGFILE('D:\'&STKLABEL&'.TXT','探针3--->集合竞价内',1);
   if hc>=0 and tsellho>0 then tsellshort(1,tsellho,lmt,主力ztj);
   //理论持仓大于0,补仓
   if hc>0 and hc>tbuyho then
   begin
        tbuy(1,hc-tbuyho,lmt,主力ztj);
   end
   //理论持仓大于0,减仓
   if hc>0 and hc<tbuyho then
   begin
        tsell(1,tbuyho-hc,lmt,主力dtj);
   end

   //空头部分
   if hc<=0 and tbuyho>0 then tsell(1,tbuyho,lmt,主力dtj);
   //理论持仓小于0,补仓
   if hc<0 and abs(hc)>tsellho then
   begin
        tbuyshort(1,abs(hc)-tsellho,lmt,主力dtj);
   end
   //理论持仓小于0,减仓
   if hc<0 and abs(hc)<tsellho then
   begin
        tsellshort(1,tsellho-abs(hc),lmt,主力ztj);
   end                        
end


金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

36

主题

252

帖子

252

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2025-1-6 14:18 | 显示全部楼层
技术009 发表于 2025-1-6 13:29
你在其他客户端上是不是有未成交的单子在?

你这个程序逻辑是品种有未成交单,是无法触发信号的。

没有,其他客户端一律不设条件单了,只有这个金字塔程序发单了
回复

使用道具 举报

36

主题

252

帖子

252

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2025-1-6 14:21 | 显示全部楼层
集合竞价有时能成交,有时不能成交这是什么原因呢?代码绝对都是一样的
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-1-6 14:25 | 显示全部楼层
同样的一段代码,在各个品种上的运行结果是不同的。影响你开平仓的触发有is_order、集合竞价、hc、tbuyho、tsellho 这些变量的值,参考12楼的代码,在代码中增加debugfile,来跟踪各个变量的值,才能定位到不执行报单的原因的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

36

主题

252

帖子

252

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2025-1-6 19:18 | 显示全部楼层
技术010 发表于 2025-1-6 14:25
同样的一段代码,在各个品种上的运行结果是不同的。影响你开平仓的触发有is_order、集合竞价、hc、tbuyho、 ...

好的,我完全按照上面的方法放到代码里了。碳酸锂的代码我就不动了,直到有成交记录。万一后面集合竞价阶段又成交了,那是不是就说明不是代码的问题?(上面的代码是关于集合竞价发单的所有,没有一丝遗漏)因为之前硅铁出现过这种情况(偶然情况下第M次集合竞价不发单,在当日的连续竞价成交了,在第M+1次集合竞价期间竟然成交了,帖子往上翻均有记录)
回复

使用道具 举报

35

主题

9409

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2025-1-7 08:27 | 显示全部楼层
106137 发表于 2025-1-6 19:18
好的,我完全按照上面的方法放到代码里了。碳酸锂的代码我就不动了,直到有成交记录。万一后面集合竞价阶 ...

在指定的时间区域内策略有执行说明功能执行正常,大概率是代码逻辑执行中的问题。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

36

主题

252

帖子

252

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2025-1-8 09:06 | 显示全部楼层
技术006 发表于 2025-1-7 08:27
在指定的时间区域内策略有执行说明功能执行正常,大概率是代码逻辑执行中的问题。

今天上午刚刚 碳酸锂集合竞价阶段触发并成交,为什么代码有时行有时不行?肯定不是代码的问题啊,集合竞价阶段所有的代码都在上面了,代码完完全全一样的
回复

使用道具 举报

35

主题

9409

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2025-1-8 09:08 | 显示全部楼层
106137 发表于 2025-1-8 09:06
今天上午刚刚 碳酸锂集合竞价阶段触发并成交,为什么代码有时行有时不行?肯定不是代码的问题啊,集合竞 ...

等你出现时,把debugfile的结果给我们自然知道问题方向了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

36

主题

252

帖子

252

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2025-1-8 09:12 | 显示全部楼层
技术006 发表于 2025-1-8 09:08
等你出现时,把debugfile的结果给我们自然知道问题方向了。

等碳酸锂集合竞价不成交的时候么?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-6 07:06 , Processed in 0.205137 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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