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

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

Просмотров:
2709
Рейтинг:
(34)
Опубликован:
2017.09.27 09:08
Обновлен:
2018.09.05 14:04
\MQL5\Include\ \MQL5\Indicators\
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Благодаря использованию этой библиотеки каждая MQL программа сможет иметь значок в области уведомления на панели задач Windows. Вы сможете отображать текстовые сообщения, отсылая их из ваших программ, либо использовать значок для индикации определенного состояния программы. Работа библиотеки основана на функции Shell_NotifyIcon. Для удобства создан класс CNotifyIcon, который скрывает детали работы с функциями Windows API и предоставляет простой набор методов для работы с тремя функциональными элементами: значком, окном уведомления и всплывающей подсказкой.

Внешний вид значка и окна уведомления показан на рисунке 1.

Пример значка и окна уведомления

Рис.1. Пример значка и окна уведомления

При наведении курсора мыши на значок всплывает подсказка, пример которой показан на рисунке 2.

Пример всплывающей подсказки

Рис.2. Пример всплывающей подсказки

Библиотека стабильно работает на системах, начиная с Windows 7/Windows Server 2008 R2.


Значок (Icon)

Размер значка зависит от плотности пикселей DPI, заданной в настройках экрана вашей операционной системы. По умолчанию используется 96 DPI, что соответствует размеру значка 16x16. Это необходимо знать, чтобы загружать изображения подходящего размера. При этом ваши изображения не будут дополнительно конвертироваться системой и, следовательно, не будут искажены. Загрузить изображение с размерами меньшими, чем это определено системой, не получится.

Узнать размер изображения, необходимый для загрузки можно через вызов функции GetSystemSize().

int icon_size = CNotifyIcon::GetSystemSize(ICON_SMALL);

Чтобы не создавать изображения под каждое распространенное значение DPI экрана, можно подготовить один размер, скажем 24x24 (максимальное DPI равно 144) или 32x32 (максимальное DPI равно 240), обеспечив совместимость с большинством пользователей, но при этом смирившись с автоматической конвертацией (уменьшением размеров) и возможными искажениями изображения. В примерах используются изображения в BMP формате размером 32 x 32 и глубиной цвета 32 бита (с прозрачностью).

Загрузить изображение для значка можно одним из пяти способов:

  1. Первый и самый очевидный способ - это загрузка из файла. При этом файл может находится за пределами файловой "песочницы" терминала.

    CNotifyIcon notify_icon;
    
    notify_icon.Icon.LoadFromFile("D:\\Images\\indicator32.bmp");
  2. Второй способ - это загрузка из ресурса.

    #resource "\\Images\\Indicator32.bmp"
    
    notify_icon.Icon.LoadFromResource("::Images\\Indicator32.bmp");
  3. Третий способ - это загрузка из одномерного массива. Этот метод предполагает предварительную конвертацию изображения в одномерный массив структур RGBQUAD.

    
    const uint icon_array32[1024]=
      {
       0x00FFFFFF,0xFFB7B6B3,0xFFB7B6B3,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB7B6B3,0xFFB7B6B3,0x00FFFFFF,
       0x00FFFFFF,0xFFB7B6B3,0xFFB7B6B3,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB99213,0xFFB7B6B3,0xFFB7B6B3,0x00FFFFFF,
       0x00FFFFFF,0xFFB99213,0xFFB99213,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFB99213,0xFFB99213,0x00FFFFFF,
       0x00FFFFFF,0xFFB99213,0xFFB99213,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFB99213,0xFFB99213,0x00FFFFFF,
       0x00FFFFFF,0xFFB99213,0xFFB99213,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFB99213,0xFFB99213,0x00FFFFFF,
       0x00FFFFFF,0xFFB99213,0xFFB99213,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFB99213,0xFFB99213,0x00FFFFFF,
       0x00FFFFFF,0xFFB99213,0xFFB99213,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFFCEF,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFB99213,0xFFB99213,0x00FFFFFF,
       0x00FFFFFF,0xFFB79012,0xFFB79012,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFD8D1B7,0xFFD8D1B7,0xFF625F53,0xFF625F53,0xFF57544A,0xFF57544A,0xFF57544A,0xFF535046,0xFF535046,0xFFFFF7D8,0xFFFFF7D8,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFB79012,0xFFB79012,0x00FFFFFF,
       0x00FFFFFF,0xFFB79012,0xFFB79012,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFFFF7D8,0xFFD8D1B7,0xFFD8D1B7,0xFF625F53,0xFF625F53,0xFF57544A,0xFF57544A,0xFF57544A,0xFF535046,0xFF535046,0xFFFFF7D8,0xFFFFF7D8,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFB79012,0xFFB79012,0x00FFFFFF,
       0x00FFFFFF,0xFFB58E11,0xFFB58E11,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFF2BD,0xFFFFF2BD,0xFFFFF2BD,0xFFFFF2BD,0xFFFFF2BD,0xFFFFF2BD,0xFFFFF2BD,0xFFF9ECB9,0xFFF9ECB9,0xFF605B47,0xFF605B47,0xFF8D8669,0xFF8D8669,0xFFF2E6B3,0xFFF2E6B3,0xFFF2E6B3,0xFFEDE1B0,0xFFEDE1B0,0xFFEEE2B0,0xFFEEE2B0,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFB58E11,0xFFB58E11,0x00FFFFFF,
       0x00FFFFFF,0xFFB58E11,0xFFB58E11,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFF2BD,0xFFFFF2BD,0xFFFFF2BD,0xFFFFF2BD,0xFFFFF2BD,0xFFFFF2BD,0xFFFFF2BD,0xFFF9ECB9,0xFFF9ECB9,0xFF605B47,0xFF605B47,0xFF8D8669,0xFF8D8669,0xFFF2E6B3,0xFFF2E6B3,0xFFF2E6B3,0xFFEDE1B0,0xFFEDE1B0,0xFFEEE2B0,0xFFEEE2B0,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFB58E11,0xFFB58E11,0x00FFFFFF,
       0x00FFFFFF,0xFFB28C10,0xFFB28C10,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFEC9F,0xFFFFEC9F,0xFFFBE89D,0xFFFBE89D,0xFFDDCD8A,0xFFDDCD8A,0xFFDDCD8A,0xFFB2A56F,0xFFB2A56F,0xFF4C462F,0xFF4C462F,0xFFCEBF80,0xFFCEBF80,0xFFF2E097,0xFFF2E097,0xFFF2E097,0xFFFFEC9F,0xFFFFEC9F,0xFFFFEC9F,0xFFFFEC9F,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFB28C10,0xFFB28C10,0x00FFFFFF,
       0x00FFFFFF,0xFFB28C10,0xFFB28C10,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFEC9F,0xFFFFEC9F,0xFFFBE89D,0xFFFBE89D,0xFFDDCD8A,0xFFDDCD8A,0xFFDDCD8A,0xFFB2A56F,0xFFB2A56F,0xFF4C462F,0xFF4C462F,0xFFCEBF80,0xFFCEBF80,0xFFF2E097,0xFFF2E097,0xFFF2E097,0xFFFFEC9F,0xFFFFEC9F,0xFFFFEC9F,0xFFFFEC9F,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFB28C10,0xFFB28C10,0x00FFFFFF,
       0x00FFFFFF,0xFFB28C10,0xFFB28C10,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFEC9F,0xFFFFEC9F,0xFFFBE89D,0xFFFBE89D,0xFFDDCD8A,0xFFDDCD8A,0xFFDDCD8A,0xFFB2A56F,0xFFB2A56F,0xFF4C462F,0xFF4C462F,0xFFCEBF80,0xFFCEBF80,0xFFF2E097,0xFFF2E097,0xFFF2E097,0xFFFFEC9F,0xFFFFEC9F,0xFFFFEC9F,0xFFFFEC9F,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFB28C10,0xFFB28C10,0x00FFFFFF,
       0x00FFFFFF,0xFFAF890F,0xFFAF890F,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFE680,0xFFFFE680,0xFFEDD677,0xFFEDD677,0xFF695F35,0xFF695F35,0xFF695F35,0xFF514929,0xFF514929,0xFF544C2A,0xFF544C2A,0xFF655B33,0xFF655B33,0xFFBAA85D,0xFFBAA85D,0xFFBAA85D,0xFFFFE680,0xFFFFE680,0xFFFFE680,0xFFFFE680,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFAF890F,0xFFAF890F,0x00FFFFFF,
       0x00FFFFFF,0xFFAF890F,0xFFAF890F,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFE680,0xFFFFE680,0xFFEDD677,0xFFEDD677,0xFF695F35,0xFF695F35,0xFF695F35,0xFF514929,0xFF514929,0xFF544C2A,0xFF544C2A,0xFF655B33,0xFF655B33,0xFFBAA85D,0xFFBAA85D,0xFFBAA85D,0xFFFFE680,0xFFFFE680,0xFFFFE680,0xFFFFE680,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFAF890F,0xFFAF890F,0x00FFFFFF,
       0x00FFFFFF,0xFFAB860D,0xFFAB860D,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFDF60,0xFFFFDF60,0xFFFFDF60,0xFFFFDF60,0xFFF9DA5E,0xFFF9DA5E,0xFFF9DA5E,0xFF635725,0xFF635725,0xFFAC9641,0xFFAC9641,0xFFFBDC5E,0xFFFBDC5E,0xFFFEDE60,0xFFFEDE60,0xFFFEDE60,0xFFFFDF60,0xFFFFDF60,0xFFFFDF60,0xFFFFDF60,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFAB860D,0xFFAB860D,0x00FFFFFF,
       0x00FFFFFF,0xFFAB860D,0xFFAB860D,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFDF60,0xFFFFDF60,0xFFFFDF60,0xFFFFDF60,0xFFF9DA5E,0xFFF9DA5E,0xFFF9DA5E,0xFF635725,0xFF635725,0xFFAC9641,0xFFAC9641,0xFFFBDC5E,0xFFFBDC5E,0xFFFEDE60,0xFFFEDE60,0xFFFEDE60,0xFFFFDF60,0xFFFFDF60,0xFFFFDF60,0xFFFFDF60,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFAB860D,0xFFAB860D,0x00FFFFFF,
       0x00FFFFFF,0xFFA7830C,0xFFA7830C,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFE6C43C,0xFFE6C43C,0xFFE6C43C,0xFF524615,0xFF524615,0xFFDDBC39,0xFFDDBC39,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFA7830B,0xFFA7830B,0x00FFFFFF,
       0x00FFFFFF,0xFFA7830C,0xFFA7830C,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFE6C43C,0xFFE6C43C,0xFFE6C43C,0xFF524615,0xFF524615,0xFFDDBC39,0xFFDDBC39,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFA7830B,0xFFA7830B,0x00FFFFFF,
       0x00FFFFFF,0xFFA7830C,0xFFA7830C,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFE6C43C,0xFFE6C43C,0xFFE6C43C,0xFF524615,0xFF524615,0xFFDDBC39,0xFFDDBC39,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFD942,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFA7830B,0xFFA7830B,0x00FFFFFF,
       0x00FFFFFF,0xFFA4800B,0xFFA4800B,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFB7981C,0xFFB7981C,0xFFB7981C,0xFF5C4C0E,0xFF5C4C0E,0xFFFBD126,0xFFFBD126,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFA47F0A,0xFFA47F0A,0x00FFFFFF,
       0x00FFFFFF,0xFFA4800B,0xFFA4800B,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFB7981C,0xFFB7981C,0xFFB7981C,0xFF5C4C0E,0xFF5C4C0E,0xFFFBD126,0xFFFBD126,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFD427,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFA47F0A,0xFFA47F0A,0x00FFFFFF,
       0x00FFFFFF,0xFFA07C09,0xFFA07C09,0xFFFDCA00,0xFFFDCA00,0xFFFDCA00,0xFFFFCF10,0xFFFFCF10,0xFFF7C90F,0xFFF7C90F,0xFF675406,0xFF675406,0xFF675406,0xFF917609,0xFF917609,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFA07D09,0xFFA07D09,0x00FFFFFF,
       0x00FFFFFF,0xFFA07C09,0xFFA07C09,0xFFFDCA00,0xFFFDCA00,0xFFFDCA00,0xFFFFCF10,0xFFFFCF10,0xFFF7C90F,0xFFF7C90F,0xFF675406,0xFF675406,0xFF675406,0xFF917609,0xFF917609,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCF10,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFA07D09,0xFFA07D09,0x00FFFFFF,
       0x00FFFFFF,0xFF9D7A08,0xFF9D7A08,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFF715A00,0xFF715A00,0xFF624E00,0xFF624E00,0xFF624E00,0xFF624E00,0xFF624E00,0xFFEABB00,0xFFEABB00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFF9D7A08,0xFF9D7A08,0x00FFFFFF,
       0x00FFFFFF,0xFF9D7A08,0xFF9D7A08,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFF715A00,0xFF715A00,0xFF624E00,0xFF624E00,0xFF624E00,0xFF624E00,0xFF624E00,0xFFEABB00,0xFFEABB00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFF9D7A08,0xFF9D7A08,0x00FFFFFF,
       0x00FFFFFF,0xFF9A7807,0xFF9A7807,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFE270,0xFFFFE270,0xFFFFE787,0xFFFFE787,0xFFFFEEAD,0xFFFFEEAD,0xFFFFEEAD,0xFFFFF6D1,0xFFFFF6D1,0xFFFFF9E2,0xFFFFF9E2,0xFFFFF6D1,0xFFFFF6D1,0xFFFFEEAD,0xFFFFEEAD,0xFFFFEEAD,0xFFFFE787,0xFFFFE787,0xFFFFE270,0xFFFFE270,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFF9A7807,0xFF9A7807,0x00FFFFFF,
       0x00FFFFFF,0xFF9A7807,0xFF9A7807,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFE270,0xFFFFE270,0xFFFFE787,0xFFFFE787,0xFFFFEEAD,0xFFFFEEAD,0xFFFFEEAD,0xFFFFF6D1,0xFFFFF6D1,0xFFFFF9E2,0xFFFFF9E2,0xFFFFF6D1,0xFFFFF6D1,0xFFFFEEAD,0xFFFFEEAD,0xFFFFEEAD,0xFFFFE787,0xFFFFE787,0xFFFFE270,0xFFFFE270,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFF9A7807,0xFF9A7807,0x00FFFFFF,
       0x00FFFFFF,0xFF9A7807,0xFF9A7807,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFFFFE270,0xFFFFE270,0xFFFFE787,0xFFFFE787,0xFFFFEEAD,0xFFFFEEAD,0xFFFFEEAD,0xFFFFF6D1,0xFFFFF6D1,0xFFFFF9E2,0xFFFFF9E2,0xFFFFF6D1,0xFFFFF6D1,0xFFFFEEAD,0xFFFFEEAD,0xFFFFEEAD,0xFFFFE787,0xFFFFE787,0xFFFFE270,0xFFFFE270,0xFFFFCC00,0xFFFFCC00,0xFFFFCC00,0xFF9A7807,0xFF9A7807,0x00FFFFFF,
       0x00FFFFFF,0xFF9A978C,0xFF9A978C,0xFF987605,0xFF987605,0xFF987605,0xFF987605,0xFF987605,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987605,0xFF987605,0xFF987605,0xFF987506,0xFF987506,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF9A978C,0xFF9A978C,0x00FFFFFF,
       0x00FFFFFF,0xFF9A978C,0xFF9A978C,0xFF987605,0xFF987605,0xFF987605,0xFF987605,0xFF987605,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987605,0xFF987605,0xFF987605,0xFF987506,0xFF987506,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF987606,0xFF9A978C,0xFF9A978C,0x00FFFFFF
      };
    
    notify_icon.Icon.LoadFromArray(32,32,icon_array32);
  4. Четвертый способ - это загрузка из строки в кодировке Base64. Конвертацию изображения BMP формата в строку можно произвести через один из онлайн конвертеров. А в функцию передать часть строки, из которой исключен заголовок выделенный красным:

    data:image/bmp;base64,Qk02EAAAAAAAADYAAAAoAAAAIAAAACAAAAABACAAAAAAAAAQAADDDgAAww4AAAAAAAAAAAAA...
    notify_icon.Icon.LoadFromBase64("Qk02EAAAAAAAADYAAAAoAAAAIAAAACAAAAABACAAAAAAAAAQAADDDgAAww4AAAAAAAAAAAAA////AIyXmv+Ml5r/BXaY/wV2mP8Fdpj/BXaY/wV2mP8Gdpj/BnaY/wZ2mP8Gdpj/BnaY/wZ2mP8Gdpj/BnaY/wZ2mP8Gdpj/BnaY/wV2mP8Fdpj/BXaY/wZ1mP8GdZj/BnaY/wZ2mP8Gdpj/BnaY/wZ2mP+Ml5r/jJea/////wD///8AjJea/4yXmv8Fdpj/BXaY/wV2mP8Fdpj/BXaY/wZ2mP8Gdpj/BnaY/wZ2mP8Gdpj/BnaY/wZ2mP8Gdpj/BnaY/wZ2mP8Gdpj/BXaY/wV2mP8Fdpj/BnWY/wZ1mP8Gdpj/BnaY/wZ2mP8Gdpj/BnaY/4yXmv+Ml5r/////AP///wAHeJr/B3ia/wDM//8AzP//AMz//3Di//9w4v//h+f//4fn//+t7v//re7//63u///R9v//0fb//+L5///i+f//0fb//9H2//+t7v//re7//63u//+H5///h+f//3Di//9w4v//AMz//wDM//8AzP//B3ia/wd4mv////8A////AAd4mv8HeJr/AMz//wDM//8AzP//cOL//3Di//+H5///h+f//63u//+t7v//re7//9H2///R9v//4vn//+L5///R9v//0fb//63u//+t7v//re7//4fn//+H5///cOL//3Di//8AzP//AMz//wDM//8HeJr/B3ia/////wD///8AB3ia/wd4mv8AzP//AMz//wDM//9w4v//cOL//4fn//+H5///re7//63u//+t7v//0fb//9H2///i+f//4vn//9H2///R9v//re7//63u//+t7v//h+f//4fn//9w4v//cOL//wDM//8AzP//AMz//wd4mv8HeJr/////AP///wAIep3/CHqd/wDM//8AzP//AMz//wBacf8AWnH/AE5i/wBOYv8ATmL/AE5i/wBOYv8Au+r/ALvq/wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//CHqd/wh6nf////8A////AAh6nf8Iep3/AMz//wDM//8AzP//AFpx/wBacf8ATmL/AE5i/wBOYv8ATmL/AE5i/wC76v8Au+r/AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8Iep3/CHqd/////wD///8ACXyg/wl8oP8Ayv3/AMr9/wDK/f8Qz///EM///w/J9/8Pyff/BlRn/wZUZ/8GVGf/CXaR/wl2kf8Qz///EM///xDP//8Qz///EM///xDP//8Qz///EM///xDP//8Qz///EM///wDM//8AzP//AMz//wl9oP8JfaD/////AP///wAJfKD/CXyg/wDK/f8Ayv3/AMr9/xDP//8Qz///D8n3/w/J9/8GVGf/BlRn/wZUZ/8JdpH/CXaR/xDP//8Qz///EM///xDP//8Qz///EM///xDP//8Qz///EM///xDP//8Qz///AMz//wDM//8AzP//CX2g/wl9oP////8A////AAuApP8LgKT/AMz//wDM//8AzP//J9T//yfU//8n1P//J9T//xyYt/8cmLf/HJi3/w5MXP8OTFz/JtH7/ybR+/8n1P//J9T//yfU//8n1P//J9T//yfU//8n1P//J9T//yfU//8AzP//AMz//wDM//8Kf6T/Cn+k/////wD///8AC4Ck/wuApP8AzP//AMz//wDM//8n1P//J9T//yfU//8n1P//HJi3/xyYt/8cmLf/Dkxc/w5MXP8m0fv/JtH7/yfU//8n1P//J9T//yfU//8n1P//J9T//yfU//8n1P//J9T//wDM//8AzP//AMz//wp/pP8Kf6T/////AP///wAMg6f/DIOn/wDM//8AzP//AMz//0LZ//9C2f//Qtn//0LZ//88xOb/PMTm/zzE5v8VRlL/FUZS/zm83f85vN3/Qtn//0LZ//9C2f//Qtn//0LZ//9C2f//Qtn//0LZ//9C2f//AMz//wDM//8AzP//C4On/wuDp/////8A////AAyDp/8Mg6f/AMz//wDM//8AzP//Qtn//0LZ//9C2f//Qtn//zzE5v88xOb/PMTm/xVGUv8VRlL/Obzd/zm83f9C2f//Qtn//0LZ//9C2f//Qtn//0LZ//9C2f//Qtn//0LZ//8AzP//AMz//wDM//8Lg6f/C4On/////wD///8ADIOn/wyDp/8AzP//AMz//wDM//9C2f//Qtn//0LZ//9C2f//PMTm/zzE5v88xOb/FUZS/xVGUv85vN3/Obzd/0LZ//9C2f//Qtn//0LZ//9C2f//Qtn//0LZ//9C2f//Qtn//wDM//8AzP//AMz//wuDp/8Lg6f/////AP///wANhqv/DYar/wDM//8AzP//AMz//2Df//9g3///YN///2Df//9e2vn/Xtr5/17a+f8lV2P/JVdj/0GWrP9Blqz/Xtz7/17c+/9g3v7/YN7+/2De/v9g3///YN///2Df//9g3///AMz//wDM//8AzP//DYar/w2Gq/////8A////AA2Gq/8Nhqv/AMz//wDM//8AzP//YN///2Df//9g3///YN///17a+f9e2vn/Xtr5/yVXY/8lV2P/QZas/0GWrP9e3Pv/Xtz7/2De/v9g3v7/YN7+/2Df//9g3///YN///2Df//8AzP//AMz//wDM//8Nhqv/DYar/////wD///8AD4mv/w+Jr/8AzP//AMz//wDM//+A5v//gOb//3fW7f931u3/NV9p/zVfaf81X2n/KUlR/ylJUf8qTFT/KkxU/zNbZf8zW2X/Xai6/12ouv9dqLr/gOb//4Dm//+A5v//gOb//wDM//8AzP//AMz//w+Jr/8Pia//////AP///wAPia//D4mv/wDM//8AzP//AMz//4Dm//+A5v//d9bt/3fW7f81X2n/NV9p/zVfaf8pSVH/KUlR/ypMVP8qTFT/M1tl/zNbZf9dqLr/Xai6/12ouv+A5v//gOb//4Dm//+A5v//AMz//wDM//8AzP//D4mv/w+Jr/////8A////ABCMsv8QjLL/AMz//wDM//8AzP//n+z//5/s//+d6Pv/nej7/4rN3f+Kzd3/is3d/2+lsv9vpbL/L0ZM/y9GTP+Av87/gL/O/5fg8v+X4PL/l+Dy/5/s//+f7P//n+z//5/s//8AzP//AMz//wDM//8QjLL/EIyy/////wD///8AEIyy/xCMsv8AzP//AMz//wDM//+f7P//n+z//53o+/+d6Pv/is3d/4rN3f+Kzd3/b6Wy/2+lsv8vRkz/L0ZM/4C/zv+Av87/l+Dy/5fg8v+X4PL/n+z//5/s//+f7P//n+z//wDM//8AzP//AMz//xCMsv8QjLL/////AP///wAQjLL/EIyy/wDM//8AzP//AMz//5/s//+f7P//nej7/53o+/+Kzd3/is3d/4rN3f9vpbL/b6Wy/y9GTP8vRkz/gL/O/4C/zv+X4PL/l+Dy/5fg8v+f7P//n+z//5/s//+f7P//AMz//wDM//8AzP//EIyy/xCMsv////8A////ABGOtf8RjrX/AMz//wDM//8AzP//vfL//73y//+98v//vfL//73y//+98v//vfL//7ns+f+57Pn/R1tg/0dbYP9pho3/aYaN/7Pm8v+z5vL/s+by/7Dh7f+w4e3/sOLu/7Di7v8AzP//AMz//wDM//8RjrX/EY61/////wD///8AEY61/xGOtf8AzP//AMz//wDM//+98v//vfL//73y//+98v//vfL//73y//+98v//uez5/7ns+f9HW2D/R1tg/2mGjf9pho3/s+by/7Pm8v+z5vL/sOHt/7Dh7f+w4u7/sOLu/wDM//8AzP//AMz//xGOtf8RjrX/////AP///wASkLf/EpC3/wDM//8AzP//AMz//9j3///Y9///2Pf//9j3///Y9///2Pf//9j3///Y9///2Pf//7fR2P+30dj/U19i/1NfYv9KVFf/SlRX/0pUV/9GUFP/RlBT/9j3///Y9///AMz//wDM//8AzP//EpC3/xKQt/////8A////ABKQt/8SkLf/AMz//wDM//8AzP//2Pf//9j3///Y9///2Pf//9j3///Y9///2Pf//9j3///Y9///t9HY/7fR2P9TX2L/U19i/0pUV/9KVFf/SlRX/0ZQU/9GUFP/2Pf//9j3//8AzP//AMz//wDM//8SkLf/EpC3/////wD///8AE5K5/xOSuf8AzP//AMz//wDM///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//wDM//8AzP//AMz//xOSuf8Tkrn/////AP///wATkrn/E5K5/wDM//8AzP//AMz//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//AMz//wDM//8AzP//E5K5/xOSuf////8A////ABOSuf8Tkrn/AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8Tkrn/E5K5/////wD///8AE5K5/xOSuf8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//xOSuf8Tkrn/////AP///wATkrn/E5K5/wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//E5K5/xOSuf////8A////ALO2t/+ztrf/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf+ztrf/s7a3/////wD///8As7a3/7O2t/8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/xOSuf8Tkrn/E5K5/7O2t/+ztrf/////AA==");
  5. Пятый и последний способ предполагает, что у вас имеется DLL, в которой картинки сохранены в качестве ресурса. Загрузка производится по номеру ресурса. В качестве примера взята системная shell32.dll, в которой хранится множество значков Windows.

    string str_path;
    StringInit(str_path,MAX_PATH);
    kernel32::GetSystemDirectoryW(str_path,MAX_PATH);
    
    notify_icon.Icon.LoadFromDLL(str_path+"\\shell32.dll",21);

Изначально значок создается невидимым. Чтобы его отобразить на экране, необходимо вызвать метод Show().

notify_icon.Show();

Чтобы скрыть значок, необходимо вызвать метод Hide().

notify_icon.Hide();


Окно уведомления (Balloon)

Иконка для окна уведомления может быть в двух размерах SMALL и LARGE. Методы загрузки те же, что и для значка. Если вы выбрали вариант работы с маленьким значком (SMALL), то размеры изображения для него должны строго соответствовать размерам, заданным системой, иначе он не будет отображаться. Именно поэтому советую использовать большой размер значка для окна уведомления либо использовать любые из встроенных типов значков (NIIF_INFO, NIIF_WARNING, NIIF_ERROR).

Размер загружаемого изображения должен быть не меньше, чем значение, возвращаемое GetSystemSize().

int balloon_icon_size = CNotifyIcon::GetSystemSize(ICON_LARGE);

Отобразить уведомление можно через вызов метода Show().

notify_icon.Balloon.Show("my message","my title",NIIF_USER,ICON_LARGE,3000);

Скрыть уведомление можно через метод Hide().

notify_icon.Balloon.Hide();

Малые значения временных интервалов в методе Show() системой не отрабатываются (минимальная задержка около 10 секунд), поэтому для устранения этого недостатка в MQL-программе приходится запускать таймер и принудительно вызывать метод Hide(). Этот алгоритм реализован внутри функции DoTimer().

void OnTimer()
  {
   notify_icon.DoTimer();
  }


Всплывающая подсказка (ToolTip)

Подсказка показывается при наведении курсора мыши на значок. При этом текст подсказки может содержать несколько строк через разделитель "\n".

notify_icon.ToolTip("My Indicator\nShow the ToolTip");

В заключение приведу пример работы библиотеки с индикатором. Цвет значка отображает показания iSAR. Синий - движение вверх, красный - вниз. Уведомления показываются при смене направления.

//+------------------------------------------------------------------+
//|                                    NotifyIcon_Test_Indicator.mq5 |
//+------------------------------------------------------------------+
#property copyright "avoitenko"
#property link      "https://www.mql5.com/en/users/avoitenko"
#property version   "1.00"

#property indicator_chart_window

#property indicator_buffers 2
#property indicator_plots 1

#property indicator_type1  DRAW_COLOR_ARROW
#property indicator_color1 clrDodgerBlue,clrOrangeRed
#property indicator_width1 2
#property indicator_style1 STYLE_SOLID
#property indicator_label1 "SAR"

#define BALLOON_TITLE "Parabolic SAR Event"

#include <NotifyIcon.mqh>

//--- input parameters
input uint   InpUniqueID = 1;   // Unique ID
input double InpSarStep  = 0.02;// SAR Step
input double InpSarMax   = 0.2; // SAR Maximum

//---
double SarBuffer[];
double ColorBuffer[];

//---
int sar_handle;
datetime time_alert;
CNotifyIcon notify_icon(InpUniqueID);
//+------------------------------------------------------------------+
int OnInit()
  {
//--- get SAR handle   
   sar_handle=iSAR(NULL,0,InpSarStep,InpSarMax);
   if(sar_handle==INVALID_HANDLE)
      return(INIT_FAILED);

//--- use buffers
   SetIndexBuffer(0,SarBuffer);
   SetIndexBuffer(1,ColorBuffer,INDICATOR_COLOR_INDEX);
   ArraySetAsSeries(SarBuffer,true);
   ArraySetAsSeries(ColorBuffer,true);

//--- set arrow code
   PlotIndexSetInteger(0,PLOT_ARROW,159);

   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);

//--- set tooltip
   notify_icon.ToolTip("Indicator ID#"+IntegerToString(InpUniqueID)+"\nParabolic SAR");

//--- load 64x64 large icon
   bool res=notify_icon.Balloon.Icon_Large.LoadFromBase64("Qk02QAAAAAAAADYAAAAoAAAAQAAAAEAAAAABACAAAAAAAABAAADDDgAAww4AAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv///1i3zdPjZaa4/1mgsf98p7X/u8zS/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD8/P1V8fX2hNbg48dql6X/VsXZ/4Xj9P+i5vX/jtbn/16ww/9LjqH/k7K7/9rj5uP///+E////Hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AzNjdMqi9xeMvXnL/Pp63/7H5///Y9f//0PP9/9X4///W+v//tO/8/3nG2P9Nl6v/aJmn/7rL0f/09/g7////NP///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wDy9fYd0d3gFrzN0o5Bb4D/DVNr/4Pa6v/Z+f//wuv4/8Hs+P/B7fj/wu75/830/v/S+///xPf//5jb7f9Qpb3/SImc/4mrtf/a4+bj////Tv///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AO/z9GeNq7T/DUVb/xVqhf+x+P//0fD7/7rr+P+87Pj/vO34/73t+P++7fj/vuv5/8bv+//R+P//yfn//6Ho+P9pvNL/Oo2j/2KTof+xxczj8fT1WP///0v///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xTnuM/wxEXP8abIT/tfj//8zv+v+26/j/uez5/7rs+P+77Pj/vOv4/73s+f+97fn/v+35/7zs+f/B8f3/xfj//7Hw/v+E0+f/T6S5/0qLnv+HqLT/1uDjl////3H///87////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cUZ3iv8JQ1z/GmyE/7P3///H7vr/suv4/7Xr+P+36vj/uOv4/7nr+f+77fn/vOz5/7/s+f+57Pj/tOr3/7br9/+67Pn/w/P+/770//+d4vP/aLzR/zuNpP9ikqD/pr3F/+7x8zX///8w////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FPfpH/B0Nc/xpuiP+x9v//we35/67q9/+y6ff/s+r4/7Xq9/+36/f/uez4/7rr+P+97Pn/uuz4/7Pq+P+06vf/ter3/7Pr9/+26/j/v/D9/8X4//+w8v//gdLm/0uguP87gpb/eJyn/8bT2P////9O////If///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xTn6R/wdGX/8ccY3/r/X//77t+f+r6ff/sOn4/7Hq+P+z6vf/tuv3/7jr+P+66/j/ve34/7vt+P+z6vj/tOr4/7Xr+P+16/j/tev4/7Tq+P+y6vf/uez5/8H1//+79v//leL0/1+4zv8yhJz/TIOT/6K4wP/q7/Fh////cf///yb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cU18kf8HRmH/HXKP/671//+77Pj/qOj2/63o9/+w6Pj/sur4/7Xr9/+47Pj/uuz4/77t+P+97fn/suv3/7Xs9/+27Pj/tuv4/7Xr+P+16/j/tev4/7Tr+P+z6vf/s+r3/7vw/f+89v//p+7//3fM4f9Am7H/MHiM/2+Uof/H1Nnj////U////yD///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FNe5H/BUVh/x9yjv+v9v//uOr4/6bn9/+r5/f/run3/7Lq+P+06vf/t+v4/7rs+P/D8///yfn//7rz//+47fn/t+r4/7fr+P+36/j/tuz4/7bs+P+16/j/tOv4/7Lq+P+v6ff/run3/7Ps+f+48///sfT//43f8/9UsMb/JXyS/0d+j/+iuL//6+/xsf///xz///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xTXyR/wZHYf8gdI//rfX//7Tq+f+n5/f/qef3/6zp9/+w6fj/tOr3/7fs+P+87/v/st7o/7HY4v+36vX/xf///8n///+98P7/uuv5/7rs+P+47Pj/t+z4/7br+P+06/j/sOr3/67p9/+s6ff/quj3/6rn9/+v7Pv/sfP//5zr/P9rxt3/M4+q/zB0if91maT/093h4////0////8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cU1/kv8GSWL/IXmR/6v1//+w6fn/oeb2/6jn9/+r6Pf/r+n4/7Pr+P+17Pf/1P///3mFh/8QDAz/Ly8w/1ZkZ/+UuL7/y////8j8//+87fn/vO35/7vt+P+57Pj/tuz4/7Pq+P+w6vf/run3/6vp9/+p6Pf/pef2/6Tn9v+n6Pf/rvH//6Tx//+C3PD/SarA/yF2jf9QgpL/p7zE4/b4+Tv///8R////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FNfZP/Bklk/yR1kv+q9f//q+r4/57m9v+m5vb/qej2/67p9/+z6/j/tOr3/9n///+7v8H/Ew8O/yglJP8dGBf/GhUU/0dRVP+w2d//0v///7/u+f+97vn/u+35/7nt+f+26/j/suv4/7Dq9/+t6ff/qen3/6fo9/+j5vb/oOb1/57l9f+f5fb/puv8/6bz//+P5v3/X8Pa/yqIof80d4v/lrC4/+Dn6uP///9D////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xTX2T/wZIZP8ldZP/qvX//6fp+P+b5fb/o+b2/6no9v+u6ff/s+v4/7fs9//H9///4u/z/ygmJv8cHBz/MDAw/y4uLP8cFhb/Jycm/6TJz//U////wfD5/7/u+f+87vn/uO34/7Xs+P+y6/j/rur3/6rp9/+n6Pf/pOf3/6Hm9f+d5fb/m+X1/5jj9f+W4/X/m+b3/5/t//+U7P//b9Pq/zWas/9nkZ7/o7e/qsXT2Anw9PVM////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cU19k/8GSGT/JnaT/6n1//+i6Pf/m+T2/6Hn9v+n5/b/ren3/7Lr+P+47ff/vfD7//L///9TT0//AAAA/wwMDP8kJCT/LzEx/yEfH/8hHh//o8bO/9H////C8Pn/v/D5/7vu+P+37fj/tO34/7Dr9/+s6vf/qOn3/6Xo9/+i5/b/nub1/5vl9f+Y5PX/lOP1/5Lh9P+Q4fT/kuL1/5bo+/+V7///TK3F/4eos/+9zNIr3+fpTP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FNfZL/Bkhj/yd2kv+p9///n+j3/5bl9v+f5/b/puf2/6vp9/+y6/j/uO34/7ru+P/V+v//1uHh/7KurP94eXn/FhUV/x0dHf8wMTH/Hxoa/zI3Nf/J8vr/zPv//8Lw+f+/7vn/uu/4/7ft+P+z7Pj/r+v3/6rq9/+m6Pf/ouf3/57m9v+b5vX/l+X1/5Ti9f+R4fT/juH1/4zg9P+J3/P/jOL1/43m/P91t8j/////qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xTH2S/wVHY/8odpH/q/f//5zn9/+X5Pb/neb2/6Tn9v+p6Pb/sOr4/7ft+P+97vj/we/5/9X9///q/////f///87Pzv8mIyP/ICAg/zIyMv8WEBD/Znd5/97////E8fr/wvD5/73v+P+67vj/te34/7Hs+P+s6vf/qOn3/6Tp9v+f5/b/m+X1/5jl9f+U4/X/keL0/43h9P+L4PP/iN/z/4Xe8/+I4fj/b9Dm/+bx9Mf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cUx9k/8FR2P/KHeS/6r1//+Z5/f/lOT2/5vl9v+i5/b/qej2/7Dq+P+27Pj/vO74/8Lv+f/H8fr/yPL6/8Tz/P/9////sLGy/w8ODv8tLi7/KScm/xwaGv+52t3/1f///8bx+v/C8Pn/vvD5/7nu+f+17fn/r+z3/6rq9/+l6ff/oOj2/53m9f+X5vX/lOP1/5Di9P+M4fT/ieHz/4bf8/+D3vP/gd70/3DU7P/D6PL/////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FMf5L/BEZj/yh1kf+q9///l+f3/5Lk9v+a5ff/oOf2/6jn9/+v6vj/tu34/7zu+P/D7/n/yPL6/9Hz+//I8vr/zvn///z///9IRET/Ghoa/zAxMf8WEBD/bX1//+H////K8/v/xfL6/8Lw+f+87/j/t+75/7Ps+P+t6/f/p+r3/6Po9/+e5vX/mOX1/5Tj9P+Q4vT/jOH0/4jf8/+F3/P/gN3z/37e8v9w1+//l9Xk/////zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xTH6S/wRGY/8pdZL/q/b//5Pm9v+R4/X/mOb2/6Dn9v+n6Pb/rur3/7bt+f+87vj/wu/5/8jx+v/O9Pv/zvT7/8Xw+//2////oaOj/xAQEP8xMjL/Ix8f/y0uMP/Q9Pv/0/v//8jy+v/E8vn/wPD5/7rv+f+27fj/r+z3/6rq9/+l6ff/n+f2/5rm9f+V4/X/kOL0/4vh9P+I4PP/hN7z/4Dd8/983PL/cNjw/43V5v/+/v44////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cUt/kv8DR2P/KXiS/6v1//+R5/f/kOP1/5fl9v+e5/f/p+n3/67r+P+17Pn/u+75/8Hw+f/J8vr/zvP7/9L0+//J8/r/3v///+Pp6f8lJCT/Jicn/y4uLv8RDg3/nbO0/+T////L8/r/yPP6/8Px+v++8Pr/ue75/7Pt+P+s6/f/p+n3/6Ho9v+b5vb/luX1/5Hi9P+M4fT/h9/z/4Le8/9/3fL/e9zy/23Y8f+K1uj//v7+OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FLfZL/A0dj/yl4kf+q9f//kOf3/4/j9f+X5vb/nuf3/6bp9v+t6vf/tez4/7vu+f/C8Pn/yfL6/8/0+v/T9Pv/z/T6/9L4///8////UE5P/xwcHP8xMTH/Dw0L/2t4ev/o////0fb8/8z0+v/G8/r/wfH6/7zv+f+17fj/r+z4/6nr+f+i6ff/nef2/5fl9f+S4/X/jOL1/4fg9P+D3vT/fd3z/3nb8v9s1/D/i9bo//7+/jj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xS3yS/wNGY/8qd5L/q/f//4zl9/+N5PX/leX1/53n9/+l6fb/rev3/7Tt+P+77vj/wfD5/8ny+v/P9Pv/1fX8/9L1+//Q9v3/+P///46Mjf8UFBT/MDEx/xwbGv84PD3/4////9f8///P9fv/yvT7/8Xz+/+/8fr/uO/5/7Lu+f+r7Pj/per3/5/o9/+Y5vb/k+X1/43j9f+H4fT/gt/z/37e8/953PP/adjy/4nX6P/+/v44////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cUp8kv8CRmL/KneS/6z3//+L5ff/jOT1/5Xm9v+d5/b/pOn3/63r+P+07fn/uu75/8Lw+v/I8/r/zvX7/9b2/P/X9vz/zvb8//P///+6ubn/FxcX/y8vL/8mJCT/Gxka/8fh5P/j////0/f8/871/P/J9Pz/w/L7/7zx+f+17/n/r+35/6jq+P+h6ff/muf2/5Tl9f+O4vX/iOD0/4Le9P993vP/d9zz/2jY8f+H1uj//v7+OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FKfJH/AUdi/yp2kv+t9///iub3/4vk9f+V5vb/nOf2/6To9/+s6/j/s+35/7vu+f/C8Pn/yfL6/8/1+//W9fz/2vf8/9P2/P/n////3eHh/ywrK/8nKCj/LS0t/xMPD/+luLv/7f///9X2/P/S9fz/zPX8/8bz+//A8fr/uPD5/7Lu+f+q6/j/o+n3/5vn9v+V5fX/j+L1/4jg9P+D3vT/fd3z/3fb8/9n1/H/htbo/////zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xSn6R/wFGYP8rd5D/rPf//4rl9/+L4/X/k+b1/5zn9v+l6Pb/rOv3/7Tu+P+77/j/wvH5/8nz+v/P9fv/1vf8/934/f/Z9/z/3fv///n///8/PT3/ISEh/zAyMv8KBwf/e4iJ//X////Z+Pz/1fb8/9D2+//J9Pv/xPL6/7zx+v+07/n/rO34/6Xq+P+e5/f/luX1/5Dk9f+J4fT/gt7z/3vd8/922/L/Zdfx/4XV5v////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cUp7kf8BRGH/K3WR/634//+I5vf/h+P1/5Ll9f+c6Pb/puj2/63r+P+z7fn/u+/5/8Hw+f/J8/r/0fX8/9f3/P/e+P3/3vn9/9n5/f//////bGlp/xwcHP8xMjL/FhQS/1JYWf/t////3/r+/9j4/P/T+Pz/zfb7/8bz+/+/8vr/t+/5/6/s+P+o6vf/n+j3/5jm9v+Q5fX/iuP0/4Pg8/973fP/dNzy/2TX8P+E0+T/////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FKe5H/AURh/yx3kf+u+P//iOf3/4rk9f+U5fX/nej2/6Xp9/+t6/j/tO35/7zv+f/C8fn/yvP6/9H1/P/Y9/z/3/n9/+P6/f/c+v3//P///52gn/8WFhb/MDAw/yEhIf8sLi//5v3+/+b////b+P3/1vj8/9D2/P/K9Pv/wvP7/7vw+f+y7fj/quv3/6Hp9/+a5/b/k+X1/4vi9P+D4PP/fN7z/3Tb8v9j1/L/gtDi/////zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xSnyS/wFGYv8rdpL/r/j//4rn9/+L5PX/leb2/57o9v+m6vf/ruv4/7Xu+f+88Pn/w/H6/8vz+v/S9vv/2fj8/+D5/f/o+/7/5f////X////Exsf/FhQU/y0tLf8pKSn/FxUV/8bb3f/t////3vr9/9n4/f/U9vz/zPX7/8Tz+/+98Pn/tO74/6zs+P+k6vf/nOj2/5Tl9v+L4/P/g+Dz/3ve8v9z2/L/Ytfz/4HR4v////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cUp+kf8BRmL/LXiS/7H4//+K5/f/juT2/5bm9v+f5/b/p+r3/6/s+P+17vn/vfD5/8Ty+v/M9Pr/0/b7/9r4/P/h+/7/4/j6/+D29///////8vb1/zIyMv8mJib/LS0t/xMREf+bqav/9f///+D7/f/b+f3/1ff8/871+//H9Pv/v/L6/7bw+f+u7Pf/per3/5zn9v+U5Pb/jOH0/4Lg8/963vL/ctzx/2DX8v+B0eP/////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FKe5L/AUVj/y14k/+x+P//i+f3/47k9v+W5vb/n+j2/6jq9/+v7Pj/te75/73v+f/E8vr/zPT6/9P2+//a+Pz/6v///97n6P8xMTL/eYOE/93l5v9WV1f/IiIi/y8vL/8RDw//c3x9//j////j/P7/3fn9/9f3/P/Q9fv/yfT7/8Hy+v+48Pn/r+33/6bq9/+e6Pb/leX2/4zj9f+C4PP/et7y/3Hc8f9g1/H/gtLk/////zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xSn6S/wFGYv8teZP/svj//4vn9/+O5fb/mOb2/6Do9v+o6ff/sOv4/7fu+f+97/n/xPL6/8z0+//T9fr/2fj8/+b////7/v7/Kykp/woIB/8sLCz/MjMz/y4uLv8wMDD/GhkZ/05TVP/s////5f3//975/f/Z+Pz/0/b7/8v1+//D8/r/u/D5/7Pt+f+p6vf/oOn2/5fl9v+N5PT/g+Hz/3re8/9x3PL/X9fy/4PU5f////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cUp8kv8BR2P/LXqT/7H4//+K5/j/jeX2/5fm9v+f6Pb/qOr3/6/s+P+27/n/vPD5/8Px+v/L8/v/0vX7/9n3/P/j+////P///01MTP8dHR3/Kysr/ysrK/8uLi7/Li4u/ycnJv8uLzD/4fr9//n////p////3Pn9/9T3+//N9fr/xfP6/73w+f+17vn/q+z3/6Lp9v+Z5fb/j+P1/4Tg9P973vP/ct3y/1/X8f+D1uf/////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FKfJL/AUdi/y15k/+x+P//iuf4/4zl9v+W5vb/n+f2/6fp9/+u7Pj/tu/5/7vw+f/D8fr/yvP7/9H1+//Z9/z/4fv+//////9XVlb/AAAA/xgYGP8nJyf/Li4u/y4uLv8tLS7/IyMj/0RHR/+ToaP/0uvs/+/////k////z/X7/8fz+v++8fn/tu74/6zs+P+j6ff/mub3/4/j9f+F4fX/fN/z/3Ld8v9f1/H/g9bn/////zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xSnyT/wFGZP8teZb/sfj//4nm9/+M5Pb/lub2/57n9v+m6ff/ruv4/7Xt+f+67/n/wPH6/8nz+v/Q9Pv/1/f7/935/P/x////5+fn/4WEhP8yMjL/DQ0N/yEhIf8vLy//Li4u/y4uLv8kIyP/GhcX/ysqK/9dZWf/qcHE/9j+///I8/v/v/H5/7fu+f+u7Pn/pen3/5vn9v+Q5PX/huH0/3ze9P9y3PL/X9jx/4TW5/////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cUp9kf8BSGf/LX2Y/7H3//+I5vf/i+T1/5Pm9v+c5/b/pOn2/6zq9/+z7fn/ue/5/7/w+f/H8/r/zvT7/9X3+//d+Pz/4Pn8//X//////////////7y8vP8zMzP/JCQk/y4uLv8uLi7/LC4u/y8vL/8pKCj/ExEP/xUSE//Q9Pn/zvj//8Dw+f+47vn/ruz4/6Xp9/+b5/b/kOP1/4Xh9P973vT/dNzy/1/Y8f+E1uj/////Qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FKfpX/AUlo/y1+mf+w+f//h+b3/4jk9f+R5vb/mef3/6Ho9v+q6/f/sez4/7bu+f+97/n/w/H6/8vz+v/T9vv/2/f8/+D4/P/l+v3/5/v9//b/////////dnl5/xYUFP8wMDD/LS0t/yUlJf8PDw//HRwc/yMiIv8hIB//vNvg/9P9///B8fr/ue/4/6/s+P+l6ff/m+b2/4/j9f+F4vT/e9/0/3Hc8v9e2PD/gNXo/////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xSn+W/wFLav8tf5n/sPf//4Pm9/+F4/X/j+X2/5fm9v+e5/f/p+r2/6/s+P+07fj/u+/5/8Lx+f/I8/r/0PX7/9f2/P/e9/z/4/r9/+j7/f/r/P7//////5+io/8WFRX/Ly8v/ykpKf8oKSn/bm9u/yYmJv8CAAD/AAAA/6S+w//Y////wvH6/7ru+f+w6/j/pur3/5rn9v+P5PT/hOH0/3ne8/9w3PP/Xdfw/3zV5/////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cUp/lP8BTW3/LYGc/6/3//9/5vf/g+P1/4zl9f+T5vb/nOj2/6Tq9/+s7Pf/s+z4/7jv+f+/8Pn/xvP6/830+//V9fz/2/f8/+H5/P/n+v3/6/v9///////U1tX/FhYW/ysrK/8pKSn/FBQU/9Le3//9////nqGh/zY0M/+Jn6P/2f///8Lv+f+67/n/sOz4/6Xp9/+Z5vb/j+P1/4Th8/953vP/b9zy/1vX8P971ef/////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FKgZb/AVBx/y2Dnv+u9///fOX2/4Dj9f+K5PX/keX2/5jn9/+g6ff/p+v3/7Dr9/+27fn/vO/5/8Px+v/K8/v/0vX7/9j2+//f+Pz/5Pr9/+n7/f/1////9/n6/zc3N/8jIyP/Ly8v/xMREf99jZD/9f////b////r////zu/0/833/f/C8fn/uu75/6/r+P+j6fb/meb2/43j9f+D4fT/eN7z/23c8/9a1/H/e9Xn/////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xSoKX/wFSdf8thaP/rff//3rl9v984vX/heT2/43l9f+T5vb/m+j3/6Tq9/+r6/f/s+z4/7rt+f/A8Pn/x/L7/870+//V9fv/3Pf8/+L5/f/n+v3/6/3+//////9vbW3/ERER/zI0NP8YFBT/Ulla/+7////Q9fz/1fj//9X5/f/J8vr/wfD6/7ju+P+t6/j/oun3/5fm9v+L4/b/gOD0/3be8/9s3PP/Wdfw/3vU6f////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cUqCmf8BVHr/Loim/6z3//925Pb/eeL1/4Hj9v+I5PX/j+b1/5fm9v+f6ff/pur3/67r9/+27fj/ve/5/8Tx+v/L8/r/0vT7/9j3+//e+Pz/5Pn9/+b6/f//////u729/w8PD/8uLi7/JCIi/yosLf/P7fD/2////9D0+//P9Pr/yPL6/7/w+v+27fj/q+r4/6Do9/+V5vb/ieT1/3/h8/903vP/advy/1fX8P961Oj/////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3FLhZz/AVh+/y6Kqv+r+P//ceT2/3Xh9P9+4vX/hOT2/4zl9v+S5vb/mej2/6Dp9/+p6vf/sOz4/7ju+f+/8Pr/x/L6/83z+v/U9Pv/2/f8/+H4/P/l+f3/8v////3+/v86Ojr/HR0d/y8uLv8UEA7/lquv/+X////O9Pv/zPP6/8bx+v+88Pn/s+z4/6jr9/+e6Pf/kub2/4fj9f984PP/cd3z/2bb8v9V1/H/edTp/////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9xT4mg/wBagf8uj67/rPf//23j9v9x4PT/eeL0/4Hj9f+H5fX/juX1/5Xm9v+c6Pb/o+r3/6rr9/+y7fn/u+/5/8Lw+f/K8vr/0fP7/9f2+//d9/z/4/n8/+X5/f//////l5aV/woKCv8wMDD/Hxsb/z5ERf/a////1Pr//8jw+v/C8fr/uu75/7Dt+P+m6vf/nOj2/5Dl9f+E4vT/ed/z/2/c8v9l2/L/UNbw/3vV6f////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cV2Uq/8CYIf/KImq/674//9q4fb/bOD0/3bi9P984/X/guT1/4nl9v+Q5vX/l+j2/57p9v+k6vf/rOz4/7Tu+f+97/n/xfH5/83z+v/U9fv/2vb7/+D4/P/k+fz/8/////f5+v8zMTL/HR0d/zAwMP8VERH/gJWY/+X////K+P//ve75/7bt+P+u7Pj/o+n3/5jn9v+N5fX/guL0/3ff8/9t3fL/Y9vy/1HW8f941en/////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP7+/nFpnLH/EGuQ/xd4nv+v9v7/cuT3/2Xf9P9w4fX/d+P0/37j9f+E5PX/i+X2/5Hm9v+X6Pb/n+n3/6bq+P+u7fn/tu75/77v+f/G8vr/zvP6/9T1+//b9vz/4fj8/+P5/f//////u7u6/w0NDf8pKSr/Kiop/x8cG/+En6L/z////83///++/v//qev4/6Dp9/+V5/b/iuP2/3/i9P903/T/atzz/2DZ8v9N1PH/ddXo/////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD9/v5xfKm7/yZ7nv8Jc53/kuPw/5Hu/f9a3PP/bOD0/3Lh9P944vT/f+P0/4Tl9f+L5fX/kub2/5no9/+f6ff/qOr4/6/t+P+27fj/v/D6/8fy+v/O8/r/1fX7/9v2/P/g+Pz/5/3///////90dHT/BgYG/y8vL/8qKSj/GxcX/0lTV/93lZr/jby//6vz//+c6Pj/keX1/4fj9f984PP/cd3z/2fb8v9c2fH/SdXw/3bW6f////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////VavH0v87iKb/C3Ca/1Gwy/+6////YN70/2Pg9P9t4PT/c+H0/3rj9P+A5PX/huT1/4zm9v+T6Pf/men3/6Hq9/+o6/j/sO34/7jv+f/A8fr/yPL6/8/0+//V9vv/2/f8/+D4/P/w/////////0pKSv8DAgL/Kysr/y4uLv8mIiH/EQgH/yEgI/+f5fT/nO/+/4zl9f+C4/X/d+Dz/23e8/9k2/L/Wdnx/0fW8P931un/////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///znO3eT/Vpew/yyEpv8NeaL/oOfz/5/z/v9V3PH/Y+D0/2/h9P904vX/e+P1/4Hj9f+G5Pb/jeb2/5Po9v+Z6ff/oer4/6js+P+w7fn/uPD5/7/x+v/H8vr/zvT6/9T1+//Z9vz/2/f8//P////6////WlhY/wICAv8dHR3/Li4u/y0uLv8WDg7/fbjE/5v2//+H5PX/fuL1/3Pf9P9p3PL/YNry/1bY8f9F1u//d9fq/////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A9/n6qninvP9Fkq7/EnWe/yaRtf+9+v//nvP+/13e8v9c3fT/aeH0/3Pi9P974/X/geT2/4fl9v+O5/b/k+j2/5rp9v+i6vj/qez5/7Du+f+37/n/v/H6/8by+v/N9Pv/0/b7/9j2/P/Y9/z/8P////////+NjY3/FBMT/wIAAP8VFhb/DAMB/0lrcf+X+///geT2/3jh9f9u3vT/ZNzz/1za8v9R2PH/Qtbw/3fX6v////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1W809z/VJSt/zWJq/8DbZv/Lpe2/7Xw+//J////nvH+/3rn9/9q4PP/ad/0/3bj9f9/5Pb/huX2/43o9v+U6Pb/m+n3/6Lr+P+p7fj/r+75/7fv+v++8Pr/xfL6/8v1+//Q9fv/1PX8/9b3+//i/P///////9bd3f93eHj/KiMi/wwDAP8hLS7/huj6/3zl+/9x3/T/aN7z/1/b8/9W2fL/Tdfx/z/V8P941+v/////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/f7+qoiwv/9CiKX/IHqh/wBmk/8PeKL/YrXM/6nl7//N+f//yv///672/v+J6fj/duP2/3bi9f9+5vb/i+f2/5Ho9v+a6vf/oez4/6fs+P+u7vn/te/5/7vx+f/C8vr/yPP6/8z0+//R9fv/0/b7/9X3/P/i////1P///9D5+f+51dr/hcXP/3jh9P9z4fX/at7z/2Lc8v9Z2vL/Udjx/0jW8P881O//edvs/////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x38/f2qlrjH/0KFof8PapH/AF+I/wBchv8BZ5D/JIOl/2qyx/+r4Oz/2f///9j///+6+f//me35/4Lm9v+A5fb/ieX3/5fq+P+e6/j/p+z5/63t+f+z7/n/ufD6/77x+v/C8vr/x/P6/8z1+v/O9Pv/0/X7/7jv+/+G6/7/i/L//4Tw//9y4fX/a9/z/2Pd8/9a2/L/U9nx/0zX8P9E1fD/OtTw/3vc7f////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf///47h6+7jkLXE/0iIof8bbYz/Al6D/wBZg/8AV3//AWSL/yN+oP9qs8j/rNvm/93////j////yfz//6fw+/+O6fj/jej4/5Xr+P+i7Pj/qu74/6/v+f+18Pn/uvD6/7/x+v/D8vr/xfP7/8jz+//S9/v/qe35/2nf8v9q3/T/at/0/2Pe8/9c3fP/VNry/03Y8f9H1/D/PtXw/zfU7/9+3O3/////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hfz9/Y74+vuq0ODl/5i5yP9Lhp7/G2mI/wBZff8AVHv/AFN5/wBehP8jeZr/YavB/6vZ4//f////7P///9T+//+y8vv/muv5/5Xp+f+f7fn/qu/5/7Hv+f+28Pr/ufD6/7rx+v+/8vr/wvL6/832+/+e6vf/Xdzz/17d8/9a3PP/U9vy/03Z8f9H1/H/Qdbx/znU8P810+//f9zt/////17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zn+/v6O9fj5qtvm6uOdu8n/SIOb/xhmhf8BVnj/AFF2/wBTef8AWIL/Inqc/16kvf+t2eT/4Pv9//L////b////ufT//6Pt+f+c6/n/pu75/67v+f+y8Pr/tvD6/7fx+v+68fr/x/P6/47n9v9L2vL/Tdry/0zZ8f9H2fH/Qtbx/z3V8f8y0/D/NNPv/4Pd7v////9L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////cvf5+qrj7O/joL3J/0eCmf8YZIT/BVl7/wBSd/8AVnv/AFuC/yN8nP9cobj/qNnk/933+f/t////3P///7v0//+p8Pr/ouz6/6fu+v+s7/n/sO/6/7Lw+v+98vr/gub2/0LY8v9A2PH/Qdfw/zzV8P831PD/L9Lw/zXT8P+I3+7/////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf///3L+/v6q7vP1x63G0f9VjaD/IGqG/wdZfP8AWHr/AFh9/wReg/8ie5r/WaC2/5vQ3v/W9vr/5v///9v///+/9///qPH6/6Hs+f+g7vn/qe/6/7Tx+f+A5fb/O9fx/zXW8P841fD/NdXw/y7T8P841PD/jODv/////zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9y/v7+qufu8ce4zdb/V42h/yNrh/8LXn//AVl7/wBXff8JYYb/G3KT/1Sguf+Px9j/zfb6/+P////b////wPn//6fw+v+d7fj/o+34/33m9v832vL/LdXx/zbV8P8t1O//Qdjw/4zf7v////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cv7+/qrq8PPHtMzT/2iYqv8haIf/B1p9/wNafv8AV3z/B2CF/xhvkv9GmrP/h8PU/8Px+P/d////1////775//+v8fr/g+j3/zbZ8P8i1PD/KNXx/2Pf8/+w6fT/////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z/+/v5x9vn6hNDe5P99p7f/KG2J/whae/8BV3r/AVp8/wBdgv8ScJP/N46s/3y/0f+16vL/2P///97///+2+f//Zub3/2bo+v9z3u7/9fz9x////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8s////Xvr7/Jfc5+vjlLXE/zp6lP8YZYP/B1p9/wNZf/8CWYD/DWuQ/y6Fpf9yvc//r9/p/7zy+v+c4e3/6fj84////zL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////279/f5Y7vP1WMTW3v+ErL3/U42k/0CDnP8yepf/KHGR/yNwkP9jnLD//P39Zf///xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AA==");
   if(!res)
      Print("Error: ",notify_icon.GetLastError());

//--- show icon
   notify_icon.Show();

//--- run timer
   EventSetMillisecondTimer(500);

//--- done
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTimer()
  {
   notify_icon.DoTimer();
  }
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   ArraySetAsSeries(close,true);
   ArraySetAsSeries(time,true);

//--- few bars for calculation
   if(rates_total<50)
      return (0);

   int limit;
   if(prev_calculated==0)
     {
      //--- first calc
      limit=rates_total-2;
      ArrayInitialize(SarBuffer,EMPTY_VALUE);
      time_alert=time[0];
      notify_icon.Balloon.Show("SAR started on "+_Symbol+" "+TimeframeToString()+".",BALLOON_TITLE,NIIF_USER,ICON_LARGE,2500);
     }
   else
     {
      //--- regular calc
      limit=rates_total-prev_calculated;
     }

//--- get SAR values
   if(CopyBuffer(sar_handle,0,0,limit+1,SarBuffer)!=limit+1)
      return(0);

//--- main cycle
   for(int i=limit; i>=0 && !_StopFlag; i--)
     {
      if(close[i]>SarBuffer[i])
         ColorBuffer[i]=0;
      else
         ColorBuffer[i]=1;
     }

//--- set icon
   if(SarBuffer[0]<close[0])
     {
      if(notify_icon.Tag()!=1)
        {
         notify_icon.Tag(1);
         notify_icon.Icon.LoadFromBase64("Qk02EAAAAAAAADYAAAAoAAAAIAAAACAAAAABACAAAAAAAAAQAAASCwAAEgsAAAAAAAAAAAAA////AKCak/+gmpP/nl0U/55dFP+eXRT/nl0U/55dFP+eXhX/nl4V/55eFf+eXhX/nl4V/55eFf+eXhX/nl4V/55eFf+eXhX/nl4V/55dFP+eXRT/nl0U/55fFf+eXxX/nl4V/55eFf+eXhX/nl4V/55eFf+gmpP/oJqT/////wD///8AoJqT/6Cak/+eXRT/nl0U/55dFP+eXRT/nl0U/55eFf+eXhX/nl4V/55eFf+eXhX/nl4V/55eFf+eXhX/nl4V/55eFf+eXhX/nl0U/55dFP+eXRT/nl8V/55fFf+eXhX/nl4V/55eFf+eXhX/nl4V/6Cak/+gmpP/////AP///wCgXxb/oF8W//+HD///hw///4cP///Dh///w4f//8eO///Hjv//2bL//9my///Zsv//6dT//+nU///y5P//8uT//+nU///p1P//2bL//9my///Zsv//x47//8eO///Dh///w4f//4cP//+HD///hw//oF8W/6BfFv8AAAAD////AKBfFv+gXxb//4cP//+HD///hw///8OH///Dh///x47//8eO///Zsv//2bL//9my///p1P//6dT///Lk///y5P//6dT//+nU///Zsv//2bL//9my///Hjv//x47//8OH///Dh///hw///4cP//+HD/+gXxb/oF8W/wAAAAL///8AoF8W/6BfFv//hw///4cP//+HD///w4f//8OH///Hjv//x47//9my///Zsv//2bL//+nU///p1P//8uT///Lk///p1P//6dT//9my///Zsv//2bL//8eO///Hjv//w4f//8OH//+HD///hw///4cP/6BfFv+gXxb/AAAAAv///wCjYhf/o2IX//+HD///hw///4cP/w9XZf8PV2X/AE5i/wBOYv8ATmL/AE5i/wBOYv//p03//6dN//+nTf//p03//6dN//+nTf//p03//6dN//+nTf//p03//6dN//+nTf//p03//4cP//+HD///hw//o2IX/6NiF/8AAAAC////AKNiF/+jYhf//4cP//+HD///hw//D1dl/w9XZf8ATmL/AE5i/wBOYv8ATmL/AE5i//+nTf//p03//6dN//+nTf//p03//6dN//+nTf//p03//6dN//+nTf//p03//6dN//+nTf//hw///4cP//+HD/+jYhf/o2IX/wAAAAL///8ApmQX/6ZkF//9hg///YYP//2GD///p03//6dN//+nTf//p03/B1Rm/wdUZv8HVGb//4cP//+HD///p03//6dN//+nTf//p03//6dN//+nTf//p03//6dN//+nTf//p03//6dN//+HD///hw///4cP/6ZjF/+mYxf/AAAAAv///wCmZBf/pmQX//2GD//9hg///YYP//+nTf//p03//6dN//+nTf8HVGb/B1Rm/wdUZv//hw///4cP//+nTf//p03//6dN//+nTf//p03//6dN//+nTf//p03//6dN//+nTf//p03//4cP//+HD///hw//pmMX/6ZjF/8AAAAC////AKlmGf+pZhn//4cP//+HD///hw///6dN//+nTf//p03//6dN//+HD///hw///4cP/w5MXP8OTFz/+5Yz//uWM///p03//6dN//+nTf//p03//6dN//+nTf//p03//6dN//+nTf//hw///4cP//+HD/+pZhj/qWYY/wAAAAL///8AqWYZ/6lmGf//hw///4cP//+HD///p03//6dN//+nTf//p03//4cP//+HD///hw//Dkxc/w5MXP/7ljP/+5Yz//+nTf//p03//6dN//+nTf//p03//6dN//+nTf//p03//6dN//+HD///hw///4cP/6lmGP+pZhj/AAAAAv///wCsaBr/rGga//+HD///hw///4cP//+0af//tGn//7Rp//+0af//p03//6dN//+nTf8VRlL/FUZS//+nTf//p03//7Rp//+0af//tGn//7Rp//+0af//tGn//7Rp//+0af//tGn//4cP//+HD///hw//rGcZ/6xnGf8AAAAC////AKxoGv+saBr//4cP//+HD///hw///7Rp//+0af//tGn//7Rp//+nTf//p03//6dN/xVGUv8VRlL//6dN//+nTf//tGn//7Rp//+0af//tGn//7Rp//+0af//tGn//7Rp//+0af//hw///4cP//+HD/+sZxn/rGcZ/wAAAAL///8ArGga/6xoGv//hw///4cP//+HD///tGn//7Rp//+0af//tGn//6dN//+nTf//p03/FUZS/xVGUv//p03//6dN//+0af//tGn//7Rp//+0af//tGn//7Rp//+0af//tGn//7Rp//+HD///hw///4cP/6xnGf+sZxn/AAAAAv///wCwaxv/sGsb//+HD///hw///4cP//+0af//tGn//7Rp//+0af/5sGf/+bBn//mwZ/8mV2L/Jldi/7F/TP+xf0z//8OH///Dh///w4f//8OH///Dh///w4f//8OH///Dh///w4f//4cP//+HD///hw//sGsb/7BrG/8AAAAC////ALBrG/+waxv//4cP//+HD///hw///7Rp//+0af//tGn//7Rp//mwZ//5sGf/+bBn/yZXYv8mV2L/sX9M/7F/TP//w4f//8OH///Dh///w4f//8OH///Dh///w4f//8OH///Dh///hw///4cP//+HD/+waxv/sGsb/wAAAAL///8AtG4d/7RuHf//hw///4cP//+HD///w4f//8OH/+62f//utn//QF5i/0BeYv9AXmL/KUlR/ylJUf8qTFT/KkxU/zhbYv84W2L/vpJn/76SZ/++kmf//8OH///Dh///w4f//8OH//+HD///hw///4cP/7RuHf+0bh3/AAAAAv///wC0bh3/tG4d//+HD///hw///4cP///Dh///w4f/7rZ//+62f/9AXmL/QF5i/0BeYv8pSVH/KUlR/ypMVP8qTFT/OFti/zhbYv++kmf/vpJn/76SZ///w4f//8OH///Dh///w4f//4cP//+HD///hw//tG4d/7RuHf8AAAAC////ALdwHv+3cB7//4cP//+HD///hw///9Kl///Spf/7z6P/+8+j/9+3kf/ft5H/37eR/7eXd/+3l3f/L0ZM/y9GTP/Rq4f/0auH//PInf/zyJ3/88id///Spf//0qX//9Kl///Spf//hw///4cP//+HD/+3cB7/t3Ae/wAAAAL///8At3Ae/7dwHv//hw///4cP//+HD///0qX//9Kl//vPo//7z6P/37eR/9+3kf/ft5H/t5d3/7eXd/8vRkz/L0ZM/9Grh//Rq4f/88id//PInf/zyJ3//9Kl///Spf//0qX//9Kl//+HD///hw///4cP/7dwHv+3cB7/AAAAAv///wC3cB7/t3Ae//+HD///hw///4cP///Spf//0qX/+8+j//vPo//ft5H/37eR/9+3kf+3l3f/t5d3/y9GTP8vRkz/0auH/9Grh//zyJ3/88id//PInf//0qX//9Kl///Spf//0qX//4cP//+HD///hw//t3Ae/7dwHv8AAAAC////ALlxH/+5cR///4cP//+HD///hw///+DB///gwf//4MH//+DB///gwf//4MH//+DB//nbvf/5273/Sltf/0pbX/+Ug3L/lINy//PVt//z1bf/89W3/+7Rtf/u0bX/79G1/+/Rtf//hw///4cP//+HD/+5cR//uXEf/wAAAAL///8AuXEf/7lxH///hw///4cP//+HD///4MH//+DB///gwf//4MH//+DB///gwf//4MH/+du9//nbvf9KW1//Sltf/5SDcv+Ug3L/89W3//PVt//z1bf/7tG1/+7Rtf/v0bX/79G1//+HD///hw///4cP/7lxH/+5cR//AAAAAv///wC7ciD/u3Ig//+HD///hw///4cP///t2v//7dr//+3a///t2v//7dr//+3a///t2v//7dr//+3a/9rKu//ayrv/V2Bh/1dgYf9KVFf/SlRX/0pUV/9GUFP/RlBT///t2v//7dr//4cP//+HD///hw//u3Ig/7tyIP8AAAAC////ALtyIP+7ciD//4cP//+HD///hw///+3a///t2v//7dr//+3a///t2v//7dr//+3a///t2v//7dr/2sq7/9rKu/9XYGH/V2Bh/0pUV/9KVFf/SlRX/0ZQU/9GUFP//+3a///t2v//hw///4cP//+HD/+7ciD/u3Ig/wAAAAL///8AvXQh/710If//hw///4cP//+HD///9/D///fw///38P//9/D///fw///38P//9/D///fw///38P//9/D///fw///38P//9/D///fw///38P//9/D///fw///38P//9/D///fw//+HD///hw///4cP/710If+9dCH/AAAAAv///wC9dCH/vXQh//+HD///hw///4cP///38P//9/D///fw///38P//9/D///fw///38P//9/D///fw///38P//9/D///fw///38P//9/D///fw///38P//9/D///fw///38P//9/D//4cP//+HD///hw//vXQh/710If////8A////AL10If+9dCH//4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD/+9dCH/vXQh/////wD///8AvXQh/710If//hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP/710If+9dCH/////AP///wC9dCH/vXQh//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw//vXQh/710If////8A////ALu5t/+7ubf/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+7ubf/u7m3/////wD///8Au7m3/7u5t/+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/710If+9dCH/vXQh/7u5t/+7ubf/////AA==");
        }
     }
   else
     {
      if(notify_icon.Tag()!=-1)
        {
         notify_icon.Tag(-1);
         notify_icon.Icon.LoadFromBase64("Qk02EAAAAAAAADYAAAAoAAAAIAAAACAAAAABACAAAAAAAAAQAAASCwAAEgsAAAAAAAAAAAAA////AIyXmv+Ml5r/BSWY/wUlmP8FJZj/BSWY/wUlmP8GJpj/BiaY/wYmmP8GJpj/BiaY/wYmmP8GJpj/BiaY/wYmmP8GJpj/BiaY/wUlmP8FJZj/BSWY/wYlmP8GJZj/BiaY/wYmmP8GJpj/BiaY/wYmmP+Ml5r/jJea/////wD///8AjJea/4yXmv8FJZj/BSWY/wUlmP8FJZj/BSWY/wYmmP8GJpj/BiaY/wYmmP8GJpj/BiaY/wYmmP8GJpj/BiaY/wYmmP8GJpj/BSWY/wUlmP8FJZj/BiWY/wYlmP8GJpj/BiaY/wYmmP8GJpj/BiaY/4yXmv+Ml5r/////AP///wAHJ5r/Byea/wBA//8AQP//AED//4el//+Hpf//h6X//4el//+twf//rcH//63B///R3f//0d3//+Lx///i8f//0d3//9Hd//+twf//rcH//63B//+Hpf//h6X//4el//+Hpf//AED//wBA//8AQP//Byea/wcnmv8AAAAD////AAcnmv8HJ5r/AED//wBA//8AQP//h6X//4el//+Hpf//h6X//63B//+twf//rcH//9Hd///R3f//4vH//+Lx///R3f//0d3//63B//+twf//rcH//4el//+Hpf//h6X//4el//8AQP//AED//wBA//8HJ5r/Byea/wAAAAL///8AByea/wcnmv8AQP//AED//wBA//+Hpf//h6X//4el//+Hpf//rcH//63B//+twf//0d3//9Hd///i8f//4vH//9Hd///R3f//rcH//63B//+twf//h6X//4el//+Hpf//h6X//wBA//8AQP//AED//wcnmv8HJ5r/AAAAAv///wAIKJ3/CCid/wBA//8AQP//AED//wBUcf8AVHH/AE5i/wBOYv8ATmL/AE5i/wBOYv9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/AED//wBA//8AQP//CCid/wgonf8AAAAC////AAgonf8IKJ3/AED//wBA//8AQP//AFRx/wBUcf8ATmL/AE5i/wBOYv8ATmL/AE5i/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f8AQP//AED//wBA//8IKJ3/CCid/wAAAAL///8ACSmg/wkpoP8AP/3/AD/9/wA//f9ehfn/XoX5/16F+f9ehfn/BlRn/wZUZ/8GVGf/D0n3/w9J9/9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/wBA//8AQP//AED//wkqoP8JKqD/AAAAAv///wAJKaD/CSmg/wA//f8AP/3/AD/9/16F+f9ehfn/XoX5/16F+f8GVGf/BlRn/wZUZ/8PSff/D0n3/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/AED//wBA//8AQP//CSqg/wkqoP8AAAAC////AAsspP8LLKT/AED//wBA//8AQP//XoX5/16F+f9ehfn/XoX5/w9J9/8PSff/D0n3/w5MXP8OTFz/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f8AQP//AED//wBA//8KKqT/Ciqk/wAAAAL///8ACyyk/wsspP8AQP//AED//wBA//9ehfn/XoX5/16F+f9ehfn/D0n3/w9J9/8PSff/Dkxc/w5MXP9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/wBA//8AQP//AED//woqpP8KKqT/AAAAAv///wAMLqf/DC6n/wBA//8AQP//AED//16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f8VRlL/FUZS/16F+f9ehfn/gKD//4Cg//+AoP//gKD//4Cg//+AoP//gKD//4Cg//+AoP//AED//wBA//8AQP//Cy2n/wstp/8AAAAC////AAwup/8MLqf/AED//wBA//8AQP//XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/XoX5/xVGUv8VRlL/XoX5/16F+f+AoP//gKD//4Cg//+AoP//gKD//4Cg//+AoP//gKD//4Cg//8AQP//AED//wBA//8LLaf/Cy2n/wAAAAL///8ADC6n/wwup/8AQP//AED//wBA//9ehfn/XoX5/16F+f9ehfn/XoX5/16F+f9ehfn/FUZS/xVGUv9ehfn/XoX5/4Cg//+AoP//gKD//4Cg//+AoP//gKD//4Cg//+AoP//gKD//wBA//8AQP//AED//wstp/8LLaf/AAAAAv///wANL6v/DS+r/wBA//8AQP//AED//5+3//+ft///n7f//5+3//+ft///n7f//5+3//8lV2P/JVdj/0FbrP9BW6z/n7f//5+3//+ft///n7f//5+3//+ft///n7f//5+3//+ft///AED//wBA//8AQP//DS+r/w0vq/8AAAAC////AA0vq/8NL6v/AED//wBA//8AQP//n7f//5+3//+ft///n7f//5+3//+ft///n7f//yVXY/8lV2P/QVus/0FbrP+ft///n7f//5+3//+ft///n7f//5+3//+ft///n7f//5+3//8AQP//AED//wBA//8NL6v/DS+r/wAAAAL///8ADzGv/w8xr/8AQP//AED//wBA//+AoP//gKD//3eV7f93le3/NVtp/zVbaf81W2n/KUlR/ylJUf8qTFT/KkxU/zNZZf8zWWX/XXW6/111uv9ddbr/gKD//5+3//+ft///n7f//wBA//8AQP//AED//w8xr/8PMa//AAAAAv///wAPMa//DzGv/wBA//8AQP//AED//4Cg//+AoP//d5Xt/3eV7f81W2n/NVtp/zVbaf8pSVH/KUlR/ypMVP8qTFT/M1ll/zNZZf9ddbr/XXW6/111uv+ft///n7f//5+3//+ft///AED//wBA//8AQP//DzGv/w8xr/8AAAAC////ABAzsv8QM7L/AED//wBA//8AQP//n7f//5+3//+dtPv/nbT7/4qf3f+Kn93/ip/d/2+Asv9vgLL/L0ZM/y9GTP+AlM7/gJTO/5eu8v+XrvL/l67y/5+3//+ft///n7f//5+3//8AQP//AED//wBA//8QM7L/EDOy/wAAAAL///8AEDOy/xAzsv8AQP//AED//wBA//+ft///n7f//520+/+dtPv/ip/d/4qf3f+Kn93/b4Cy/2+Asv8vRkz/L0ZM/4CUzv+AlM7/l67y/5eu8v+XrvL/n7f//5+3//+ft///n7f//wBA//8AQP//AED//xAzsv8QM7L/AAAAAv///wAQM7L/EDOy/wBA//8AQP//AED//5+3//+ft///nbT7/520+/+Kn93/ip/d/4qf3f9vgLL/b4Cy/y9GTP8vRkz/gJTO/4CUzv+XrvL/l67y/5eu8v+ft///n7f//5+3//+ft///AED//wBA//8AQP//EDOy/xAzsv8AAAAC////ABE0tf8RNLX/AED//wBA//8AQP//vc7//73O//+9zv//vc7//73O//+9zv//vc7//7nJ+f+5yfn/R1pg/0daYP9pc43/aXON/7PD8v+zw/L/s8Py/7C/7f+wv+3/sMDu/7DA7v8AQP//AED//wBA//8RNLX/ETS1/wAAAAL///8AETS1/xE0tf8AQP//AED//wBA//+9zv//vc7//73O//+9zv//vc7//73O//+9zv//ucn5/7nJ+f9HWmD/R1pg/2lzjf9pc43/s8Py/7PD8v+zw/L/sL/t/7C/7f+wwO7/sMDu/wBA//8AQP//AED//xE0tf8RNLX/AAAAAv///wASNbf/EjW3/wBA//8AQP//AED//9jk///Y5P//2OT//9jk///Y5P//2OT//9jk///Y5P//2OT//7fE2P+3xNj/U19i/1NfYv9KVFf/SlRX/0pUV/9GUFP/RlBT/9jk///Y5P//AED//wBA//8AQP//EjW3/xI1t/8AAAAC////ABI1t/8SNbf/AED//wBA//8AQP//2OT//9jk///Y5P//2OT//9jk///Y5P//2OT//9jk///Y5P//t8TY/7fE2P9TX2L/U19i/0pUV/9KVFf/SlRX/0ZQU/9GUFP/2OT//9jk//8AQP//AED//wBA//8SNbf/EjW3/wAAAAL///8AEze5/xM3uf8AQP//AED//wBA///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//wBA//8AQP//AED//xM3uf8TN7n/AAAAAv///wATN7n/Eze5/wBA//8AQP//AED//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//7/z//+/8///v/P//AED//wBA//8AQP//Eze5/xM3uf////8A////ABM3uf8TN7n/AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8TN7n/Eze5/////wD///8AEze5/xM3uf8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//xM3uf8TN7n/////AP///wATN7n/Eze5/wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//AED//wBA//8AQP//Eze5/xM3uf////8A////ALO2t/+ztrf/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf+ztrf/s7a3/////wD///8As7a3/7O2t/8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/xM3uf8TN7n/Eze5/7O2t/+ztrf/////AA==");
        }
     }

//--- do alert up
   if(close[1]>SarBuffer[1] && 
      close[0]<SarBuffer[0])
     {
      if(time_alert!=time[0])
        {
         time_alert=time[0];
         notify_icon.Balloon.Show("SAR goes DOWN on "+_Symbol+" "+TimeframeToString()+".",BALLOON_TITLE,NIIF_USER,ICON_LARGE,2500);
        }
     }

//--- do alert down
   if(close[1]<SarBuffer[1] && 
      close[0]>SarBuffer[0])
     {
      if(time_alert!=time[0])
        {
         time_alert=time[0];
         notify_icon.Balloon.Show("SAR goes UP on "+_Symbol+" "+TimeframeToString()+".",BALLOON_TITLE,NIIF_USER,ICON_LARGE,2500);
        }
     }

//--- done
   return(rates_total);
  }
//+------------------------------------------------------------------+
string TimeframeToString(ENUM_TIMEFRAMES tf=PERIOD_CURRENT)//Convert timeframe to string
  {
   if(tf==PERIOD_CURRENT)
      tf=_Period;
   return StringSubstr(EnumToString(tf),7);
  }
//+------------------------------------------------------------------+

Библиотека работает в тестере стратегий. Также ее код совместим с MQL4. Дальнейшим развитием библиотеки видится добавление функционала для анимации значка. Надеюсь MQL сообщество внесет в это свой посильный вклад.

Alligator Alligator

Торговая система на основе индикатора Alligator. При возможности сначала переводит позицию в безубыток, а затем подключает трейлинг.

Flat Channel Flat Channel

Советник торгует в канале. При нахождении флетового канала или замедления движения рынка советник ставит отложенный ордер на пробой.

HarVesteR HarVesteR

Советник использует индикаторы: Moving Average Convergence/Divergence, MACD; Moving Average, MA; Average Directional Movement Index, ADX. Закрытие половины прибыльной позиции.

Locker Locker

Замок, локирование позиций.