В предыдущей статье мы узнали о реализации алгоритма трейлинг стопа на языке MetaQuotes Language 4.
int err; if (OrderType() == OP_BUY) { // позиция на покупку if ((Bid-OrderOpenPrice())>=(TrailingStop*Point)) { // выставляем Stop Loss if (OrderModify(OrderTicket(), OrderOpenPrice(), Bid-TrailingStop*Point, OrderTakeProfit(), 0)) Print("#", OrderTicket(),": trailing stop ", Bid-TrailingStop*Point); else { err = GetLastError(); Print("#", OrderTicket(),": trailing stop error ", err); } } } else { // позиция на продажу if ((OrderOpenPrice()-Ask)>=(TrailingStop*Point)) { // выставляем Stop Loss if (OrderModify(OrderTicket(), OrderOpenPrice(), Ask+TrailingStop*Point, OrderTakeProfit(), 0)) Print("#", OrderTicket(),": trailing stop ", Ask+TrailingStop*Point); else { err = GetLastError(); Print("#", OrderTicket(),": trailing stop error ", err); } } }
В этом примере нами была использована функция OrderTicket():
int OrderTicket()
Эта функция возвращает тикер выделенного с помощью функции OrderSelect() ордера или позиции.
В следующей статье мы продолжим рассмотрение торговых функций.
Есть что сказать? Не стесняйтесь!
Последние статьи:
Видео по теме:
УГОЛОК АДМИНИСТРАТОРА