Нужна пауза после закрытия ордера - страница 2

 
Oleg:

А почему нельзя использовать Метод Sleep(60000) [это ведь останавливает работу всего кода на 1 минуту]

Можно =)
Только если ордер только что закрыт.
А если мы не знаем, когда он закрыт? Может, и ждать не надо? ;)
 
Oleg:

А почему нельзя использовать Метод Sleep(60000) [это ведь останавливает работу всего кода на 1 минуту]

Пауза нужна после срабатывания Стопа (Трейлинг-Стопа). Явно Sleep() некуда вставить, нет OrderClose().
Допустим, на каком-то баре происходит закрытие позиции по Стопу. Эксперт же может учесть условия бара до закрытия для открытия позиции на этом же баре. Мне бы этого не хотелось.
 
Если бы сразу поставили задачу, я бы ещё посоветовал 2 варианта:

1. В блоке, где выбирается открытая позиция (например, в трейлинге), вставить строку
PositionClose_bartime = Time[0];
а перед открытием позиции добавить условие
if ( Time[0] > PositionClose_bartime )
{
...
Тогда позиция откроется только на следующем баре.

2. Для отлова событий (таких как срабатывание СЛ), написана функция.
Описана она в статье События в МetaТrader 4:

Статья посвящена программному отслеживанию событий в терминале МetaТrader 4, таких как открытие, закрытие и модификация ордеров.



Удачи ;)
 
Спасибо, посмотрю позже. Может поменяю код. Мой не работает, если закрытие произошло в другой день (вчера, позавчера...). Тоесть, он работает, но всё остальное не работает :-)
 
Прошу прощения, код работает нормально, форматы OrderCloseTime() и CurTime() одинаковы.
Подвело параллельное редактирование ещё одного параметра.
Всем спасибо и удачи!