римеры использования функции ModifyOrder().
Самыми первыми я решил дать примеры, о которых меня уже спрашивали неоднократно. Это открытие позиций в условиях рыночного исполнения торговых заявок Market Watch. Это когда нельзя одновременно отдать приказ на открытие позиции по рыночной цене и прикрепить к ней отложенный ордер. Такое открытие в условиях Market Watch нужно выполнять в два этапа: сначала открывать позицию, а потом прикреплять к ней отложенные ордера, то есть устанавливать ценовые уровни StopLoss и TakeProfit.
1. Купить 0.1 лота текущего инструмента и установить стоп 30 пунктов int ti=OpenPosition(NULL, OP_BUY, 0.1);
if (OrderSelect(ti, SELECT_BY_TICKET))
ModifyOrder(-1, Ask-30*Point, -1, clModifyBuy);
2. Продать 0.15 лота текущего инструмента и установить SL=45, TP=99 int ti=OpenPosition(NULL, OP_SELL, 0.15);
if (OrderSelect(ti, SELECT_BY_TICKET))
ModifyOrder(-1, Bid+45*Point, Bid-99*Point, clModifySell); В прицепе работающий скрипт с примерами. |