Пятница, 03.05.2024, 22:29 Вы вошли как Гость | Группа "Гости" | RSS | Главная | функция OrderTakeProfit. | Мой профиль | Выход | Вход
Вы смотрели фильм-расследование Алексея Навального "Дворец президента"?
Всего ответов: 2
» Меню сайта

» РАЗНОЕ

» Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

функция OrderTakeProfit.

Изучим функцию 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());


 

» Поиск


гороскоп
» Мини-чат

» Наш опрос
Вы смотрели фильм-расследование Алексея Навального "Дворец президента"?
Всего ответов: 2

» Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • » Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0


    Copyright MyCorp © 2024
    Бесплатный хостинг uCoz