Alerta Sonoro de Conexão e Desconexão para MetaTrader 5

Mike 2024.01.08 06:36 18 0 0
Anexo

Se você é um trader que busca otimizar sua experiência no MetaTrader 5, a utilidade de alerta sonoro de conexão e desconexão pode ser um verdadeiro divisor de águas. Vamos entender como implementar isso de forma simples e eficaz!

Primeiro, você precisa adicionar os arquivos de som (no formato .wav) na pasta MQL5\Files\Sounds do seu MetaTrader. Esses sons serão acionados sempre que você se conectar ou desconectar da plataforma.

Depois, copie o código abaixo e compile o seu EA (Expert Advisor). O arquivo anexo possui linhas comentadas, pois o uso de #resource pode impossibilitar o upload na plataforma. Aqui está o código:

//+------------------------------------------------------------------+
//|                                       Connect_Disconnect_Sound_Alert.mq5 |
//|                                       Copyright 2024, Rajesh Kumar Nait |
//|                                         https://www.mql5.com/en/users/rajeshnait/seller |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, Rajesh Kumar Nait"
#property link      "https://www.mql5.com/en/users/rajeshnait/seller"
#property version   "1.00"
#include <Trade/TerminalInfo.mqh>

bool     first             = true;
bool     Now_IsConnected   = false;
bool     Pre_IsConnected   = true;
datetime Connect_Start = 0, Connect_Stop = 0;

CTerminalInfo terminalInfo;
//--- Arquivos de som
#resource "\Files\Sounds\CONNECTED.wav"
#resource "\Files\Sounds\DISCONNECTED.wav"
//+------------------------------------------------------------------+
//| Função de inicialização do Expert                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
      ResetLastError();
      while ( !IsStopped() ) {
         Pre_IsConnected = Now_IsConnected;
         Now_IsConnected = terminalInfo.IsConnected();

         if ( first ) {
            Pre_IsConnected = !Now_IsConnected;
         }

         if ( Now_IsConnected != Pre_IsConnected ) {
            if ( Now_IsConnected ) {
               Connect_Start = TimeLocal();
               if ( !first ) {
                  if(!PlaySound("::Files\Sounds\DISCONNECTED.wav"))
                     Print("Erro: ",GetLastError());
               }
               if ( IsStopped() ) {
                  break;
               }
               if(!PlaySound("::Files\Sounds\CONNECTED.wav"))
                  Print("Erro: ",GetLastError());
            } else {
               Connect_Stop = TimeLocal();
               if ( !first ) {
                  if(!PlaySound("::Files\Sounds\CONNECTED.wav"))
                     Print("Erro: ",GetLastError());
               }
               if ( IsStopped() ) {
                  break;
               }
               if(!PlaySound("::Files\Sounds\DISCONNECTED.wav"))
                  Print("Erro: ",GetLastError());
            }
         }

         first = false;
         Sleep(1000);
      }
//---
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+

Para ver a implementação em ação, assista ao vídeo abaixo:


Lista
Comentário 0