Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 29
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Простая замена комментария. Работает в тестере в 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, позволяя оценивать стратегии по сложному пользовательскому критерию (с разделением на in-sample и out-of-sample периоды, продвинутыми метриками и статистическими тестами).

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

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

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