Смотри, как бесплатно скачать роботов
Ищи нас в Facebook!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Просмотров:
260
Рейтинг:
(13)
Опубликован:
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Простая замена комментария. Работает в тестере в 50 раз быстрее, чем стандартная функция.


Известно, что стандартная функция "Комментарий" очень сильно замедляет работу тестера.

Вот пример кода и времени его выполнения в тестере.

void OnTick()
  {
   MqlTick tick;
   SymbolInfoTick(_Symbol, tick);
   if(tick.ask != 0 && tick.bid != 0)
     {
      string str = StringFormat("ask  = %.5f\nbid  = %.5f\ntime = %s", tick.ask, tick.bid, TimeToString(tick.time, TIME_DATE | TIME_SECONDS));
      Comment(str);
     }
  }
//+------------------------------------------------------------------+

11 минут 28 секунд !!!

Просто добавьте код #include <Comm.mqh>

#include <Comm.mqh>
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlTick tick;
   SymbolInfoTick(_Symbol, tick);
   if(tick.ask != 0 && tick.bid != 0)
     {
      string str = StringFormat("ask  = %.5f\nbid  = %.5f\ntime = %s", tick.ask, tick.bid, TimeToString(tick.time, TIME_DATE | TIME_SECONDS));
      Comment(str);
     }
  }
//+------------------------------------------------------------------+

14 секунд !!!

14секунд вместо 11 минут 28секунд

11*60+28=688, 688/14=49, в 49 раз быстрее!!!




Пример использования с настройками по умолчанию.

Не нужно объявлять экземпляр класса.

#include <Comm.mqh>
//+------------------------------------------------------------------+
void OnTick()
  {
   string str = "PROGRAM_NAME = " + MQLInfoString(MQL_PROGRAM_NAME) + "\n" + (string)TimeCurrent();
   Comment(str);
  }
//+------------------------------------------------------------------+

Пример использования с возможностью изменения настроек.

#include <Comm.mqh>
//+------------------------------------------------------------------+
void OnTick()
  {
   string str = "PROGRAM_NAME = " + MQLInfoString(MQL_PROGRAM_NAME) + "\n" + (string)TimeCurrent();
   Comment(str, _Xpx, _Ypx, _clrText, _FontSize, _clrBack, _Transparency, _Font, _corner);
  }
//+------------------------------------------------------------------+

Пример использования нескольких экземпляров комментария.

#include <Comm.mqh>
CComm comm1;
CComm comm2;
CComm comm3;
CComm comm4;
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlTick tick;
   SymbolInfoTick(_Symbol, tick);
   if(tick.ask != 0 && tick.bid != 0)
     {
      string str = StringFormat("ask  = %.5f\nbid  = %.5f\ntime = %s", tick.ask, tick.bid, TimeToString(tick.time, TIME_DATE | TIME_SECONDS));
      Comment(str);
      comm1.Comm(str, _Xpx, _Ypx + 80, _clrText, _FontSize, _clrBack, _Transparency, _Font, _corner);
      comm2.Comm(str, _Xpx + 10, _Ypx + 20, _clrText, _FontSize, clrGreen, _Transparency, _Font, CORNER_LEFT_LOWER);
      comm3.Comm(str, _Xpx + 30, _Ypx, clrGreen, _FontSize, _clrBack, _Transparency, _Font, CORNER_RIGHT_LOWER);
      comm4.Comm(str, _Xpx, _Ypx + 50, clrBlack, _FontSize, _clrBack, _Transparency, _Font, CORNER_RIGHT_UPPER);
     }
  }
//+------------------------------------------------------------------+




обновление 05.12.2024 версия 1.06

обновление 05.12.2024 версия 1.07


Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/53499

Скрипт для тестера, который расширяет стандартные возможности оптимизации MetaTrader 5 Скрипт для тестера, который расширяет стандартные возможности оптимизации MetaTrader 5

Это скрипт для тестера, который расширяет стандартные возможности оптимизации MetaTrader 5, позволяя оценивать стратегии по сложному пользовательскому критерию (с разделением на in-sample и out-of-sample периоды, продвинутыми метриками и статистическими тестами).

ServerTime ServerTime

Легкий, настраиваемый инструмент, который отображает серверное время на вашем графике для принятия точных торговых решений.

Volume weighted line chart with smoothing Volume weighted line chart with smoothing

Более гладкий линейный график, который отсекает много рыночного шума и использует объем в формуле

Bull Bear Volume Bull Bear Volume

Индикатор, который обеспечивает четкую визуализацию давления объема на каждую сторону рынка