Скачать MetaTrader 5

Пауза на текущем баре

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

Если позиция закрылась по стоп-лоссу, на текущем баре (минутный график) не открывать никаких позиций. Ждать появления следующего бара.

if (OrderSelect(GetLastTicket(), SELECT_BY_TICKET)) {
   if (OrderClosePrice() == OrderStopLoss())
      IsLastOrderClosedBySL = true;
}
   
if (IsLastOrderClosedBySL && FlagForBars) {
   MyBars = Bars;
   FlagForBars = false;
}

if (!IsLastOrderClosedBySL)
   FlagForBars = true;

...
...
...

if (IsLastOrderClosedBySL && Bars > MyBars) {
// открываем позицию
}

 Использую такую конструкцию, но почему-то работает не так, как нужно. На одной и той же минуте после стоплосса может открыть еще один ордер. 

 

Подскажите, пожалуйста, как правильно реализовать. 

Vitalie Postolache
12446
Vitalie Postolache  

А сравнивать минуту закрытия ордера с текущей минутой не проще будет? Ну или время закрытия ордера с временем открытия текущего бара, так универсальней.

 

if (IsLastOrderClosedBySL && Time[0] > OrderCloseTime()) {
// открываем позицию }
sidez0r
16
sidez0r  
evillive:

А сравнивать минуту закрытия ордера с текущей минутой не проще будет? Ну или время закрытия ордера с временем открытия текущего бара, так универсальней.

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