Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Просмотров:
29
Рейтинг:
(11)
Опубликован:
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

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

YURAZ_MCCH YURAZ_MCCH

Индикатор рассчитывает % роста или падения относительно CLOSE, написан с применением ООП, и легко интегрируется в любой советник или иной индикатор.