Início Indicador técnico Postagem

WeightOscillator_Alert: O Indicador de Tendência que Alerta no MetaTrader 5

Anexo
17091.zip (24.09 KB, Baixar 0 vezes)

O WeightOscillator é um indicador de tendência que traz uma novidade super legal: alertas! Ele pode enviar notificações por e-mail e push para o seu celular, o que é uma mão na roda para quem não quer perder oportunidades no mercado.

Para implementar esses alertas, algumas mudanças foram feitas no código do indicador. Vamos dar uma olhada nas principais alterações:

  1. Nova Enumeração para Sinais: Foram adicionadas opções para geração de sinais no escopo global antes das variáveis de entrada serem declaradas.
    //+----------------------------------------------------+
    //| Enumeração para opções de geração de sinais   |
    //+----------------------------------------------------+
    enum ENUM_SIGNAL_MODE
      {
       MODE_SIGNAL,  // Sinais de ruptura
       MODE_TREND    // Sinais de ruptura e tendência
      };
  2. Novo Parâmetro de Entrada: Foram introduzidos novos parâmetros de entrada para os alertas.
    //---- Variáveis de entrada para alertas
    input ENUM_SIGNAL_MODE SignMode=MODE_SIGNAL; // Modo de geração de sinal
    input uint NumberofBar=1;                    // Número da barra para gerar um sinal
    input bool SoundON=true;                    // Ativar alertas sonoros
    input uint NumberofAlerts=2;                 // Número de alertas
    input bool EMailON=false;                    // Habilitar envio de e-mail com o sinal
    input bool PushON=false;                     // Habilitar envio de sinal para dispositivos móveis
  3. Funções para Sinais de Compra e Venda: Foram adicionadas funções para geração de sinais de compra e venda ao final do código do indicador: BuySignal() e SellSignal().
    //+------------------------------------------------------------------+
    //| Função de sinal de compra                                              |
    //+------------------------------------------------------------------+
    void BuySignal(string SignalSirname,// texto do nome do indicador para e-mails e mensagens push
                   double &ColorArray[],// buffer de índice de cor
                   int ColorIndex,// índice de cor no buffer de índice de cor para gerar um sinal
                   const int Rates_total,     // o número atual de barras
                   const int Prev_calculated, // o número de barras na tick anterior
                   const double &Close[],     // preço de fechamento
                   const int &Spread[])       // spread
      {
    //---
       static uint counter=0;
       if(Rates_total!=Prev_calculated) counter=0;

       bool BuySignal=false;
       bool SeriesTest=ArrayGetAsSeries(ColorArray);
       int index,index1;
       if(SeriesTest)
         {
          index=int(NumberofBar);
          index1=index+1;
         }
       else
         {
          index=Rates_total-int(NumberofBar)-1;
          index1=index-1;
         }
    ...
  4. Chamada das Funções de Sinal: As funções BuySignal() e SellSignal() foram chamadas após os ciclos de cálculo do indicador no bloco OnCalculate().
    //---    
       BuySignal("WeightOscillator_Alert",ColorBuffer,0,rates_total,prev_calculated,close,spread);
       SellSignal("WeightOscillator_Alert",ColorBuffer,4,rates_total,prev_calculated,close,spread);
    //---  

O ColorBuffer é o nome do buffer de índice de cores para armazenar as cores do indicador. Os valores 0 e 4 correspondem às áreas de sobrecompra e sobrevenda, respectivamente.

Vale lembrar que a chamada das funções BuySignal() e SellSignal() deve ser única dentro do bloco OnCalculate() do código do indicador.

O indicador utiliza as classes da biblioteca SmoothAlgorithms.mqh (não esqueça de copiar para <terminal_data_folder>\MQL5\Include). O uso dessas classes é detalhado no artigo "Média de Séries Preço para Cálculos Intermediários sem Usar Buffers Adicionais".

Fig1. O indicador WeightOscillator_Alert no gráfico

Fig1. O indicador WeightOscillator_Alert no gráfico

Fig.3. O indicador WeightOscillator_Alert. Gerando alerta para sinal de tendência

Fig.2. O indicador WeightOscillator_Alert. Gerando alerta para sinal de ruptura

Fig.3. O indicador WeightOscillator_Alert. Gerando alerta para sinal de tendência

Fig.3. O indicador WeightOscillator_Alert. Gerando alerta para sinal de tendência

Publicações relacionadas

Comentário (0)