Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 474

 
@Konstantin Nikitin Je l'ai eu, merci !
 
Rewerpool:
@Konstantin Nikitin Suggérez-vous de prendre ces paramètres en dehors du corps de la fonction ? Ou les laisser comme je l'ai écrit dans la dernière capture d'écran ?
Bien sûr, ils doivent être en dehors de la fonction. Vous les mettez constamment à jour et les comparez en appelant cette fonction.
 
Konstantin Nikitin:

Mettez-le au niveau mondial. Ils seront toujours égaux à 0, car chaque fois que la fonction est appelée, un nouveau sera déclaré.

Statique - non.
 
Konstantin Nikitin:
Bien sûr, c'est en dehors de la fonction. Vous les mettez constamment à jour et les comparez en appelant cette fonction.
Tu t'incites toi-même avec peu d'idée de ce que...
 
Artyom Trishkin:
Vous vous dites que vous comprenez mal ce que...

Avez-vous regardé à l'origine la fonction elle-même ???

void NOTIFICATION()
{

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

Et comment le site DayT BarTime est-il censé changer ici ? Ils seront toujours enroulés à 0.

if(DayT!=Day())

Il fonctionnera toujours comme la vérité, et

if (BarTime==Time[0])

comme un mensonge.

 
Konstantin Nikitin:

Avez-vous regardé vous-même la fonction au départ ????

Et comment le site DayT BarTime est-il censé changer ici ? Ils seront toujours 0.
Tu as dit de les mettre dans des variables globales. C'est suffisant pour les rendre statiques, et non pas pour tout regrouper en une seule pile.
 
Artyom Trishkin:
Tu as dit de les mettre dans des variables globales. Il suffit de les rendre statiques, et non de les mettre tous dans une même pile.
C'est à votre convenance, mais ils n'ont pas été déclarés correctement en premier lieu.
 

Il s'avère que vous pouvez aussi faire ceci ????.

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());
}
}
 
Et si je les porte à un niveau global, ils peuvent également être interrogés à partir d'autres fonctions.
 
Rewerpool:
Et si je les place à un niveau global, ils peuvent également être interrogés à partir d'autres fonctions.
Ce n'est pas la bonne approche.
Raison: