[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 605

 
lottamer:


А что дальше? этого достаточно чтобы УЖЕ в любом месте советника использовать например так 

if isCloseLastPosByTake()<0  ...  ?

ну сами подумайте, если вы сделали из одного файла в другой Copy Paste.

 
hoz:


 А как тогда правильно? Я же сравнил Текущее время,  с тем, которое нам нужно.. Что не так?

 

 

И вообще я верно написал ф-цию для того чтобы открываться только по цене открытия дневной свечи
А где у вас в функции цена? 
 
hoz:


 А как тогда правильно? Я же сравнил Текущее время,  с тем, которое нам нужно.. Что не так?

не так то, что это время для знака == существует только 1 секунду.

правильно или ставить знак >=

или идти через контроль двух переменных времени - текущего и предыдущего.

но с  другой стороны у вас логическая ошибка. вы пытаетесь секунду привязать к положительному исходу логической операции условия открытия ордера.

Это не есть правильно. Ордер может не открыться, а значит, что вы не сделаете попытку открытия на следующем тике - так как функция времени вернет false


Вам надо связывать запоминание удачной операции к времени тоже.

думайте.

 

rigonich:

А где у вас в функции цена?  



 Так для цены другая ф-ция. Эта ф-ция только для времени же.
 
sergeev:

не так то, что это время для знака == существует только 1 секунду.

правильно или ставить знак >=

или идти через контроль двух переменных времени - текущего и предыдущего.


 Я так и думал. Спасибо. Буду экспериментировать.
 
lottamer:

:)) а мы тут причем? компьютер может запоминать как ему удобно - а нам выдает пусть по-человечески:))

Он выдает то, что у него запрашивают, И "по человечески" он не может по определению, он же компьютер, а не человек.
 

вот тут прочел     https://forum.mql4.com/ru/38949/page2#434212


Функция ExistPosByPrice().

Данная функция возвращает флаг существования позиции по заданной цене открытия. 

 

а что такое  "флаг существования" ?

 
hoz:

Ну так и спрашивайте, правильно ли вы написали ту функцию, которую показываете, а то спрашиваете про одно, а показываете другое.
 
lottamer:

вот тут прочел     https://forum.mql4.com/ru/38949/page2#434212


Функция ExistPosByPrice().

Данная функция возвращает флаг существования позиции по заданной цене открытия. 

 

а что такое  "флаг существования" ?


Флаг -- это переменная, обычно типа bool которая устанавливается в какое либо состояние в зависимости от истинности проверяемого условия.(здесь -- есть лли позиция с заданной ценой открытия).
 
sergeev:

не так то, что это время для знака == существует только 1 секунду.

правильно или ставить знак >=

или идти через контроль двух переменных времени - текущего и предыдущего.

но с  другой стороны у вас логическая ошибка. вы пытаетесь секунду привязать к положительному исходу логической операции условия открытия ордера.

Это не есть правильно. Ордер может не открыться, а значит, что вы не сделаете попытку открытия на следующем тике - так как функция времени вернет false


 Суть я общую уловил. Вот, что вышло:

bool GetTimeToInput()

{

  if(TimeCurrent() >= iTime(Symbol(),1440,0) && TimeCurrent() <= iTime(Symbol(),1440,0) + N)

  {

    return(true);

  }

  else

    

  return(false);

} 

N - количество минут пройденное после открытия дневного бара. Пока что я не понял как его получить, так что написал чисто переменной.  По идее верно всё.

 sergeev:

Вам надо связывать запоминание удачной операции к времени тоже.

думайте.

 А вот про связать запоминание удачной операции к времени попрошу уточнить. Я не совсем понял.

Причина обращения: