金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
12
返回列表 发新帖
楼主: 105019

版本6.30的两个bug

[复制链接]

37

主题

156

帖子

166

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2023-4-27 06:41 | 显示全部楼层
老师好:昨晚测试移仓,在后台交易再增加了个策略(总共2个,因为前面的调用不存在的公式,我近段时间只用一个策略),没有执行任何交易,这是为何?
VARIABLE:BHD=0,SHD=0,BPrice=0,SPrice=0;//MStarN:移仓标志;CStarN持仓标志
//本策略是后台策略,运行时候选择监控连续合约,会把所监控的合约中非当前主力合约则会在开盘第一根k的时候平仓
//用户可以根据这个模板自己改进,来实现类似换月移仓的功能

DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
DRMACD:=MACD-REF(MACD,1);
RDRMACD:=REF(DRMACD,1);
CUMACD:=CROSS(DIFF,DEA);
CDMACD:=CROSS(DIFF,DEA);
//________________________开盘写入需移仓的持仓品种信息到《用来记录的注册文件》_________________________

//-------------------------------商品+金融移仓:1、平非主力合约持仓;2、开主力合约等量的仓位;3、将品种从《移仓板块》删除------------------------------------------------
                 if BHD=0 then BHD:=TBUYHOLDINGEX('','',2);//需移仓品种的多仓持仓数量             
                 if SHD=0 then SHD:=TSELLHOLDINGEX('','',2);//需移仓品种的空仓持仓数量       
                 多:TBUYHOLDINGEX('','',2),NODRAW;//需移仓品种的多仓持仓数量             
                 空:TSELLHOLDINGEX('','',2),NODRAW;//需移仓品种的空仓持仓数量       
              //if (RDRMACD<0&&DRMACD>0)||CROSS(DIFF,DEA) then BEGIN//MACD柱子由大逐渐变小转为小变大__[∨字形];或者出现了MACD死叉   
                 if SPrice=0&&SHD<>0 then BEGIN
                          Tsellshort(CUMACD,0,LMT,C+5*MINDIFF,0,'',''); //成功卖出老的非主力持仓,还未买入对应主力合约手数后,不能为移仓成功!!
                     SPrice:=C+5*MINDIFF;                                  
                 END   
                 if (BPrice>C&&BHD<>0&&RDRMACD<0&&DRMACD>0)||(BPrice<C&&CUMACD) then BEGIN                        
                          Tbuy(1,BHD,LMT,C+5*MINDIFF,0,'',DYNAINFO(210));
                          DeleteFromBlock('','移仓板块');//成功卖出老的非主力持仓,买入对应主力合约手数后,方为移仓成功!!
                     BPrice:=0;       
                          BHD:=0;                             
                 END                        
              //end
              //if RDRMACD>0&&DRMACD<0 then BEGIN//MACD柱子由小逐渐变大转为大变小__[∧字形];或者出现了MACD金叉
                 if BPrice=0&&BHD<>0 then BEGIN
                          TSELL(CDMACD,0,LMT,C-5*MINDIFF,0,'','');  //成功卖出老的非主力持仓,还未买入对应主力合约手数后,不能为移仓成功!!  
                          BPrice:=C-5*MINDIFF;                           
                 END      
                 if (SPrice<C&&SHD<>0&&RDRMACD>0&&DRMACD<0)||(SPrice>C&&CDMACD) then BEGIN
                          Tbuyshort(1,SHD,LMT,C-5*MINDIFF,0,'',DYNAINFO(210));  
                          DeleteFromBlock('','移仓板块');//成功卖出老的非主力持仓,买入对应主力合约手数后,方为移仓成功!!
                          SPrice:=0;
                          SHD:=0;                                   
                 END   
              //end
       
      
      
  


补充内容 (2023-4-27 06:44):
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-4-27 09:10 | 显示全部楼层
你这个模板是哪里来的?有问题吧
运行监控连续合约,那么你读取持仓,以及下面卖出老合约也都是基于当前连续合约的品种是新合约了。
if BHD=0 then BHD:=TBUYHOLDINGEX('','',2);//需移仓品种的多仓持仓数量
Tsellshort(CUMACD,0,LMT,C+5*MINDIFF,0,'',''); //成功卖出老的非主力持仓,还未买入对应主力合约手数后,不能为移仓成功!!


你可以看下这个代码模板,移仓换月一定是要判断新老合约的,不能简单运行连续合约就达到效果的
https://www.weistock.com/bbs/for ... &extra=page%3D1
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

37

主题

156

帖子

166

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2023-4-27 11:20 来自手机 | 显示全部楼层
我已经把老合约转移到《移仓板块》了。这没有问题的,读取的就是老合约,后台加载的运行老合约板块
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-4-27 11:21 | 显示全部楼层
电话下我吧
021-20339087
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-4-27 11:24 | 显示全部楼层
VARIABLE:BHD=0,SHD=0,BPrice=0,SPrice=0;//MStarN:移仓标志;CStarN持仓标志

不要用variable,这个是对历史整个都会参与计算了
一搬后台用GLOBALVARIABLE定义全局变量,用法和上面用法一样的
它定义的全局变量不会在历史数据上去迭代,只会在最新一根k上参与计算的

另外建议配合好debugfile做好调试输出,把一些条件变量都输出到txt,这样自己通过查看文件可以更清楚整个程序运行逻辑
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-20 15:02 , Processed in 0.239810 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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