金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 胖虎爱吃鱼

报单延迟问题

[复制链接]

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-11-3 15:54 | 显示全部楼层
admin 发表于 2023-11-3 15:14
这不就1秒周期走完k线?

这样是为了实现能够在多策略每一分钟收线后,策略能及时交易。多策略本身最低周期是可以加载到1分钟的。那我选择一分钟,然后轮询1秒跟这种相比应该是1分钟的更快吧
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-11-3 15:58 | 显示全部楼层
没有差别,同品种两次运行的间隔。就是一个完整的运行周期。并且你的问题不是谁更快就能解决。而是要先判定问题原因。才能进一步处理。
并且,如果是因为计算机效率的影响造成的,压根也不是说换周期就能彻底解决,而是应该提示配置和优化算法。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-11-3 21:38 | 显示全部楼层
技术006 发表于 2023-11-3 15:58
没有差别,同品种两次运行的间隔。就是一个完整的运行周期。并且你的问题不是谁更快就能解决。而是要先判定 ...

请问老师,后台多策略我是这么实现的;请问有什么可以优化的空间吗ah:stkindiex('','阴阳鱼atr.cc',0,1,0,2000);  //引用1分钟周期上的策略a的仓位。
bh:stkindiex('','阴阳鱼tr.cc',0,1,0,2000);  //引用1分钟周期上的策略b的仓位。
日内持仓:ifelse(inblock('大品种'),ifelse((ah+bh)>1,round((ah+bh)/2),0),ah+bh);       

////***********************************************//其他策略持仓引用//***********************************************
aah:=stkindiex('','短箭.cc',0,21,3,7000);  //引用3分钟周期上的策略a的仓位。
bbh:=stkindiex('','震荡.cc',0,3,0,5000);  //引用15分钟周期上的策略b的仓位。
cch:=stkindiex('','长箭.cc',0,18,0,6000);  //引用10分钟周期上的策略b的仓位。
ddh:=stkindiex('','中箭.cc',0,2,0,6000);//引用5分钟周期上的策略b的仓位。

短箭:ifelse(aah=aah,aah,0);
震荡:ifelse(bbh=bbh,bbh,0);
长箭:ifelse(cch=cch,cch,0);
中箭:ifelse(ddh=ddh,ddh,0);
////***********************************************//策略仓位计算//***********************************************


交易自选:inblock('交易自选');
多策略持仓:ifelse(交易自选,短箭+震荡+长箭+中箭,0);


理论持仓:日内持仓+多策略持仓;                               //理论持仓
////***********************************************//交易信号画图//***********************************************
drawicon(理论持仓>ref(理论持仓,1),h,1);
drawicon(理论持仓<ref(理论持仓,1),l,2);

////***********************************************//账户仓位计算//***********************************************
zh:='19521578243';

可用买持:tbuyholdingex(zh,'',1);  
可用卖持:tsellholdingex(zh,'',1);
多单总持仓:tbuyholdingex(zh,'',2);                                 
空单总持仓:tsellholdingex(zh,'',2);
平空未成交:tsellholdingex(zh,'',3);
平多未成交:tbuyholdingex(zh,'',3);
开多未成交:tisremainex(1,zh,stklabel);                             //未成交开多单
开空未成交:tisremainex(3,zh,stklabel);                             //未成交开空单

账户总仓:多单总持仓-空单总持仓+开多未成交-开空未成交;

////***********************************************//交易模块//***********************************************
//理论持仓与实际持仓的判断
if 理论持仓-账户总仓>0 and 账户总仓>=0 then
   tbuy(1,理论持仓-账户总仓,mkt,0,0,zh);   
      
if 理论持仓-账户总仓>0 and 账户总仓<0 then  begin
   tsellshort(理论持仓<0,理论持仓-账户总仓,mkt,0,0,zh);
   if 理论持仓>=0 then begin
      tsellshort(1,账户总仓,mkt,0,0,zh);
      tbuy(理论持仓>0,理论持仓,mkt,0,0,zh);
      end
   end
      
if 理论持仓-账户总仓<0 and 账户总仓<=0 then
   tbuyshort(1,abs(理论持仓-账户总仓),mkt,0,0,zh);
      
if 理论持仓-账户总仓<0 and 账户总仓>0 then begin      
   tsell(理论持仓>0,abs(理论持仓-账户总仓),mkt,0,0,zh);      
   if 理论持仓<=0 then begin
     tsell(1,账户总仓,mkt,0,0,zh);
     tbuyshort(理论持仓<0,abs(理论持仓),mkt,0,0,zh);
     end
   end               

////***********************************************//调试模块//***********************************************
//if islastbar then
//debugfile('d:\日内策略\调试日志.txt',stklabel&
//' 理论持仓='&numtostr(理论持仓,0)&
//' 实际持仓='&numtostr(账户总仓,0)&
//' 多单总持仓='&numtostr(多单总持仓,0)&
//' 空单总持仓='&numtostr(空单总持仓,0)&
//' 可用买持='&numtostr(可用买持,0)&
//' 可用卖持='&numtostr(可用卖持,0)&
//' 开多未成交='&numtostr(开多未成交,0)&
//' 开空未成交='&numtostr(开空未成交,0)&
//' 平空未成交='&numtostr(平空未成交,0)&
//' 平多未成交='&numtostr(平多未成交,0),1);
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-11-6 08:51 | 显示全部楼层
你具体是指哪方面优化?这个策略的本质是引用图表策略的信号和实际持仓进行对比,来进行开平仓。为了保证引用的信号是稳定的,一般建议引用时往前偏移一根,并且适当放大引用时使用的数据,这样是为了避免引用过来的信号不断闪烁,造成后台上不断的开平仓。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-11-6 10:19 | 显示全部楼层
请问老师,调试日志能帮忙看出什么吗

调试日志.txt

57.73 KB, 下载次数: 3965

调试日志.txt2023-11-06 10#06#43.txt

500.11 KB, 下载次数: 4091

回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-11-6 10:29 | 显示全部楼层
提供的这种日志基本没有分析意义,排查问题日志除了有仓位的变化,更为关键是重要的条件值。在之前楼层和其他帖子中均说明过要输出条件结果。
这种才能在有问题时,排查当时执行的过程。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-11-6 10:44 | 显示全部楼层
技术006 发表于 2023-11-6 10:29
提供的这种日志基本没有分析意义,排查问题日志除了有仓位的变化,更为关键是重要的条件值。在之前楼层和其 ...

就是想知道,为什么多策略报单会慢了十几秒。在本地或者云服务的图表的多策略一般是收线后一两秒报单。云服务的后台报单就慢了十几秒
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-11-6 10:47 | 显示全部楼层
本帖最后由 技术006 于 2023-11-6 11:02 编辑
胖虎爱吃鱼 发表于 2023-11-6 10:44
就是想知道,为什么多策略报单会慢了十几秒。在本地或者云服务的图表的多策略一般是收线后一两秒报单。云 ...

这个问题已经解释多次了,首先排除行情接收和计算缓慢两个方向大问题。方式方法之前的楼层已经说过多次。
不过你的日志过程似乎有些问题,除非是你代码中有多个debugfile输出同样的内容。否者后台中debugfile输出的语句应该是几个品种按照一定顺序交替执行输出的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-11-6 14:51 | 显示全部楼层
技术006 发表于 2023-11-6 10:47
这个问题已经解释多次了,首先排除行情接收和计算缓慢两个方向大问题。方式方法之前的楼层已经说过多次。 ...

没有的,所有的代码在上面已经给出了。在最后才会debugfile
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-11-6 15:06 | 显示全部楼层
本帖最后由 技术006 于 2023-11-6 15:13 编辑

那日志执行的结果就不应该是这种逮着一个品种不停的输出一段时间后,才再输出其他的品种。还有一种可能就是你调用的指标公式也有debugfile输出到这个文件中。

建议你debug增加输出最新时间DYNAINFO(207)的值看下。梳理下自己相关代码。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-22 15:37 , Processed in 0.102603 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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