金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 5283|回复: 47

报单延迟问题

[复制链接]

221

主题

857

帖子

857

积分

等级: 免费版

注册:
2022-4-2
曾用名:
发表于 2024-2-20 15:22 | 显示全部楼层 |阅读模式
服务器配置是48核,64g的;三个账户,两套后台多策略汇总,一个汇总了六个策略,一个汇总了两个策略;策略汇总后,加载在1分钟,固定轮询1秒钟。主要有两个问题,一方面是报单总会出现延迟,慢几秒。
另一个是信号延迟很长一段时间。出现一个账户下单,另一个账户没有下单。或者三个账户都额外延迟了一段时间。
截图202402201517138861.png
截图202402201516352930.png
截图202402201513168458.png

PleaceOrder.txt2024-02-20 14#31#44.txt

500 KB, 下载次数: 3060

PleaceOrder.txt2024-02-20 14#34#27.txt

500.04 KB, 下载次数: 3088

回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-2-20 15:36 | 显示全部楼层
本帖最后由 技术010 于 2024-2-20 15:52 编辑

1、这个预警时间也是实际下单的时间,只是把秒舍弃了。例如你的14:30:08的下单K线是143100这根K线,并不是143000这根K线的信号,所以并没有延迟下单。
2、另一个账户不下单,那只能说明是条件不满足,至于是哪个条件不满足,那只能加debugfile来排查。或者小概率原因是运算效率太低,没有运算到那个账户中的那个品种。
截图202402201551573177.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

221

主题

857

帖子

857

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2024-5-24 21:43 | 显示全部楼层
经过长时间跟踪,条件不满足概率不大;主要还是运算效率太低,我目前是多策略后台一秒K线走完;多策略汇总代码如下
aah:stkindiex('','阴阳鱼3.cc',0,17,-1,5000);  //引用3分钟周期上的策略a的仓位。
bbh:stkindiex('','阴阳鱼5.cc’,0,2,-1,5000);  //引用5分钟周期上的策略b的仓位。
涨跌停:stkindiex('','涨跌停.涨跌停',0,1,0,560);  //引用1分钟周期上的策略a的仓位。
涨停价:dynainfo(54);
跌停价:dynainfo(55);
涨跌停1:h>=涨停价*0.998 or l<=跌停价*1.002;
aah1:=ifelse(涨跌停 or 涨跌停1,0,aah);
bbh1:=ifelse(涨跌停 or 涨跌停1,0,bbh);
日内策略:aah1+bbh1;

       
//***********************************************//其他策略持仓引用//***********************************************
//if inblock('多策略')  then
//BEGIN
        ah:=stkindiex('','短箭.cc',0,17,0,9500);  //引用3分钟周期上的策略a的仓位。
        bh:=stkindiex('','震荡.cc',0,3,0,5000);  //引用15分钟周期上的策略b的仓位。
        ch:=stkindiex('','长箭.cc',0,18,0,7300);  //引用10分钟周期上的策略b的仓位。
        dh:=stkindiex('','中箭.cc',0,2,0,9000);//引用5分钟周期上的策略b的仓位。
        fh:=stkindiex('','短箭1m.cc',0,1,0,65000);  //引用1分钟周期上的策略a的仓位。

//end

//if INBLOCK('长线') then
//BEGIN
        eh:=stkindiex('','sar15mzs.cc(15,15,10)',0,3,0,6000);  //引用15分钟周期上的策略a的仓位。
       
//end
短箭:ifelse(ah=ah,ah,0);
震荡:ifelse(bh=bh,bh,0);
长箭:ifelse(ch=ch,ch,0);
中箭:ifelse(dh=dh,dh,0);
短箭x:ifelse(fh=fh,fh,0);
长线:ifelse(eh=eh,eh,0);


fillcond:not(SPLITDATA(0)=1 and MINUTE<3) and not(涨跌停1);

////***********************************************//陶老师仓位计算//***********************************************

多策略:ref(ifelse(INBLOCK('大品种'),短箭+震荡+中箭+短箭x,短箭+震荡+中箭+短箭x+长箭),1);

理论持仓:日内策略+多策略+长线,COLORYELLOW;
zh:='176128';
////***********************************************//交易信号画图//***********************************************
drawicon(理论持仓>ref(理论持仓,1),h,1);
drawicon(理论持仓<ref(理论持仓,1),l,2);
//可用买持:tbuyholdingex(zh,'',1);  
//可用卖持:tsellholdingex(zh,'',1);
//平空未成交:tsellholdingex(zh,'',3);
//平多未成交:tbuyholdingex(zh,'',3);
多总仓:tbuyholdingex(zh,'',2);                                 
空总仓:tsellholdingex(zh,'',2);
开多未成交:TREMAINQTY(1,zh,stklabel);                             //未成交开多单
开空未成交:TREMAINQTY(3,zh,stklabel);                             //未成交开空单

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


////交易模块//***********************************************
//理论持仓与实际持仓的判断
仓差陶:理论持仓-账户总仓;

if  fillcond then BEGIN
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               
end


//***********************************************//曾账户仓位计算//***********************************************
理论持仓zy:日内策略;
zhzy:='18368048526';

多单总持仓zy:tbuyholdingex(zhzy,'',2);                                 
空单总持仓zy:tsellholdingex(zhzy,'',2);
开多未成交zy:TREMAINQTY(1,zhzy,stklabel);                             //未成交开多单
开空未成交zy:TREMAINQTY(3,zhzy,stklabel);                             //未成交开空单

账户总仓zy:多单总持仓zy-空单总持仓zy+开多未成交zy-开空未成交zy;
仓差曾:理论持仓zy-账户总仓zy;
////***********************************************//交易模块//

if  fillcond then BEGIN
if 仓差曾>0 and 账户总仓zy>=0 then
   tbuy(1,仓差曾,mkt,0,0,zhzy);   
      
if 仓差曾>0 and 账户总仓zy<0 then  begin
   tsellshort(理论持仓zy<0,仓差曾,mkt,0,0,zhzy);
   if 理论持仓zy>=0 then begin
      tsellshort(1,账户总仓zy,mkt,0,0,zhzy);
      tbuy(理论持仓zy>0,理论持仓zy,mkt,0,0,zhzy);
      end
   end
      
if 仓差曾<0 and 账户总仓zy<=0 then
   tbuyshort(1,abs(仓差曾),mkt,0,0,zhzy);
      
if 仓差曾<0 and 账户总仓zy>0 then begin      
   tsell(理论持仓zy>0,abs(仓差曾),mkt,0,0,zhzy);      
   if 理论持仓zy<=0 then begin
     tsell(1,账户总仓zy,mkt,0,0,zhzy);
     tbuyshort(理论持仓zy<0,abs(理论持仓zy),mkt,0,0,zhzy);
     end
   end               
end
截图202405242138375729.png
回复

使用道具 举报

221

主题

857

帖子

857

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2024-5-24 21:44 | 显示全部楼层
还是会慢个几秒
截图202405242144171970.png
回复

使用道具 举报

35

主题

9409

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-5-25 19:35 | 显示全部楼层
可以在策略中通过debugfile输出行情时间,以及保证本地计算机时间通过过,避免本地计算机时间存在误差。一次验证是否是因为运算过慢或者是行情接收慢造成的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

221

主题

857

帖子

857

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2024-5-28 21:38 | 显示全部楼层
运算过慢导致的,我明明已经开启了多核运算,怎么计算机被调用的性能没有多少呢
截图202405282138484813.png
回复

使用道具 举报

221

主题

857

帖子

857

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2024-5-28 21:45 | 显示全部楼层
已经开启了多核运算,还是很慢
截图202405282145098324.png
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-5-29 08:55 | 显示全部楼层
硬件的资源分配是操作系统自主控制的,软件没法主动来控制硬件资源的使用。后台程序化的多预警运行是支持多核运行的,那你要看任务管理器中,各个CPU的使用情况啊,而不是看CPU的百分比占用啊。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

221

主题

857

帖子

857

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2024-5-29 09:30 | 显示全部楼层
技术010 发表于 2024-5-29 08:55
硬件的资源分配是操作系统自主控制的,软件没法主动来控制硬件资源的使用。后台程序化的多预警运行是支持多 ...

那运算效率怎么提升呢,后台多策略组合引用其他子策略持仓进行交易即使限定了K线使用数量还是会有延迟
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-5-29 10:04 | 显示全部楼层
那只能提升硬件配置,或者减少运算量了,没有别的更好的建议了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-6 06:52 , Processed in 0.208674 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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