Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

Usage - библиотека для MetaTrader 5

Просмотров:
1152
Рейтинг:
(16)
Опубликован:
2021.03.09 02:42
Обновлен:
2021.09.10 02:04
\MQL5\Experts\fxsaber\ \MQL5\Include\fxsaber\Usage\
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Иногда возникает необходимость проверок, успевает ли советник/индикатор выполнять свои действия. Одним из возможных критериев такого расчета является длительность выполнения расчетов от общего времени.


Например, если новый тик приходит раз в секунду, и OnTick вычисляется 150 мс, то вычислительная нагрузка равна 15%. Однако, если нагрузка подбирается к 50%, то тики, которые будут приходить два раза в секунду, не будут успевать обрабатываться.


Библиотека позволяет наглядно оценить данный критерий выполнения программы (или ее частей) и предупредить о возникновении повышенной нагрузки. Такая информация может показать наличие слабых сторон алгоритма, лагов VPS и т.д.


Пример.

    #define USAGE_ALERT 50 // Порог срабатывания Алерта.
    
    #include <fxsaber\Usage\Usage.mqh> // Расчет нагрузки.
    
    const int Init = EventSetTimer(1);
    
    void OnTimer()
    {
      _USAGE // Расчет нагрузки.
    
      static int i = 0;
      
      Sleep((int)(MathAbs(MathSin(M_PI * i++ / 20)) * 500)); // Симуляция длительных расчетов.
    
      USAGE::GraphCreate(); // Вывели график нагрузки.
    }
    
    void OnTick()
    {
      _USAGE // Расчет нагрузки.
    }
    
    void OnDeinit( const int )
    {
      USAGE::GraphDelete(); // Удалили график нагрузки.
    }

    В результате выполнения этого кода будет строиться интерактивный график вычислительной нагрузки.


    Этот график можно перемещать мышкой в удобное место чарта. Но важнее наличие срабатывания Алертов. Вот они.


    В логи выводится подробная информация в виде распечатки массива значений, что видны на графике нагрузки.

    2021.03.09 03:29:24.010 Usage_Example (EURUSD,M1)       Alert: Usage (51.8%) >= 50%
    2021.03.09 03:29:24.010 Usage_Example (EURUSD,M1)       [ 0] 51.78140 49.21200 45.15360 41.55980 35.82600 30.26070 23.47220 16.10530  8.18690  2.13160 10.40100 15.99850 23.86960 30.76880 36.25110
    2021.03.09 03:29:24.010 Usage_Example (EURUSD,M1)       [15] 40.39270 45.34070 47.41340 51.04420 50.82700 51.77690 49.26530 45.55750 42.21760 36.19310 30.31490 23.78170 15.12960  9.58030  2.24770
    2021.03.09 03:29:24.738 Usage_Example (EURUSD,M1)       Alert: Usage (52.8%) >= 50%
    2021.03.09 03:29:24.738 Usage_Example (EURUSD,M1)       [ 0] 52.84770 51.78140 49.21200 45.15360 41.55980 35.82600 30.26070 23.47220 16.10530  8.18690  2.13160 10.40100 15.99850 23.86960 30.76880
    2021.03.09 03:29:24.738 Usage_Example (EURUSD,M1)       [15] 36.25110 40.39270 45.34070 47.41340 51.04420 50.82700 51.77690 49.26530 45.55750 42.21760 36.19310 30.31490 23.78170 15.12960  9.58030
    2021.03.09 03:29:25.756 Usage_Example (EURUSD,M1)       Alert: Usage (50.7%) >= 50%
    2021.03.09 03:29:25.756 Usage_Example (EURUSD,M1)       [ 0] 50.73730 52.84770 51.78140 49.21200 45.15360 41.55980 35.82600 30.26070 23.47220 16.10530  8.18690  2.13160 10.40100 15.99850 23.86960
    2021.03.09 03:29:25.756 Usage_Example (EURUSD,M1)       [15] 30.76880 36.25110 40.39270 45.34070 47.41340 51.04420 50.82700 51.77690 49.26530 45.55750 42.21760 36.19310 30.31490 23.78170 15.12960


    Особенности.

    • Не используются DLL, подходит для Маркета.
    • Кроссплатформенная: MT4/5.
    • Можно замерять только определенные части кода.
    • Размеры и прозрачность графика может меняться.
    • Замер нагрузки происходит постоянно, вне зависимости, строится график или нет.
    • Чистые замеры (без построения графика) потребляют минимальное количество вычислительных ресурсов.

    RSI LiDo Color MA Color N Bars RSI LiDo Color MA Color N Bars

    Торговая стратегия на основе пользовательских индикаторах 'RSI LiDo Color' и 'MA Color N Bars'

    Multi-symbol Two iMA Simple Multi-symbol Two iMA Simple

    Мультисимвольный советник (на два символа) на пересечении двух индикаторов iMA

    Profit Control Profit Control

    Четыре способа контроля за Прибылью и Убытком.

    Sound Alert Entry In Out Sound Alert Entry In Out

    Советник-утилита: звук и Push-сообщение при входе и выходе из сделки