Recebo notificação no APP MT5, quando há um leilão nos meus ativos , porém queria receber essas notificações apenas no horário definido para ele operar

 

 Recebo notificação no APP MT5,  quando meus ativos entram em leilão! Porém queria receber essas notificações apenas no horário definido para ele operar, pois estou recebendo notificação no leilão de abertura e de fechamento , aí enche meu celular de notificações! 

Vejam o horario de negociação do meu robo:

input group  "HORARIO - INICIO";

input int Input_IniHora = 10;                   

input int Input_IniMin = 20;                    

input group  "HORARIO - FIM";

input int Input_FimHora = 16;                   

input int Input_FimMin = 55;


Vejam o código para receber as notificação caso o ativo entre em leilão repentinamente dentro o pregão:


 Sleep(60000); //AGUARDA 60 SEGUNDOS

      }

         }

else     {

      string msgErro=StringFormat("Leilão Detectado [%s/%s]:",Input_Opcao01,Input_Opcao03,"\nBid:",bid1,"\nAsk:",ask1,"\nBid2:",bid2,"\nAsk2:",ask2);

       if(Input_App_MT5){  

         SendNotification(msgErro); 

      }

      Sleep(60000); //AGUARDA 60 SEGUNDOS

      }


Já tentei inserir antes de  " SendNotification(msgErro); " o seguinte  código:


if((stm.hour > Input_IniHora || (stm.hour == Input_IniHora && stm.min >= Input_IniMin)) && (stm.hour < Input_FimHora || (stm.hour == Input_FimHora && stm.min <= Input_FimMin)))


Mas dá erro!


Não sei se está faltando alguma coisa!


O que faço para receber essas notficações apenas no horario pre estabelecido para negociação do ativo ??

 
Davicr:

 Recebo notificação no APP MT5,  quando meus ativos entram em leilão! Porém queria receber essas notificações apenas no horário definido para ele operar, pois estou recebendo notificação no leilão de abertura e de fechamento , aí enche meu celular de notificações! 

Vejam o horario de negociação do meu robo:

input group  "HORARIO - INICIO";

input int Input_IniHora = 10;                   

input int Input_IniMin = 20;                    

input group  "HORARIO - FIM";

input int Input_FimHora = 16;                   

input int Input_FimMin = 55;


Vejam o código para receber as notificação caso o ativo entre em leilão repentinamente dentro o pregão:


 Sleep(60000); //AGUARDA 60 SEGUNDOS

      }

         }

else     {

      string msgErro=StringFormat("Leilão Detectado [%s/%s]:",Input_Opcao01,Input_Opcao03,"\nBid:",bid1,"\nAsk:",ask1,"\nBid2:",bid2,"\nAsk2:",ask2);

       if(Input_App_MT5){  

         SendNotification(msgErro); 

      }

      Sleep(60000); //AGUARDA 60 SEGUNDOS

      }


Já tentei inserir antes de  " SendNotification(msgErro); " o seguinte  código:


if((stm.hour > Input_IniHora || (stm.hour == Input_IniHora && stm.min >= Input_IniMin)) && (stm.hour < Input_FimHora || (stm.hour == Input_FimHora && stm.min <= Input_FimMin)))


Mas dá erro!


Não sei se está faltando alguma coisa!


O que faço para receber essas notficações apenas no horario pre estabelecido para negociação do ativo ??

Boa noite. A linha do erro é a linha deste If?

Me parece (olhando no celular) que a abertura/fechamento dos parenteses está incorreta. Da uma conferida nessa parte.
 
Davicr:

 Recebo notificação no APP MT5,  quando meus ativos entram em leilão! Porém queria receber essas notificações apenas no horário definido para ele operar, pois estou recebendo notificação no leilão de abertura e de fechamento , aí enche meu celular de notificações! 

.  .  .


Boa noite!


Como o Ricardo já falou acima, essa sua verificação está incorreta...

Dê uma pesquisada nessa classe pra você corrigir seu código.

Classe para controlar horários de negociação
Classe para controlar horários de negociação
  • www.mql5.com
Essa classe foi projetada com o intuito de ajudar nos horários de negociação, de uma forma simples e centralizada.
 
Mas como que eu aplico isso na pratica?