Как заработать деньги. Проект сам себе финансист.
май 2011
пн вт ср чт пт сб вс
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Главная » » »

OrderTakeProfit() - уровень Take Profit ордера

В прошлых выпусках мы уже достаточно сильно продвинулись в вопросе, как определить, была ли позиция закрыта по Take Profit ордеру или по Stop Loss. Параллельно мы изучили следующие торговые функции советника:

В данной статье мы изучим функцию OrderTakeProfit() и доработаем наш пример. Мы почему-то с первых строчек кода безусловно верим в тот факт, что позиция была закрыта именно по Stop Loss или Take Profit ордера. А если нет? Это легко проверить.

  • Если для позиции на покупку цена закрытия находится не ниже уровня Take Profit, то позиция закрыта по Take Profit.
  • Если для позиции на продажу цена закрытия находится не выше уровня Take Profit, то позиция закрыта по Take Profit.

Мы знаем, что уровень Stop Loss ордера выделенной позиции или ордера можно определить с помощью функции OrderStopLoss(). По аналогии уровень Take Profit определяется с помощью функции OrderTakeProfit():

 double OrderTakeProfit() 

Ордер должен быть предварительно выбран с помощью функции OrderSelect().

Изменим наш пример, чтобы убедиться, что позиция закрыта по ордеру, а не с рынка:

 //---- выбираем ордер/позицию с тикером 77777 if ( OrderSelect (77777, SELECT_BY_TICKET) == true) { // это позиция, а не отложеный ордер? if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL)) { // это закрытая позиция, а не открытая? if ( OrderCloseTime() != 0 ) { if ( ((OrderClosePrice() <= orderstoploss()) && (ordertype() == op_buy)) || ((ordercloseprice() >= OrderStopLoss()) && (OrderType() == OP_SELL)) ) { // позиция закрылась по Stop Loss // ... } else { if ( ((OrderClosePrice() >= OrderTakeProfit()) && (OrderType() == OP_BUY)) || ((OrderClosePrice() <= ordertakeprofit()) && (ordertype() == op_sell)) ) { // позиция закрылась по take profit // ... } else print("ошибка: позиция закрыта не по ордеру"); } } else print("ошибка: это не закрытая позиция, а открытая"); } else print("ошибка: это не закрытая позиция, а отложенный ордер"); } else print("orderselect() вернул ошибку - ",getlasterror()); 

В следующей статье мы продолжим изучение торговых функций языка MetaQuotes Language 4 и расскажем о функции OrderSymbol().



Автор статьи: Андрей Ведихин

Хомячковый рай. Уйти и потеряться:

Комментарии к этой заметке больше не принимаются.




Есть что сказать? Не стесняйтесь!






Последние статьи:

Выгодные «исламские счета» для трейдеров Форекс Выгодные «исламские счета» для трейдеров Форекс Таким образом, вне зависимости от стиля работы стоит использовать «исламские счета» и сотрудничать с компаниями, которые не берут с трейдеров swap-комиссии. ..
2014-09-29
Стоит ли покупать чужие торговые сигналы и прогнозы? Стоит ли покупать чужие торговые сигналы и прогнозы? И все же основным нашим советом станет отказ от покупки торговых сигналов и прогнозов. Куда лучше научиться анализировать валютный рынок и думать всегда только своей головой. ..
2015-02-12

Видео по теме:




В мире больших денег

  • Самые богатые люди
    планеты. Ежегодные рейтинги FORBS. Истории успеха признаных финансовых гуру
  • Самые дорогие вещи:
    Часы, автомобили, ноутбуки стоимотью в десятки и сотни тысяч долларов. Рубрика "Чтоб я так жил"
  • Денежные прогнозы
    Что покупать и что продавать? Периодические прогнозы цен на иностранные валюты, акции крупнейших компаний и драгоценные металлы

ВКонтакте с деньгами

УГОЛОК АДМИНИСТРАТОРА