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

 
@Konstantin Nikitin Entendi, obrigado!
 
Rewerpool:
@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?
É claro que eles devem estar fora da função. Você está constantemente se atualizando e comparando-os chamando esta função.
 
Konstantin Nikitin:

Coloque-o no 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.

Estático - não.
 
Konstantin Nikitin:
Naturalmente, está fora da função. Você está constantemente atualizando e comparando-os chamando esta função.
Você está se perguntando com uma pequena idéia do que...
 
Artyom Trishkin:
Você está dizendo a si mesmo pouco a pouco o que...

Você olhou originalmente para a função em si????

void NOTIFICATION()
{

int DayT=0,BarTime;
 if(DayT!=Day())// Если новый день - нужно опросить
 {
 DayT=Day();
//......
}
if (BarTime==Time[0]) // Если новый бар - нужно опросить
{
   BarTime=Time[0];
//......
}
}

E como o DayT BarTime deve mudar aqui? Serão sempre feridas 0.

if(DayT!=Day())

Funcionará sempre como a verdade, e

if (BarTime==Time[0])

como uma mentira.

 
Konstantin Nikitin:

Você mesmo observou a função inicialmente????

E como o DayT BarTime deve mudar aqui? Eles serão sempre 0.
Você disse colocá-los em variáveis globais. Basta torná-los estáticos, não arrastar tudo em uma pilha.
 
Artyom Trishkin:
Você disse para colocá-los em variáveis globais. Basta torná-los estáticos, não colocá-los todos em uma só pilha.
É do seu agrado, mas eles não foram declarados corretamente em primeiro lugar.
 

Acontece que você também pode fazer isso????

void NOTIFICATION()
{
static int DayT=0;
static 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());
}
}
 
E se eu os levar para um nível global, eles também podem ser consultados em outras funções
 
Rewerpool:
E se eu os colocar em nível global, eles também podem ser consultados em outras funções
Não é a abordagem correta.