Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Telegram!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Visualizações:
1519
Avaliação:
(34)
Publicado:
2017.11.17 12:46
Atualizado:
2018.09.06 11:04
\MQL5\Include\ \MQL5\Indicators\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Esta biblioteca fornece a cada programa MQL um ícone separado na área de notificação da barra de tarefas do Windows. A biblioteca permite tanto exibir mensagens de texto enviando-os de seus programas quanto usar o ícone para indicar um certo status do programa. A biblioteca é baseada na função Shell_NotifyIcon. Por conveniência, a classe CNotifyIcon foi criada para permitir ocultar os detalhes das operações com funções de API do Windows e fornecer um conjunto de métodos para trabalhar com três elementos funcionais, incluindo o ícone, o balão de notificação e a dica de ferramenta.

O ícone e o balão de notificação são mostrados na Figura 1.

Exemplo de ícone e balão de notificação

Fig.1. Exemplo de ícone e balão de notificação

Aparece uma dica de ferramenta quando você passa o mouse sobre o ícone. Um exemplo da dica de ferramenta é mostrado na Figura 2.

Exemplo de dica de ferramenta

Figura 2. Exemplo de dica de ferramenta

A biblioteca funciona de forma estável em sistemas, começando com o Windows 7/Windows Server 2008 R2.


Ícone

O tamanho do ícone depende do DPI definido nas configurações da tela em seu sistema operacional. 96 DPI é usado por padrão, o que corresponde ao tamanho do ícone 16x16. Você precisa saber isso para carregar imagens de tamanho apropriado. Nesse caso, suas imagens não serão adicionalmente convertidas pelo sistema e, portanto, não serão distorcidas. Não é possível carregar uma imagem de tamanho menor.

Você pode descobrir o tamanho de imagem desejado chamando a função GetSystemSize().

int icon_size = CNotifyIcon::GetSystemSize(ICON_SMALL);

Para não criar imagens para cada valor DPI, você pode preparar um tamanho, digamos 24x24 (DPI máximo de 144) ou 32x32 (DPI máximo de 240). Assim, você pode garantir a compatibilidade com a maioria dos usuários, mas neste caso a imagem será convertida automaticamente (o tamanho será reduzido) e, portanto, pode ser distorcida. Os exemplos mostram imagens em BMP com um tamanho de 32x32 e uma profundidade de cor de 32 bits (com transparência).

Existem cinco formas de carregar uma imagem para o ícone:

  1. A primeira e mais óbvia maneira de carregar é desde um arquivo. Nesse caso, o arquivo pode estar localizado fora do arquivo da área restrita [sandbox] do terminal.

    CNotifyIcon notify_icon;
    
    notify_icon.Icon.LoadFromFile("D:\\Images\\indicator32.bmp");
    
  2. A segunda maneira é carregar desde um recurso.

    #resource "\\Images\\Indicator32.bmp"
    
    notify_icon.Icon.LoadFromResource("::Images\\Indicator32.bmp");
    
  3. O terceiro caminho é carregar uma matriz unidimensional. Neste método, uma imagem é convertida preliminarmente em uma matriz unidimensional de estruturas 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. A quarta maneira é carregar desde uma string na codificação Base64. As imagens BMP podem ser convertidas em um string usando qualquer conversor online. A parte da sequência de caracteres sem o cabeçalho (mostrado em vermelho) é passada para a função:

    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. O quinto e último método pressupõe que você tenha um DLL em que as imagens são salvas como um recurso. As imagens são carregadas com base no número do recurso. Como exemplo, usamos o sistema shell32.dll, no qual muitos ícones do Windows são armazenados.

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

Inicialmente, um ícone invisível é criado. Você precisa chamar o método Show() para exibi-lo.

notify_icon.Show();

Para ocultar um ícone, chame o método Hide().

notify_icon.Hide();


Balão de notificação (Balloon)

O ícone do balão pode ser em dois tamanhos: SMALL e LARGE. Os métodos de upload são aqueles que foram usados ​​para ícones. Se você optar por trabalhar com um pequeno ícone (SMALL), o tamanho da imagem deve corresponder estritamente ao tamanho do conjunto do sistema, caso contrário não será exibido. É por isso que recomendo usar um tamanho de ícone grande para o balão ou usar qualquer um dos tipos de ícones embutidos (NIIF_INFO, NIIF_WARNING, NIIF_ERROR).

O tamanho da imagem carregada não deve ser inferior ao valor retornado por GetSystemSize().

int balloon_icon_size = CNotifyIcon::GetSystemSize(ICON_LARGE);

Para exibir o balão, invoque o método Show().

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

Para exibir o balão, invoque o método Hide().

notify_icon.Balloon.Hide();

Baixos valores de intervalos de tempo no método Show() não são processados ​​pelo sistema (o atraso mínimo é de cerca de 10 segundos). Para superar esta restrição, precisamos iniciar o temporizador e chamar o método DoTimer().

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


Dica de ferramenta (ToolTip)

A dica de ferramenta é mostrada quando você passa o mouse sobre o ícone. O texto da dica de ferramenta pode ter várias linhas separadas por "\n".

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

Abaixo, forneço um exemplo de como usar a biblioteca com um indicador. A cor do ícone indica os valores do iSAR. Azul significa um movimento ascendente, vermelho significa uma direção descendente. Os balões são mostrados quando a direção muda.

//+------------------------------------------------------------------+
//|                                    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);
  }
//+------------------------------------------------------------------+

A biblioteca funciona no testador estratégia. Seu código é compatível com MQL4. A biblioteca pode ser melhorada adicionando funcionalidades para a animação de ícones. Espero que a comunidade MQL contribua para o desenvolvimento da biblioteca.

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/19129

Momentum YTG Momentum YTG

Indicador Momentum sob a forma de gráfico de colunas colorido.

Vortex Vortex

Indicador a partir do "Technical Analysis of Stocks & Commodities" (janeiro, 2010).

Vortex Indicator System Vortex Indicator System

Sistema de negociação com base nos sinais do indicador Vortex.

Current Next Futures Current Next Futures

O script possui três funções independentes para determinar os futuros FORTS atuais.