9评论

0收藏

[求助]EA回测提示错误修改

avatar yangdidio | 1623 人阅读 | 9 人评论 | 2017-08-30

说明:这个EA建立在TD指标上,大意是在出现完善TD买入结构时开多单。
//+------------------------------------------------------------------+
//|                                                       1EA-TD.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

extern color Setup=MediumSpringGreen;
extern color Countdown=Gold;
extern int NumBars=1000;
extern int Space=50;
double Support[], Resistance[], bPerfected[], sPerfected[], Buy[], Sell[];

extern int magic=12345;
datetime buytime=0;
extern double 下单量=0.1;
extern int 止损点数=100;
extern int 止盈点数=500;



//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
    for(int i=0;i<Bars;i++)
     {
       ObjectDelete(""+i);
       ObjectDelete("cd"+i);
     }
  }

void OnTick()
  {
    int counted_bars=IndicatorCounted();
    int bSetup, sSetup, bCountdown, sCountdown;
    int x;   
    double tfm=Space*Point;
    double CountTest;
    bool bSetupInd, sSetupInd, bPerfect, sPerfect;

    for(int i=0; i<=1000; i++)
      {
        ObjectDelete(""+i);
        ObjectDelete("cd"+i);

       if(Close<=Close[i+4] && Close[i+1]>=Close[i+5] && bSetup==0)//start setup
          {  
            bSetup++;
            ObjectCreate(""+i,OBJ_TEXT,0,Time,Low-tfm);
            ObjectSetText(""+i,""+bSetup,8,"Arial",Setup);
          }
       if(Close<Close[i+4] && bSetup!=0 && ObjectFind(""+i)==-1)
          {
            bSetup++;
            if(bSetup==9)
              {
               OrderSend(Symbol(),OP_BUY,0.1,Ask,0,0,0,0,magic,0,clrRed);
               ObjectCreate(""+i,OBJ_TEXT,0,Time,Low-tfm);
               ObjectSetText(""+i,""+bSetup,10,"Arial Black",Setup);
               bSetup=0;
               bSetupInd=true;
               sSetupInd=false;
               sCountdown=0;
               Print(""+GetLastError());
              }
            else
              {
               ObjectCreate(""+i,OBJ_TEXT,0,Time,Low-tfm);
               ObjectSetText(""+i,""+bSetup,8,"Arial",Setup);
              }
            }

       //Deletes numbers that were created if there is a break in sequence before 9 is reached
       else if(Close>=Close[i+4] && bSetup!=0)
          {
            for(x=i+1; x<=i+bSetup+1; x++) ObjectDelete(""+x);
            bSetup=0;
          }

      }
回测提示错误如下,有两个,一个是分母有为0的情况,一个是数组超限了,请问如何修改:

Testing pass stopped due to a critica error in the EA
array out of range in 'EA.mq4'(54,26)
""
还没有人打赏,支持一下

评论|共 9 个

360

发表于 2017-8-30 11:05:47 | 显示全部楼层

  1. //+------------------------------------------------------------------+
  2. //|                                                       1EA-TD.mq4 |
  3. //|                        Copyright 2017, MetaQuotes Software Corp. |
  4. //|                                             https://www.mql5.com |
  5. //+------------------------------------------------------------------+
  6. #property copyright "Copyright 2017, MetaQuotes Software Corp."
  7. #property link      "https://www.mql5.com"
  8. #property version   "1.00"
  9. #property strict

  10. extern color Setup=MediumSpringGreen;
  11. extern color Countdown=Gold;
  12. extern int NumBars=1000;
  13. extern int Space=50;
  14. double Support[], Resistance[], bPerfected[], sPerfected[], Buy[], Sell[];

  15. extern int magic=12345;
  16. datetime buytime=0;
  17. extern double 下单量=0.1;
  18. extern int 止损点数=100;
  19. extern int 止盈点数=500;



  20. //+------------------------------------------------------------------+
  21. int OnInit()
  22.   {
  23.    return(INIT_SUCCEEDED);
  24.   }

  25. void OnDeinit(const int reason)
  26.   {
  27.     for(int i=0;i<Bars;i++)
  28.      {
  29.        ObjectDelete(""+i);
  30.        ObjectDelete("cd"+i);
  31.      }
  32.   }

  33. void OnTick()
  34.   {
  35.     int counted_bars=IndicatorCounted();
  36.     int bSetup, sSetup, bCountdown, sCountdown;
  37.     int x;   
  38.     double tfm=Space*Point;
  39.     double CountTest;
  40.     bool bSetupInd, sSetupInd, bPerfect, sPerfect;

  41.     for(int i=0; i<=1000; i++)
  42.       {
  43.         ObjectDelete(""+i);
  44.         ObjectDelete("cd"+i);

  45.        if(Close[i]<=Close[i+4] && Close[i+1]>=Close[i+5] && bSetup==0)//start setup
  46.          {  
  47.          bSetup++;
  48.          ObjectCreate(""+i,OBJ_TEXT,0,Time[i],Low[i]-tfm);
  49.          ObjectSetText(""+i,""+bSetup,8,"Arial",Setup);
  50.          }
  51.        if(Close[i]<Close[i+4] && bSetup!=0 && ObjectFind(""+i)==-1)
  52.          {
  53.          bSetup++;
  54.          if(bSetup==9)
  55.             {
  56.             ObjectCreate(""+i,OBJ_TEXT,0,Time[i],Low[i]-tfm);
  57.             ObjectSetText(""+i,""+bSetup,10,"Arial Black",Setup);
  58.             bSetup=0;
  59.             bSetupInd=true;
  60.             sSetupInd=false;
  61.             sCountdown=0;
  62.             }
  63.          else
  64.             {
  65.             ObjectCreate(""+i,OBJ_TEXT,0,Time[i],Low[i]-tfm);
  66.             ObjectSetText(""+i,""+bSetup,8,"Arial",Setup);
  67.             }  
  68.             }

  69.        //Deletes numbers that were created if there is a break in sequence before 9 is reached
  70.        else if(Close[i]>=Close[i+4] && bSetup!=0)
  71.          {
  72.          for(x=i+1; x<=i+bSetup+1; x++) ObjectDelete(""+x);
  73.          bSetup=0;
  74.          }

  75.       }
  76.             }
复制代码

yangdidio

发表于 2017-8-30 11:36:10 | 显示全部楼层

还是不行,一样的错误提示

CMC果果

发表于 2020-7-4 17:57:12 | 显示全部楼层

谢谢楼主分享

外汇美人

发表于 2020-7-16 13:47:30 | 显示全部楼层

学习了,不错

mhcur

发表于 2020-8-7 18:40:47 | 显示全部楼层

学习了,不错

娜娜世界

发表于 2020-8-19 22:10:52 | 显示全部楼层

帮你顶下哈!!

polkrxuq

发表于 2020-11-12 17:37:10 | 显示全部楼层

支持下

uqhdifhe

发表于 2021-7-7 15:18:16 | 显示全部楼层

hxgdrjrs

发表于 2021-7-23 16:03:46 | 显示全部楼层

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

EA之家评论守则