Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 474

 
@Konstantin Nikitin Понял , Спасибо!
 
Rewerpool:
@Konstantin Nikitin Вы предлагаете вынести за тело функции эти параметры? Или оставить их как я написал в последнем скрине?
Само собой за пределы функции. Вы же их постоянно обновляете и с ними сравниваетесь, вызывая эту функцию.
 
Konstantin Nikitin:

На глобальный уровень вынесите. Они у вас все время будут равны 0, т.к. при каждом вызове функции объявляться по новой.

Статические - нет.
 
Konstantin Nikitin:
Само собой за пределы функции. Вы же их постоянно обновляете и с ними сравниваетесь, вызывая эту функцию.
Подсказываете сами мало понимая что...
 
Artyom Trishkin:
Подсказываете сами мало понимая что...

А вы сами функцию изначально смотрели???

void NOTIFICATION()
{

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

И каким образом тут должны изменяться DayT BarTime? Они всегда будут раны 0.

if(DayT!=Day())

Всегда будет срабатывать как истина, а

if (BarTime==Time[0])

как лож

 
Konstantin Nikitin:

А вы сами функцию изначально смотрели???

И каким образом тут должны изменяться DayT BarTime? Они всегда будут раны 0.
Вы сказали вынести в глобальные переменные. Достаточно их статическими сделать, а не тащить всё в одну кучу.
 
Artyom Trishkin:
Вы сказали вынести в глобальные переменные. Достаточно их статическими сделать, а не тащить всё в одну кучу.
Тут уже как понравиться, но изначально они не верно были объявлены.
 

Выходит можно и так????

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());
}
}
 
А если я их вынесу на глобальный уровень можно будет их опрашивать и из других функций
 
Rewerpool:
А если я их вынесу на глобальный уровень можно будет их опрашивать и из других функций
Не верный подход.
Причина обращения: