вопрос знатокам .... - страница 3

 

Добрый вечер!

проблема, почему-то, обозначилась.

Задаю в параметрах время работы эксперта:

extern string  ________  = "=== Время работы ===";
//extern bool     Time_=false;
extern int     Start = 9;//начало работы утром
extern int      End = 19;//окончание работы вечером

int start()
{

if( TimeHour(TimeCurrent()) <= Start && TimeHour(TimeCurrent())>End) return(0); 

Советник, словно, не видит этого условия! Молотит в тестере круглые сутки!

Вроде, задала-то всё правильно! Подскажите пож., почему не работает ?

 
Замените И на ИЛИ.
 
Rita:

Добрый вечер!

проблема, почему-то, обозначилась.

Задаю в параметрах время работы эксперта:

Советник, словно, не видит этого условия! Молотит в тестере круглые сутки!

Вроде, задала-то всё правильно! Подскажите пож., почему не работает ?

if( TimeHour(TimeCurrent()) >= Start && TimeHour(TimeCurrent())<End) return(0);

 ИЛИ, это когда время начала больше времени конца:

if( TimeHour(TimeCurrent()) >= Start || TimeHour(TimeCurrent())<End) return(0)
 
Integer:

ИЛИ, это когда время начала больше времени конца:


В этом случае он всегда будет срабатывать.
 
Roger:

В этом случае он всегда будет срабатывать.

Проспись.
 
Integer:

Проспись.

Любое! число ИЛИ больше 9 ИЛИ меньше 19!!!
 
Roger:

Любое! число ИЛИ больше 9 ИЛИ меньше 19!!!

Купи букварь, научись читать.
 
Roger:
Замените И на ИЛИ.

всё верно.

для этого условия выхода и с этими значениями Start/End нужно ИЛИ .

Если (Час < 9 ИЛИ Час > 19) то return

то есть торгуем только с 9 до 19. в другое время return.

 
Roger:
Замените И на ИЛИ.
Это правильно, остальные посты можно не читать.
 

Еще раз для самых бестолковых

if( TimeHour(TimeCurrent()) >= Start || TimeHour(TimeCurrent())<End) return(0)

Это выражение будет срабатывать всегда.

if( TimeHour(TimeCurrent()) >= Start && TimeHour(TimeCurrent())<End) return(0);

Это условие будет останавливать советник с 9 до 19, как раз тогда, когда надо, чтобы он работал.

if( TimeHour(TimeCurrent()) <= Start || TimeHour(TimeCurrent())>End) return(0);
А вот это, что я предложил, будет работать как надо.
Причина обращения: