Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 638

 
Vitaly Muzichenko:

Alguém pode, por favor, aconselhar quem já encontrou e sabe como sair desta linha:

29301441,1475681547,0,0.01,EURUSD,1.1207,0.0000,0.0000,1475690944,1.1213,0.00,0.00,0.60,,13134545

assim:

-118,120,-39,52,-58,-76,62,-66,-49,-97,-38,-86,-125,-52,-70,-96,89,-23,13,-91,111,74,-79,16,65,127,116,-76,99,5,27,48,42,44,55,-94,84,-72,-63,115,26,18,-47,-46,5,-55,32,68,114,-20,46,-7,79,7,82,78,-91,41,82,-114,121,112,-64,-106,35,-10,24,-128,58,-81,-69,92,34,79,64,-97,52,-95,127,-18,-46,104,104,85,56,93,8,100,14,-52,-88,-38,-28,-76,-49,35,-74,27,120,74,53,124,-104,-59,-1,41,-127,-99,103,104,-38,2,47,-93,68,35,-15,44,123,47,78,-117,15,-114,-46,-98,-108,-26,

Obrigado!

A segunda corda é mais do que semelhante a uma matriz de caracteres assinada. Ou seja, toda a "cadeia" pode ser apenas uma estrutura binária impressa byte a byte, e pode ter sido encriptada primeiro, pelo que não há 0
 

Boa tarde.

Eu próprio não sou programador, mas quero fazer os meus EAs para me enviarem notificações dos sinais por e-mail. A tarefa é simples e parece funcionar, mas quando a condição do sinal é cumprida, eles enviam um número infinito de e-mails.

Por favor, ajude-me a enviar apenas um e-mail em cada sinal.

Aqui está um exemplo do meu código para a média móvel simples. O que devo acrescentar ou reparar?

int init()
  {
   return(0);
  }
start()
  {
//-----------------------------------------------------------------------------------------------------
// Сигналы
//-----------------------------------------------------------------------------------------------------
if(Open[1]>ma && Close[1]<ma)  {
bool res = SendMail("Сигнал", " Покупай");
}
if(Open[1]<ma && Close[1]>ma) {
SendMail("Сигна", "Продавай");
}
//-------------------------------------------------------------------
   return(0);
  }

 
ev85:

Boa tarde.

Eu próprio não sou programador, mas quero fazer os meus EAs para me enviarem notificações dos sinais por e-mail. A tarefa é simples e parece funcionar, mas quando a condição do sinal é cumprida, eles enviam um número infinito de e-mails.

Por favor, ajude-me a enviar apenas um e-mail em cada sinal.

Aqui está um exemplo do meu código para a média móvel simples. O que devo acrescentar ou reparar?


Adicionar data/hora de correioTime e lembrar a hora antes de enviar, para que não tenha de reenviar a mensagem

datetime mailTime=0;
int init()
  {
   return(0);
  }

start()
  {
//-----------------------------------------------------------------------------------------------------
// Сигналы
//-----------------------------------------------------------------------------------------------------
if(Open[1]>ma && Close[1]<ma && Time[1]>mailTime)  {
bool res = SendMail("Сигнал", " Покупай");
if (res) mailTime=Time[1];
 }
if(Open[1]<ma && Close[1]>ma && Time[1]>mailTime) {
bool res=SendMail("Сигна", "Продавай");
if (res) mailTime=Time[1];
 }
//-------------------------------------------------------------------
   return(0);
  }

ps. é hora de mudar de start() para OnTick() em EAs

pps. mailTime também deve ser guardado em variáveis globais do terminal em caso de reinício do Expert Advisor.

 
Maxim Kuznetsov:

adicionar data/hora de correioTime e lembre-se da hora de pré-envio para não ter de reenviar o e-mail

ps. É tempo de mudar do início() para OnTick() em EAs

pps. O tempo de correio também deve ser guardado nas variáveis globais do terminal caso a EA seja reiniciada.

Não funcionou. Continua a enviar as mensagens o tempo todo.

 
ev85:

Boa tarde.

Eu próprio não sou programador, mas quero fazer os meus EAs para me enviarem notificações dos sinais por e-mail. A tarefa é simples e parece funcionar, mas quando a condição do sinal é cumprida, eles enviam um número infinito de e-mails.

Por favor, ajude-me a enviar apenas um e-mail em cada sinal.

Aqui está um exemplo do meu código para a média móvel simples. O que devo acrescentar ou reparar?



static datetime TimeN=0;
int init()
  {
   return(0);
  }
start()
  {
//Операции выполняются только при появлении следующего бара
   datetime TimeC=iTime(NULL,TF,0);
   if(TimeN==0)TimeN=TimeC;
   if(TimeN==TimeC) return;
   TimeN=TimeC;

//-----------------------------------------------------------------------------------------------------
// Сигналы
//-----------------------------------------------------------------------------------------------------
if(Open[1]>ma && Close[1]<ma)  {
bool res = SendMail("Сигнал", " Покупай");
}
if(Open[1]<ma && Close[1]>ma) {
SendMail("Сигна", "Продавай");
}
//-------------------------------------------------------------------
   return(0);
  }
 
-Aleks-:
Com este ano não estão a ser enviados quaisquer e-mails((
 
ev85:
Com este ano não são enviados quaisquer e-mails((
Então a sua mãe é igual a quê? Por acaso é a mãe na barra de zero?
 
-Aleks-:
Então o que é ma igual a? Por acaso não é a mãe na barra de zero?

ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0)

 
ev85:

ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0)

Então tudo é claro. A máquina na barra de zero é constantemente recalculada - por isso os sinais virão a cada sinal.

Tente desta forma:

static datetime TimeN=0;

int Signal=0;


int init()

  {

   return(0);

  }

start()

  {

//Операции выполняются только при появлении следующего бара

   datetime TimeC=iTime(NULL,TF,0);

   if(TimeN==0)TimeN=TimeC;

   if(TimeN==TimeC && Signal==1) return;

   TimeN=TimeC;

   Signal=0;


//-----------------------------------------------------------------------------------------------------

// Сигналы

//-----------------------------------------------------------------------------------------------------

if(Open[1]>ma && Close[1]<ma)  

{

bool res = SendMail("Сигнал", " Покупай");

Signal=1;

}

if(Open[1]<ma && Close[1]>ma) 

{

SendMail("Сигнал", "Продавай");

Signal=1;

}

   return(0);

  }


Em geral, geralmente fazem uma comparação

ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,1);

ma>Open[0];


 
Maxim Kuznetsov:
a segunda corda é mais do que semelhante a uma matriz de caracteres assinada. Ou seja, toda a "corda" pode ser apenas uma estrutura binária impressa byte a byte, e pode ter sido encriptada primeiro, pelo que não há 0
Sim, após alguma acção verificou-se que a corda é de facto um charuto assinado. Agora a questão é: como torná-lo legível no servidor?