Тестер: вопрос о моделировании тиков

 

'Новая версия клиентского терминала MetaTrader 4 build 213' - здесь разработчики предложили создать вновь отдельную тему обозначенной ошибки: 'Тестер: ошибка моделирования тиков на всех таймфреймах на модели все тики'


Предлагаю всем желающим запустить в тестере на любом торговом инструменте (минутный таймфрэйм + все тики) советник Rosh-a из вышеназванной темы:

//+------------------------------------------------------------------+
//|                                            CheckHighAndLow-2.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net/ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/ru/"
 
extern string FileName = "TestTicks.txt";
 
int handle;
double tOpen, tHigh, tLow, tClose;
int CountErrors;
 
int PrevTime;
 
 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
  PrevTime = Time[0];
  tOpen = Bid;
  tHigh = Bid;
  tLow = Bid;
  tClose = Bid;
  CountErrors = 0;
 
  handle=FileOpen(FileName,FILE_READ|FILE_WRITE, "\t");
  FileSeek(handle, 0, SEEK_END);
  FileWrite(handle,Symbol(),Period());
  FileWrite(handle,"Time","tOpen","Open[1]","tHigh","High[1]","tLow","Low[1]","tClose","Close[1]"); 
  return(0);
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
  string Str;
  
  Str = "Bar Errors = " + DoubleToStr(100.0 * CountErrors / Bars, 2) + "%";
  
  Print(Str);
  FileWrite(handle, Str);
  
  FileClose(handle);
   
//----
   return(0);
  }
 
//+------------------------------------------------------------------+
//| right comparison of 2 doubles                                    |
//+------------------------------------------------------------------+
bool CompareDoubles(double number1,double number2, int Dig,double accuracy)
  {
   if(NormalizeDouble(MathAbs(number1-number2),Dig)>=accuracy) return(true);
   else return(false);
  }
 
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
  string Str;
  
  if (PrevTime == Time[0])
  {
    if (Bid > tHigh)
      tHigh = Bid;
    else if (Bid < tLow)
      tLow = Bid;
  }
  else
  {
    PrevTime = Time[0];
    
    if (CompareDoubles(tOpen,Open[1], Digits,Point) ||
        CompareDoubles(tHigh,High[1], Digits,Point) ||
        CompareDoubles(tLow,Low[1], Digits,Point) ||
        CompareDoubles(tClose,Close[1], Digits,Point))
      {
        Str = TimeToStr(Time[1]) + ", Volume = " + DoubleToStr(Volume[1], 0);
        Print(Str);
        FileWrite(handle,TimeToStr(Time[1]),tOpen,Open[1], tHigh,High[1],tLow,Low[1],tClose,Close[1]);
        CountErrors++;
      }
        
    tOpen = Bid;
    tHigh = Bid;
    tLow = Bid;
  }
 
  tClose = Bid;
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

И поделиться здесь результатами: записи в журнале тестера.


На build 213 от 13.03.2008 у меня выявляются ошибки моделирования тиков на барах с объемом 4-6.

 

Разбираемся

 

Да. В генераторе обнаружили и исправили ошибку. Спасибо за Ваше терпение.

На сайте выложен обновлённый билд 213 от 18 марта