Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Занеси ветку в избранное. Отслеживай изменения еще быстрее!
sidez0r
7
sidez0r 2016.09.04 19:51 

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

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
11583
Vitalie Postolache 2016.09.04 20:02  

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

 

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

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

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