После того, как мы выделим ордер или позицию с помощью функции OrderSelect(), мы можем получить об ордере саму различную информацию. В данной статье будет рассказано о функции OrderClosePrice().
Формат функции OrderClosePrice():
double OrderClosePrice()
Функция OrderClosePrice() возвращает цену закрытия ордера или позиции, выделенной с помощью функции OrderSelect().
Рассмотрим пример использования функции OrderClosePrice(). Предположим, что мы знаем, что позиция закрылась по ордеру и нам надо определить по какому: по Stop Loss или Take Profit:
//---- выбираем ордер/позицию с тикером 77777 if ( OrderSelect (77777, SELECT_BY_TICKET) == true) { // позиция выбрана успешно if ( OrderClosePrice() == OrderStopLoss() ) { // позиция закрылась по Stop Loss // ... } else { // позиция закрылась по Take Profit // ... } } else Print("OrderSelect() вернул ошибку - ",GetLastError());
К сожалению, наш пример будет работать только в тех случаях, когда Stop Loss сработал без проскальзывания. В следующих выпусках мы усложним пример и сделаем так, чтобы даже если ордера были сработаны с проскальзыванием, наш кусочек кода правильно это определял.
В этом примере Вам незнакома функция OrderStopLoss(). Эта функция возвращает значение Stop Loss выделенного ордера или позиции. Подробно эту функцию мы рассмотрим в следующей статье.
Есть что сказать? Не стесняйтесь!
Последние статьи:
Видео по теме:
УГОЛОК АДМИНИСТРАТОРА