Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 474

 
@Konstantin Nikitin Capito, grazie!
 
Rewerpool:
@Konstantin Nikitin Stai suggerendo di prendere questi parametri fuori dal corpo della funzione? O lasciarli come ho scritto nell'ultimo screenshot?
Naturalmente, devono essere al di fuori della funzione. Li state costantemente aggiornando e confrontando chiamando questa funzione.
 
Konstantin Nikitin:

Mettetelo a livello globale. Li avrete sempre uguali a 0, perché ogni volta che la funzione viene chiamata, ne viene dichiarata una nuova.

Statico - no.
 
Konstantin Nikitin:
Naturalmente, è al di fuori della funzione. Li aggiornate e li confrontate costantemente chiamando questa funzione.
Lei si sta stimolando con poca idea di cosa...
 
Artyom Trishkin:
Ti stai dicendo a poco a poco quello che...

All'inizio hai guardato la funzione stessa?

void NOTIFICATION()
{

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

E come dovrebbero cambiare qui DayT BarTime? Saranno sempre avvolte 0.

if(DayT!=Day())

Funzionerà sempre come la verità, e

if (BarTime==Time[0])

come una bugia.

 
Konstantin Nikitin:

Hai guardato tu stesso la funzione all'inizio?

E come dovrebbero cambiare qui DayT BarTime? Saranno sempre 0.
Hai detto di metterli in variabili globali. È sufficiente per renderli statici, non trascinare tutto in un unico mucchio.
 
Artyom Trishkin:
Hai detto di metterli in variabili globali. Basta renderli statici, non metterli tutti in un mucchio.
Dipende dai vostri gusti, ma non sono stati dichiarati correttamente in primo luogo.
 

Si è scoperto che si può fare anche questo????

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 li porto ad un livello globale, possono anche essere interrogati da altre funzioni
 
Rewerpool:
E se li metto a livello globale, possono anche essere interrogati da altre funzioni
Non è l'approccio giusto.