OrderClosePrice() - цена закрытия выделенного ордера или позиции
После того, как мы выделим ордер или позицию с помощью функции 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 выделенного ордера или позиции. Подробно эту функцию мы рассмотрим в следующем выпуске.
Все статьи по теме "Пишем советников для MetaTrader 4".
- Механическая торговая система - миф или реальность?
- С чего начать при написании советника:
- Создаем нового советника - Настраиваем параметры. - Язык MetaQuotes Language 4: