MetaEditor build 1463 - страница 15

 
fxsaber:
ArrayPrint - аналогично.
Вот пример https://www.mql5.com/ru/forum/160673/page2#comment_3827986
MetaEditor build 1467
MetaEditor build 1467
  • www.mql5.com
Объясните, почему вот этот текст, отформатированный исключительно пробелами, нет ни одного -tab-,: после применения стилизатора, преобразуется в та...
 
Rashid Umarov:
Вот пример https://www.mql5.com/ru/forum/160673/page2#comment_3827986

Это ничем не отличается от того, что сам написал выше.

ArrayPrint все же гораздо больше входных параметров имеет. Интересует последний параметр flags. 

 

В общем что касается зависания тестера.  Мне удалось выявить несколько функций, приводящих к этому.  Самая частая - Comment.

Вот попробуйте запустить в тестере такой индикатор:

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

Скорость только не максимальную, чтобы тестирование занимало некоторое время, в процессе чего происходит зависание. Правда не всегда - я так и не понял, от чего зависит, то ли от движений мышкой, то ли ещё от чего.  В общем можно протестить несколько раз, зависнуть должно.

 
Сегодня вечером функция ArrayPrint станет доступна на сайте
 
Alexey Navoykov:

В общем что касается зависания тестера.  Мне удалось выявить несколько функций, приводящих к этому.  Самая частая - Comment.

Вот попробуйте запустить в тестере такой индикатор:

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

Скорость только не максимальную, чтобы тестирование занимало некоторое время, в процессе чего происходит зависание. Правда не всегда - я так и не понял, от чего зависит, то ли от движений мышкой, то ли ещё от чего.  В общем можно протестить несколько раз, зависнуть должно.

При трёх скоростях тестирования:

  • максимальная
  • максимальная минус один шаг
  • максимальная минус два шага
отображение вкладки Журнала тестере замораживается, так как считается на таких скоростях вывод принтов сильно будет тормозить процесс, и также просто нереально отследить информацию по открытиям/закрытиям.

 

В общем точнее предоставьте доказательства, что есть по Вашему "Зависание тестера".

Добавлено: и точнее опишите ситуацию: версия, билд, сервер, символ, таймфрейм, режим тестирования...

Добавлено: блин, завис таки мой редактор и тестер. Режим генерации тиков - "Все тики" был. 

 
Alexey Navoykov:

В общем что касается зависания тестера.  Мне удалось выявить несколько функций, приводящих к этому.  Самая частая - Comment.

Вот попробуйте запустить в тестере такой индикатор:

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

Скорость только не максимальную, чтобы тестирование занимало некоторое время, в процессе чего происходит зависание. Правда не всегда - я так и не понял, от чего зависит, то ли от движений мышкой, то ли ещё от чего.  В общем можно протестить несколько раз, зависнуть должно.

А что такое вот здесь:

   return rates_total;

?
 

 

Действительно:

//+------------------------------------------------------------------+
//|                                               Indicator_Test.mq5 |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,      // размер массива price[]
                 const int prev_calculated,  // обработано баров на предыдущем вызове
                 const int begin,            // откуда начинаются значимые данные
                 const double& price[]       // массив для расчета
                 )
  {
   Comment("OnCalculate");
   return (rates_total);
  }

Тестирование на максимальной скорости, режим генерации тиков "Все тики" - тестер зависает. Зависает означает следующее:

Зависание 

 

Если закомментировать строку вывода комментария - всё тестируется. 

Файлы:
 
Vladimir Karputov:

Тестирование на максимальной скорости, режим генерации тиков "Все тики" - тестер зависает.

У меня оно не зависит ни от скорости, ни от режима, ни от таймфрейма. Зависнуть может в любом случае.

Кстати в моей программе к зависанию приводили также некоторые другие функии, например ChartGetInteger(0, CHART_WIDTH_IN_BARS).  Но изолированный пример с ними воспроизвести не удаётся.  Впрочем, думаю, и Comment достаточно.

 

Это что такое?

HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\EURUSD, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\GBPUSD, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\USDCHF, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\USDJPY, last access time 2016.04.12 10:37
 
fxsaber:
Прошу изменить MqlTick на
struct MqlTick
  {
   datetime     time;          // Время последнего обновления цен
   double       bid;           // Текущая цена Bid
   double       ask;           // Текущая цена Ask
   double       last;          // Текущая цена последней сделки (Last)
   ulong        volume;        // Объем для текущей цены Last
   datetime_msc time_msc;      // Время последнего обновления цен в миллисекундах
   uint         flags          // Флаги тиков
  };
Т.е. ввести новый тип datetime_msc.
Дак уж лучше тогда просто поле сделать msc и записывать туда отдельно миллисекунды (0-999).
Причина обращения: