金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2480|回复: 5

后台程序多账户问题

[复制链接]

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
发表于 2024-1-9 21:20 | 显示全部楼层 |阅读模式
请问老师,是在一个后台多策略汇总程序中写入多个账户更快还是;多个后台策略汇总程序,单独一个账户下单更快


补充内容 (2024-1-9 21:23):
目前是一个后台程序对应一个账户,然后加载多个程序;是不是在一个后台程序中写入多个账户会更快了
截图202401092120012996.png
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-1-10 08:49 | 显示全部楼层
这个要看你的代码结构的,如果你的代码结构可以同时对多个账户下单,那写在一个策略中肯定比多个策略快的。如果你的策略中需要跟各个账户进行交互来分别下单的,那效率差不多,拆分开来写反而能更大限度的使用到硬件资源,单个策略结构也比较简单,也便于管理维护。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2024-1-10 09:33 | 显示全部楼层
技术010 发表于 2024-1-10 08:49
这个要看你的代码结构的,如果你的代码结构可以同时对多个账户下单,那写在一个策略中肯定比多个策略快的。 ...

代码是这样的,请问老师算是分别下单还是同时对多呀//////***********************************************//策略仓位计算//***********************************************
短箭:ifelse(ah=ah,ah,0);
震荡:ifelse(bh=bh,bh,0);
长箭:ifelse(ch=ch,ch,0);
中箭:ifelse(dh=dh,dh,0);
长线:ifelse(eh=eh,eh,0);
短箭x:ifelse(fh=fh,fh,0);

//-------------------------------------------------------账户1
多策略:(短箭+震荡+长箭+中箭+长线+短箭x);
sig_pirce:=valuewhen(多策略<>ref(多策略,1),oclose);
zh1多策略:round((多策略*m1*10000/(sig_pirce*multiplier)));
zh1理论持仓:zh1多策略+日内策略*3,coloryellow;
if inblock('最低手限制') and abs(zh1理论持仓)<6 then
begin
zh1理论持仓:=0;
end
//-------------------------------------------------------账户2
if inblock('交易自选') then BEGIN
        多策略2:(短箭+震荡+长箭+中箭+长线);
        end
sig_pirce2:=valuewhen(多策略2<>ref(多策略2,1),oclose);
zh2多策略:round((多策略2*m2*10000/(sig_pirce2*multiplier)));
zh2理论持仓:zh2多策略+日内策略,coloryellow;

if inblock('最低手限制') and abs(zh2理论持仓)<6 then
begin
zh2理论持仓:=0;
end
//-------------------------------------------------------账户3
zh3理论持仓:日内策略,coloryellow;
if inblock('最低手限制') and abs(zh3理论持仓)<6 then
begin
zh3理论持仓:=0;
end

////***********************************************//真实账户仓位计算//***********************************************

zh_1:='176128';////--------------------------------------------------------------------账户1下单
可用买持1:tbuyholdingex(zh_1,'',1);  
可用卖持1:tsellholdingex(zh_1,'',1);
多单总持仓1:tbuyholdingex(zh_1,'',2);                                 
空单总持仓1:tsellholdingex(zh_1,'',2);
平空未成交1:tsellholdingex(zh_1,'',3);
平多未成交1:tbuyholdingex(zh_1,'',3);
开多未成交1:tisremainex(1,zh_1,stklabel);                             //未成交开多单
开空未成交1:tisremainex(3,zh_1,stklabel);                             //未成交开空单

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


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

zh_2:='19521578243';////--------------------------------------------------------------------账户2下单
可用买持2:tbuyholdingex(zh_2,'',1);  
可用卖持2:tsellholdingex(zh_2,'',1);
多单总持仓2:tbuyholdingex(zh_2,'',2);                                 
空单总持仓2:tsellholdingex(zh_2,'',2);
平空未成交2:tsellholdingex(zh_2,'',3);
平多未成交2:tbuyholdingex(zh_2,'',3);
开多未成交2:tisremainex(1,zh_2,stklabel);                             //未成交开多单
开空未成交2:tisremainex(3,zh_2,stklabel);                             //未成交开空单

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

//理论持仓与实际持仓的判断
if zh2理论持仓-账户总仓2>0 and 账户总仓2>=0 then
   tbuy(1,zh2理论持仓-账户总仓2,mkt,0,0,zh_2);   
      
if zh2理论持仓-账户总仓2>0 and 账户总仓2<0 then  begin
   tsellshort(zh2理论持仓<0,zh2理论持仓-账户总仓2,mkt,0,0,zh_2);
   if zh2理论持仓>=0 then begin
      tsellshort(1,账户总仓2,mkt,0,0,zh_2);
      tbuy(zh2理论持仓>0,zh2理论持仓,mkt,0,0,zh_2);
      end
   end
      
if zh2理论持仓-账户总仓2<0 and 账户总仓2<=0 then
   tbuyshort(1,abs(zh2理论持仓-账户总仓2),mkt,0,0,zh_2);
      
if zh2理论持仓-账户总仓2<0 and 账户总仓2>0 then begin      
   tsell(zh2理论持仓>0,abs(zh2理论持仓-账户总仓2),mkt,0,0,zh_2);      
   if zh2理论持仓<=0 then begin
     tsell(1,账户总仓2,mkt,0,0,zh_2);
     tbuyshort(zh2理论持仓<0,abs(zh2理论持仓),mkt,0,0,zh_2);
     end
   end
   
zh_3:='18368048526';////--------------------------------------------------------------------账户3下单
可用买持3:tbuyholdingex(zh_3,'',1);  
可用卖持3:tsellholdingex(zh_3,'',1);
多单总持仓3:tbuyholdingex(zh_3,'',2);                                 
空单总持仓3:tsellholdingex(zh_3,'',2);
平空未成交3:tsellholdingex(zh_3,'',3);
平多未成交3:tbuyholdingex(zh_3,'',3);
开多未成交3:tisremainex(1,zh_3,stklabel);                             //未成交开多单
开空未成交3:tisremainex(3,zh_3,stklabel);                             //未成交开空单


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

//理论持仓与实际持仓的判断
if zh3理论持仓-账户总仓3>0 and 账户总仓3>=0 then
   tbuy(1,zh3理论持仓-账户总仓3,mkt,0,0,zh_3);   
      
if zh3理论持仓-账户总仓3>0 and 账户总仓3<0 then  begin
   tsellshort(zh3理论持仓<0,zh3理论持仓-账户总仓3,mkt,0,0,zh_3);
   if zh3理论持仓>=0 then begin
      tsellshort(1,账户总仓3,mkt,0,0,zh_3);
      tbuy(zh3理论持仓>0,zh3理论持仓,mkt,0,0,zh_3);
      end
   end
      
if zh3理论持仓-账户总仓3<0 and 账户总仓3<=0 then
   tbuyshort(1,abs(zh3理论持仓-账户总仓3),mkt,0,0,zh_3);
      
if zh3理论持仓-账户总仓3<0 and 账户总仓3>0 then begin      
   tsell(zh3理论持仓>0,abs(zh3理论持仓-账户总仓3),mkt,0,0,zh_3);      
   if zh3理论持仓<=0 then begin
     tsell(1,账户总仓3,mkt,0,0,zh_3);
     tbuyshort(zh3理论持仓<0,abs(zh3理论持仓),mkt,0,0,zh_3);
     end
   end
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-1-10 09:38 | 显示全部楼层
你这个是需要分别和各个账户交互,判断后分别进行下单的。你这样合并在一个策略中写也可以,但是我们自己来写的话是最好分开写的,一方面多策略能使用到多核,另一方面是代码维护也更加简单一点。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2024-1-10 09:50 | 显示全部楼层
技术010 发表于 2024-1-10 09:38
你这个是需要分别和各个账户交互,判断后分别进行下单的。你这样合并在一个策略中写也可以,但是我们自己来 ...

主要是跨周期引用了七个策略,这样的话还是分开更好吗
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-1-10 09:57 | 显示全部楼层
除非你的硬件配置较低。如果配置是相对较宽裕的,是建议分开会更好一些
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-21 16:30 , Processed in 0.175160 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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