金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3840|回复: 10

后台策略移仓换月

[复制链接]

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
发表于 2024-1-13 19:45 | 显示全部楼层 |阅读模式
请问老师,后台多策略汇总。如何实现移仓换月延迟N分钟换月。下面的代码是监控持仓的,但是实盘账户一开盘就会多策略汇总被同步持仓;新合约直接开仓进去了。///功能:实现非主力合约,开盘后30分钟移仓换月,可根据需要自行设置时间//运行于后台程序化,监控品种为“动态加载---监控持仓”
//该模型可独立运行,无需集成在其他交易模型中。

openmin:=30*60; //开盘30分钟(30*60秒)时,移仓换月
opent30:=timetot0(dynainfo(207))-timetot0(opentime(1)) -openmin;

tbuyh:=tbuyholdingex('',stklabel,1);//多头可用持仓
tsellh:=tsellholdingex('',stklabel,1);//空头可用持仓

//多头,非主力合约,平掉老合约持仓,开新主力合约仓位
if dynainfo(228)=0 and opent30>0 and tbuyh>0 then
begin
    tsell(1,tbuyh,mkt);
    tbuy(1,tbuyh,mkt,0,0,'',dynainfo(210));
end

//空头,非主力合约,平掉老合约持仓,开新主力合约仓位
if dynainfo(228)=0 and opent30>0 and tsellh>0 then
begin
    tsellshort(1,tsellh,mkt);
    tbuyshort(1,tsellh,mkt,0,0,'',dynainfo(210));
end



回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-1-15 08:20 | 显示全部楼层
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2024-1-15 10:46 | 显示全部楼层
技术006 发表于 2024-1-15 08:20
https://www.weistock.com/bbs/forum.php?mod=viewthread&tid=8737&extra=page%3D1

这个我知道,我的意思是;用后台多策略汇总的进行账户同步持仓下单的;一旦出现换月那天开盘,就会新开新的主力品种进去。上面的代码顶多延后半小时实现平掉老仓开新仓。但问题是新仓直接在开盘就被同步了
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-1-15 10:50 | 显示全部楼层
那你想要实现怎么样的效果呢?这些都只能你通过代码来进行控制了。这个策略只是我们的一个持仓换月的范例,你需要了解这个策略的运行逻辑,然后看是否能灵活嵌入到你的交易策略中的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2024-1-15 11:02 | 显示全部楼层
技术010 发表于 2024-1-15 10:50
那你想要实现怎么样的效果呢?这些都只能你通过代码来进行控制了。这个策略只是我们的一个持仓换月的范例, ...

老师现在的多策略汇总是下面这样的,主要逻辑是理论持仓跟实际账户持仓的对比进行交易,这就决定了开盘延后换月无法实现。那就只能改成理论持仓与前一根K线的理论持仓进行对比的差值进行交易了///***********************************************//账户仓位计算//***********************************************
zh:='123456';

可用买持: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               

//***********************************************//调试模块//***********************************************
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-1-15 11:07 | 显示全部楼层
那你可以等换月后再进行理论持仓和实际仓差进行对比啊,例如当天换月时,前N分钟不进行仓位判断,等N分钟之后触发了换月代码之后,再进行仓差对比啊。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2024-1-15 11:53 | 显示全部楼层
技术010 发表于 2024-1-15 11:07
那你可以等换月后再进行理论持仓和实际仓差进行对比啊,例如当天换月时,前N分钟不进行仓位判断,等N分钟之 ...

关键是如何判断当天换月呢,这样只能手工进行了吧
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-1-15 12:29 | 显示全部楼层
参照SPLITDATA相关函数
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2024-1-15 15:18 | 显示全部楼层
技术006 发表于 2024-1-15 12:29
参照SPLITDATA相关函数

感谢感谢
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2024-1-16 15:15 | 显示全部楼层
技术006 发表于 2024-1-15 08:20
https://www.weistock.com/bbs/forum.php?mod=viewthread&tid=8737&extra=page%3D1

请问老师,勾选了动态加载。选择当前账户后,是可以同时对所有账户进行换月吗。

补充内容 (2024-1-16 15:16):
需要选择多账户及策略系数吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-21 10:56 , Processed in 0.145660 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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