Библиотеки: Clock

 

Clock:

Библиотека (Clock.mqh) помогает создавать аналоговые часы в виде графических ресурсов.


Возможности

Использование библиотеки продемонстрировано в следующем исходном коде:

// MQL4&5-code
// Пример кроссплатформенного советника, создающего на графике аналоговые часы

#property strict

#include <fxsaber\Clock.mqh> // https://www.mql5.com/ru/code/19388

const string ObjName = __FILE__;            // Имя Bitmap-объекта для вывода часов
const string ResourceName = "::" + ObjName; // Имя ресурса, где будут формироваться часы

// Создали часы из настроек соответствующего INI-файла
CLOCK Clock("Clocks\\Clock01\\Clock01.INI", ResourceName);

void OnINIt()
{
  // Создали графический объект для вывода часов
  ObjectCreate(0, ObjName, OBJ_BITMAP_LABEL, 0, 0, 0);

  // Указали ему имя ресурса, где расположены часы
  ObjectSetString(0, ObjName, OBJPROP_BMPFILE, 0, ResourceName);

  // Добавили возможность выбирать объект для перемещения мышью
  ObjectSetInteger(0, ObjName, OBJPROP_SELECTABLE, true);

  // Включили секундный таймер, чтобы обновлять часы
  EventSetTimer(1);
}

void OnTimer()
{
  // Устанавливаем текущее время на часах
  Clock.SetTime(TimeLocal());

  // Сделали перерисовку чарта, чтобы изменения сразу стали видны
  ChartRedraw();
}

После запуска на графике появятся такие идущие часы:


Индикатор

Для использования сразу "из коробки" приложен кроссплатформенный индикатор Clock.mq5.

В нем реализована интерактивная смена "скинов" - варианты часов (распакуйте ZIP-архив) переключаются клавишами ВВЕРХ/ВНИЗ на клавиатуре.


Особенности

  • Часы растровые (не векторные);
  • Повороты часовых стрелок выполнены без сглаживания;
  • Библиотека работает в MetaTrader 4/5.


Автор: fxsaber

 
Красиво!)
 
Dmitriy Skub:
Красиво!)

Мне динамичные тени понравились.


 

Порадовало отсутствие, любимых Вами, трёхэтажных макросов. :-)

 
Koldun Zloy:

Порадовало отсутствие, любимых Вами, трёхэтажных макросов. :-)

Вы их просто не заметили

Color = ARGB(COLOR::Multiply(GETRGBA(Color), A), COLOR::Multiply(GETRGBR(Color), R), 
             COLOR::Multiply(GETRGBG(Color), G), COLOR::Multiply(GETRGBB(Color), B));


Но это особенные макросы, данные нам сверху - из СБ (недокументированные, правда).

 
Заметил. Это простые макросы. Против них ничего не имею.
 
Часы классные ! Они не помогут мне зарабатывать в моей торговле, но впечатление производят !
 
А шахматы... можно?
 
prostotrader:
А шахматы... можно?

Да, по сети, между терминалами на разных серверах)

 
Automated-Trading:

Clock:

Автор: fxsaber

Установил,но не появился.... всё перепроверил,- НО ....... где искать запуск в терминале 5. Появляется  Clock,если закинуть в   MQL5\Indicators ,но от туда при запуске - нет на графике (прозрачный квадратик)

билд от 4 октября

 
Vobler Vob:

Установил,но не появился....

В папке \MQL5\Files\ нужно распаковать файл Clocks.zip.