OrderStopLoss() - цена закрытия выделенного ордера или позиции
В прошлом выпуске, рассказывая о функции OrderClosePrice(), я рассмотрел пример, как определить по какому ордеру (Stop Loss или Take Profit) была закрыта позиция, если точно известно, что она была закрыта по ордеру.
В этом примере была использована функция OrderStopLoss(). Из названия абсолютно понятно ее предназначение, но лучше все-таки остановиться на ней поподробнее.
Для того, чтобы изучение функции OrderStopLoss() стало не просто скучным теоретическим описанием, попробуем слегка изменить прошлый пример, чтобы получить максимум практической пользы.
Прошлый наш пример работал только в тех случаях, когда Stop Loss был сработан без проскальзывания. Изменим немного наш код:
//---- выбираем ордер/позицию с тикером 77777 if ( OrderSelect (77777, SELECT_BY_TICKET) == true) { // позиция выбрана успешно if ( ((OrderClosePrice() <= OrderStopLoss()) && (OrderType() == OP_BUY)) || ((OrderClosePrice() >= OrderStopLoss()) && (OrderType() == OP_SELL)) ) { // позиция закрылась по Stop Loss // ... } else { // позиция закрылась по Take Profit // ... } } else Print("OrderSelect() вернул ошибку - ",GetLastError());
Этот пример базируется на том, что:
- Если позиция была на покупку (условие OrderType() == OP_BUY истинно), то Stop Loss сработает или по цене ордера, или хуже, т.е. ниже: (OrderClosePrice() <= OrderStopLoss()).
- Если позиция была на продажу (условие OrderType() == OP_SELL истинно), то Stop Loss сработает или по цене ордера, или хуже, т.е. выше: (OrderClosePrice() >= OrderStopLoss()).
Таким образом, в любом из этих случаех мы можем быть уверены, что позиция закрылась по Stop Loss ордеру.
В нашем примере мы опять столкнулись с незнакомой функцией - OrderType(). Забегая вперед, скажу, что эта функция возвращает тип ордера, но более подробно я хотел бы рассмотреть ее в следующем выпуске.
Все статьи по теме "Пишем советников для MetaTrader 4".
- Механическая торговая система - миф или реальность?
- С чего начать при написании советника:
- Создаем нового советника - Настраиваем параметры. - Язык MetaQuotes Language 4: