Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 473

 
Bek001:

Deixe-me colocar isto de outra forma. Como você pode determinar o preço máximo nos últimos 10 segundos?

Em MT5 - CopyTicks()

Em MT4 - salvar carrapatos em uma série de estruturas MqlTick. A partir dele, tirar preços máximos/minuto.

 

Você pode me dizer como fazer isso? Eu escrevi uma função de notificação e as notificações vêm a cada tique! A função em si é apenas escrita em int Start. Condições PATTERN na M30.

///--------------------------------------------------------------------------------------------
/// ФУНКЦИЯ ОТПРАВКИ УВЕДОМЛЕНИЙ
///--------------------------------------------------------------------------------------------
void NOTIFICATION()
{

int DayT=0,BarTime;
 if(DayT!=Day())// Если новый день - нужно опросить
 {
 DayT=Day();
if(Push_On&&DAY_HIGH())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ -" + Symbol());
if(Push_On&&DAY_LOW())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ -" + Symbol());
}
if (BarTime==Time[0]) // Если новый бар - нужно опросить
{
   BarTime=Time[0];
if(Push_On&&DAY_HIGH()&&PATERN_BUY())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
if(Push_On&&DAY_LOW()&&PATERN_SELL())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
}
}
 
Rewerpool:

Você pode me dizer como fazer isso? Eu escrevi uma função de notificação e as notificações vêm a cada tique! A função em si é simplesmente escrita em int Start.

estático int DayT=0;
 
@Artyom Trishkin Obrigado! Interessante saiu agora que está tudo calmo!
 
Rewerpool:
@Artyom Trishkin Obrigado! Interessante saiu agora que está tudo calmo!
É difícil ler o código a partir de um celular. Provavelmente há algo mais errado aí.
 
Rewerpool:

Você pode me dizer como fazer isso? Eu escrevi uma função de notificação e as notificações vêm a cada tique! A função em si é apenas escrita em int Start. Condições PATTERN na M30.

int DayT=0;
datetime BarTime=TimeCurrent();
void NOTIFICATION()
{
   if(DayT!=Day())// Если новый день - нужно опросить
   {
      DayT=Day();
      if(Push_On&&DAY_HIGH())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ -" + Symbol());
      if(Push_On&&DAY_LOW())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ -" + Symbol());
   }
   if (BarTime==Time[0]) // Если новый бар - нужно опросить
   {
      BarTime=Time[0];
      if(Push_On&&DAY_HIGH()&&PATERN_BUY())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
      if(Push_On&&DAY_LOW()&&PATERN_SELL())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
   }
}

Você declara variáveis e as compara imediatamente com elas. É claro que você sempre obtém o mesmo resultado.

 
Artyom Trishkin:
É difícil ler o código em um celular. Deve haver algo mais errado com ele.

Eu acho que deveria ter sido assim

datetime BarTime;
 

@Konstantin Nikitin Olá!!! Consertado!!! Os sinais diários estão em alta! Ainda é preciso verificar os intraday!

Fixo! Aqui:

///--------------------------------------------------------------------------------------------
/// ФУНКЦИЯ ОТПРАВКИ УВЕДОМЛЕНИЙ
///--------------------------------------------------------------------------------------------
void NOTIFICATION()
{

static int DayT=0;
datetime BarTime;
 if(DayT!=Day())// Если новый день - нужно опросить
 {
 DayT=Day();
if(Push_On&&DAY_HIGH())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ -" + Symbol());
if(Push_On&&DAY_LOW())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ -" + Symbol());
}
if (BarTime==Time[0]) // Если новый бар - нужно опросить
{
   BarTime=Time[0];
if(Push_On&&DAY_HIGH()&&PATERN_BUY())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
if(Push_On&&DAY_LOW()&&PATERN_SELL())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
}
}
 
Rewerpool:

@Konstantin Nikitin Olá!!! Consertado!!! Os sinais diários estão em alta! Ainda é preciso verificar os intraday!

Fixo! Aqui:

static int DayT=0;
datetime BarTime;

Leve-o para o nível global. Você sempre os terá iguais a 0, porque cada vez que a função for chamada, uma nova função será declarada.

 
@Konstantin Nikitin Você está sugerindo levar estes parâmetros para fora do corpo funcional? Ou deixá-los como eu escrevi na última captura de tela?
Razão: