金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1700|回复: 9

请教:为何加载不到板块?

[复制链接]

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
发表于 2023-4-24 22:14 | 显示全部楼层 |阅读模式
如题,希望打开后台交易即可加载一次所有持仓到板块《移仓板块》
VARIABLE:IStarN=0,MStarN=0,CStarN=0,BHD=0,SHD=0,BPrice=0,SPrice=0;//IStarN=0,MStarN:移仓标志;CStarN持仓标志
if CStarN=0  and ISLASTBAR then BEGIN//-------------------------------商品+金融收盘时间段
          CLEARBLOCK('移仓板块');
      HC:=THOLDCOUNT('');
      FOR I = 1 TO HC do BEGIN  //循环取得当前活动账户品种持仓
           HLABEL:= THOLDINDEXLABEL(I,'');//____获取持仓帐户栏第I序号的持仓品种的代码  
           Addtoblock(HLABEL,'移仓板块');//通过从《持仓板块》中删除主力合约品种后,余下的品种就是非主力合约,也是可能需要移仓。         
      END
      CStarN:=1;                 
end

回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

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

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-4-25 09:11 | 显示全部楼层
本地测试,执行这段程序后,自选股里加进去了都
你试试看是不是其他条件问题导致没执行到
截图202304250910472699.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2023-4-25 14:13 来自手机 | 显示全部楼层
麻烦全部代码加载下看看?
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-4-25 14:16 | 显示全部楼层
后台不要用variable的,他是历史上满足条件就执行赋值为1了
用GLOBALVARIABLE:n=1;

这种不去参与历史计算
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2023-4-25 14:22 | 显示全部楼层
好的。我试试
回复

使用道具 举报

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2023-4-25 14:30 | 显示全部楼层
又发生了公式调用问题。前面帖子说过了
截图202304251429363328.png
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

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

使用道具 举报

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2023-4-25 14:31 | 显示全部楼层
GLOBALVARIABLE:IStarN=0,MStarN=0,CStarN=0,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);
//________________________开盘写入需移仓的持仓品种信息到《用来记录的注册文件》_________________________
//====每天下午3点后收盘后第1分钟,所有持仓品种代码写入《持仓板块》:Addtoblock(stk,'持仓板块')。加入之前清空板块CLEARBLOCK('持仓板块');----自选 分类中
//====开盘:取《主力合约板块》成员的品种代码,并同昨天《持仓板块》持仓之代码逐一比较,找出的非主力合约加入到《移仓板块》--------自选 分类中
//====《移仓板块》所包含品种数量YC:=STKCOUNT('移仓板块')
//返回BLK板块中的第N个成员的品种代码
//只有商品开盘时间段,此段金融期货提交单为废单;
if CStarN=0  and ISLASTBAR then BEGIN//-------------------------------商品+金融收盘时间段
          //CLEARBLOCK('移仓板块');//确保第二天的《持仓板块》品种持仓是需要移仓的品种,因为今天新开的都确定是不需是主力合约!
      HC:=THOLDCOUNT('');
      FOR I = 1 TO HC do BEGIN  //循环取得当前活动账户品种持仓
           HLABEL:= THOLDINDEXLABEL(I,'');//____获取持仓帐户栏第I序号的持仓品种的代码  
           Addtoblock(HLABEL,'移仓板块');//通过从《持仓板块》中删除主力合约品种后,余下的品种就是非主力合约,也是可能需要移仓。
           //------找到主力合约---------------
           {
           MC:=STKCOUNT('主力合约板块');
           FOR M = 1 TO MC do BEGIN  //循环取得当前主力合约板块品种
             HMcode:=STKFROMBLK('主力合约板块',M);//循环取得当前<主力合约板块>第I号品种的代
             if STRCMP(STRLEFT(HLABEL,2),STRLEFT(HMcode,2))=0 then BEGIN         
               Addtoblock(HMcode,'移仓主力板块');//通过从《持仓板块》中删除主力合约品种后,余下的品种就是非主力合约,也是可能需要移仓。
               WRITEINIFILE('C:\MHoldingFILE.INI',HMcode,'BuyH',TBUYHOLDINGEX('',HLABEL,2));//记载《移仓主力板块》对应品种的持仓量
               WRITEINIFILE('C:\MHoldingFILE.INI',HMcode,'SellH',TSELLHOLDINGEX('',HLABEL,2));//记载《移仓主力板块》对应品种的持仓量  
             end
           END
           }            
      END
      CStarN:=1;                 
end
{
if   MStarN=0  and ISLASTBAR then BEGIN//--------只有商品开盘时间段
      MC:=STKCOUNT('主力合约板块');
      FOR I = 1 TO MC do BEGIN  //循环取得当前主力合约板块品种
           HMcode:=STKFROMBLK('主力合约板块',I);//循环取得当前<主力合约板块>第I号品种的代码
           DeleteFromBlock(HMcode,'移仓板块');//通过从《持仓板块》中删除主力合约品种后,余下的品种就是非主力合约,也是可能需要移仓。
      END
      MStarN:=1;
end

if IStarN=1  and ISLASTBAR then BEGIN//-------------------------------商品+金融开盘时间段
      MC:=STKCOUNT('主力合约板块');
      FOR I = 1 TO MC do BEGIN  //循环取得当前主力合约板块品种
           HMcode:=STKFROMBLK('主力合约板块',I);//循环取得当前<主力合约板块>第I号品种的代码
           DeleteFromBlock(HMcode,'移仓板块');//通过从《持仓板块》中删除主力合约品种后,余下的品种就是非主力合约,也是可能需要移仓。
      END
     IStarN:=2;   
end
}

//-------------------------------商品+金融移仓:1、平非主力合约持仓;2、开主力合约等量的仓位;3、将品种从《移仓板块》删除------------------------------------------------
                 if BHD=0 then BHD:=TBUYHOLDINGEX('','',2);//需移仓品种的多仓持仓数量             
                 if SHD=0 then SHD:=TSELLHOLDINGEX('','',2);//需移仓品种的空仓持仓数量       
              //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;
                          WRITEINIFILE('C:\MTraderFILE.INI',HMcode,'TraderMK',-1);//记载《移仓主力板块》对应品种的交易信号:2开多仓,1平多仓;-2开空仓,-1平空仓;0移仓(归位)。  
                          WRITEINIFILE('C:\MTraderFILE.INI',HMcode,'TraderSP',SPrice);//记载《移仓主力板块》对应品种的交易信号:2开多仓,1平多仓;-2开空仓,-1平空仓;0移仓(归位)。                         
                 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;
                          WRITEINIFILE('C:\MTraderFILE.INI',HMcode,'TraderMK',2);//记载《移仓主力板块》对应品种的交易信号:2开多仓,1平多仓;-2开空仓,-1平空仓;0移仓(归位)。  
                          WRITEINIFILE('C:\MTraderFILE.INI',HMcode,'TraderBP',C+5*MINDIFF);//记载《移仓主力板块》对应品种的交易信号:2开多仓,1平多仓;-2开空仓,-1平空仓;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;
                          WRITEINIFILE('C:\MTraderFILE.INI',HMcode,'TraderMK',1);//记载《移仓主力板块》对应品种的交易信号:2开多仓,1平多仓;-2开空仓,-1平空仓;0移仓(归位)。  
                          WRITEINIFILE('C:\MTraderFILE.INI',HMcode,'TraderBP',BPrice);//记载《移仓主力板块》对应品种的交易信号:2开多仓,1平多仓;-2开空仓,-1平空仓;0移仓(归位)。                              
                 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;          
                          WRITEINIFILE('C:\MTraderFILE.INI',HMcode,'TraderMK',-2);//记载《移仓主力板块》对应品种的交易信号:2开多仓,1平多仓;-2开空仓,-1平空仓;0移仓(归位)。  
                          WRITEINIFILE('C:\MTraderFILE.INI',HMcode,'TraderSP',C-5*MINDIFF);//记载《移仓主力板块》对应品种的交易信号:2开多仓,1平多仓;-2开空仓,-1平空仓;0移仓(归位)。                            
                 END   
              //end
       
       
      
      
  
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-4-25 14:35 | 显示全部楼层
不是很理解您说的公式调用问题是??
电话我沟通下,另外如果现在能重现的话加我qq远程看下
2857926939
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 16:43 , Processed in 0.250838 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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