Скачать MetaTrader 5

Помогите исправить код

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
bibuka
478
bibuka  

Есть код перерыва, и советник ставит и закрывает ордера. Что изменить чтобы он просто не ставил лоты?

 input string     TimeStart = "00:00"; // Начало перерыва

input string    TimeFinish = "00:00"; // Окончание перерыва

 

 if(TimeF(TimeStart,TimeFinish) && TimeStart!=TimeFinish)ClosDel(Ord);

bibuka
478
bibuka  
Я так понимаю что все дело в ClosDel(Ord), что поставить чтобы в перерыв просто не торговал, вообще был неактивный советник
Vitalii Ananev
9296
Vitalii Ananev  
bibuka:

Есть код перерыва, и советник ставит и закрывает ордера. Что изменить чтобы он просто не ставил лоты?

 input string     TimeStart = "00:00"; // Начало перерыва

input string    TimeFinish = "00:00"; // Окончание перерыва

 

 if(TimeF(TimeStart,TimeFinish) && TimeStart!=TimeFinish)ClosDel(Ord);

Из вашего фрагмента кода совершенно не понятно, что делает советник.

Что возвращает функция  TimeF() и что делает функция ClosDel?

Что бы советник не "ставил лоты", просто не вызывайте функцию OrderSend()

bibuka
478
bibuka  
А можно код написать чтобы с 22 до 3 советник не ставил лоты?
Vitalii Ananev
9296
Vitalii Ananev  
bibuka:
А можно код написать чтобы с 22 до 3 советник не ставил лоты?

Вам нужны две функции TimeCurrent() (возвращает текущее время сервера) и TimeHour() (возвращает час заданного в параметрах функции времени).

В вашем случае:

if (TimeHour(TimeCurrent())>3 && TimeHour(TimeCurrent())<22 )
{
 //ставить лоты можно
  ....
}

 Как то так примерно.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий