Справочник MQL4
Торговые функции
OrderModify
| bool OrderModify( |
int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE) |
Изменяет параметры ранее открытых позиций или отложенных ордеров.
Возвращает TRUE при успешном завершении функции.
Возвращает FALSE при неудачном завершении функции.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Замечания: цену открытия и время истечения можно изменять только у отложенных ордеров.
Если в качестве параметров функции передать неизмененные значения, то в этом случае будет сгенерирована ошибка 1 (ERR_NO_RESULT).
На некоторых торговых серверах может быть установлен запрет на применение срока истечения отложенных ордеров. В этом случае при попытке задать
ненулевое значение в параметре expiration будет сгенерирована ошибка 147 (ERR_TRADE_EXPIRATION_DENIED).
Параметры:
| ticket |
- |
Уникальный порядковый номер ордера. |
| price |
- |
Новая цена открытия отложенного ордера. |
| stoploss |
- |
Новое значение StopLoss. |
| takeprofit |
- |
Новое значение TakeProfit. |
| expiration |
- |
Время истечения отложенного ордера. |
| arrow_color |
- |
Цвет стрелок модификации StopLoss и/или TakeProfit на графике. Если параметр отсутствует или его значение равно CLR_NONE, то стрелки на графике не отображаются. |
Пример:
if(TrailingStop>0)
{
OrderSelect(12345,SELECT_BY_TICKET);
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Blue);
return(0);
}
}
}
|
|
|