智能交易网,程序化交易,自动交易,量化交易

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

参加MT4智能交易编程培训,7课免费在线试听MT4指标,EA代写,或EA指标加密账户远程验证服务 最完善商业MT4跟单系统(0.1秒极速响应不漏单)
为论坛做贡献有奖学金,奖学金可直接换真钱 扫本站微信公 众号部分视频课程指标EA免费得智能交易网MT4操盘神器,扫公众号免费得
查看: 1611|回复: 3

请教老师一个跨周期问题,

[复制链接]
发表于 2017-6-3 16:00:21 | 显示全部楼层 |阅读模式
20金钱

回复

使用道具 举报

 楼主| 发表于 2017-6-3 16:10:34 | 显示全部楼层
怎么一下就发表出去了,我还没有写完呢 。我照着赵老师的跨周期课程自己写了一个跨周期的指标,编译能通过,用也能用,写EA调用,测试的时候一直报数组越界。下面是代码。
     int limit,counted_bars=IndicatorCounted();
//---- check for possible errors
   if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
   int i=0;
   datetime duotime[];
   ArrayCopySeries(duotime,MODE_TIME,Symbol(),周期);
    int   y=0;
   for(i=0;i<limit;i++)
     {
      
        if(Time[i]<duotime[y])
          {
            y++;
          }
            if(Period()< 周期)
             {         
             中轨Buffer[i]=iCustom(Symbol(),周期,"TDX",0,y);            
             }  
                 
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }


      EA测试报数组duotime[y]越界。
      请问大师们这是什么原因啊 。
回复

使用道具 举报

 楼主| 发表于 2017-6-3 16:18:52 | 显示全部楼层
  我的另一个跨周期指标也是这么写的,   有时候两个都报数组越界。现在就这个报数组越界。
都快疯了。
回复

使用道具 举报

发表于 2020-2-1 15:16:51 | 显示全部楼层
你可以试试替换成这个循环,其中4是大周期对于小周期的倍数,希望对你有用。  

for(int y=0;y<a;y++)
     {
      if(y*4>b) break;
      for(int i=y*4;i<rates_total;i++)
         {
            if(time[i]>=time_1[y])
               {
                  rsiema_onehourBuffer[i]=rsiema_onehourBuffer_copy[y];
                  assis_rsi_onehourBuffer[i]=assis_rsi_onehourBuffer_copy[y];
               }
             else break;      
          }
      }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|sitemap| 智能交易网,程序化交易,自动交易,量化交易 ( 苏ICP备08108698号,苏州智德金网络科技股份有限公司版权所有 )

GMT+8, 2020-7-16 01:21 , Processed in 0.112039 second(s), 12 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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