Поставил нули на месте стоп-лоса и тека ордера открываются, а как дальше модифицировать?
Функция OrderModify()
Торговые приказы для модификации рыночных и отложенных ордеров формируются с помощью функции OrderModify().
bool OrderModify(int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE)
Функция изменяет параметры рыночных и отложенных ордеров. Функция возвращает TRUE при успешном исполнении торговой операции и FALSE при неудачном.
Параметры:
ticket - уникальный порядковый номер ордера.
price - новая заявленная цена для отложенного ордера или цена открытия рыночного ордера.
stoploss - новое значение StopLoss.
takeprofit - новое значение TakeProfit.
expiration - время истечения отложенного ордера.
arrow_color - цвет стрелок модификации StopLoss и/или TakeProfit на графике. Если параметр отсутствует или его значение равно CLR_NONE, то стрелки на графике не отображаются.
Замечания: цену открытия и время истечения можно изменять только для отложенных ордеров.
Как тут код прописать, чтобы нормально выглядел?))
void OpenMarketOrders() { int cnt=0; if (myOrderType==1 && ContinueOpening) { if ((Bid-LastPrice)>=Pips*Point || OpenOrders<1) { SellPrice=Bid; LastPrice=0; if (TakeProfit==0) { tp=0; } else { tp=SellPrice-TakeProfit*Point; } if (StopLoss==0) { sl=0; } else { sl=SellPrice+StopLoss*Point; } if (OpenOrders!=0) { mylotsi=lotsi; for(cnt=0;cnt<OpenOrders;cnt++) { if (MaxTrades>12) { mylotsi=NormalizeDouble(mylotsi*multiply,2); } else { mylotsi=NormalizeDouble(mylotsi*multiply,2); } } } else { mylotsi=lotsi; } if (mylotsi>100) { mylotsi=100; } OrderSend(Symbol(),OP_SELL,mylotsi,SellPrice,slippage,sl,tp,"Roy_MM"+MagicNumber,MagicNumber,0,ArrowsColor); return(0); }
Функция OrderModify()
Торговые приказы для модификации рыночных и отложенных ордеров формируются с помощью функции OrderModify().
Функция изменяет параметры рыночных и отложенных ордеров. Функция возвращает TRUE при успешном исполнении торговой операции и FALSE при неудачном.
Параметры:
ticket - уникальный порядковый номер ордера.
price - новая заявленная цена для отложенного ордера или цена открытия рыночного ордера.
stoploss - новое значение StopLoss.
takeprofit - новое значение TakeProfit.
expiration - время истечения отложенного ордера.
arrow_color - цвет стрелок модификации StopLoss и/или TakeProfit на графике. Если параметр отсутствует или его значение равно CLR_NONE, то стрелки на графике не отображаются.
Замечания: цену открытия и время истечения можно изменять только для отложенных ордеров.
Никак не могу применить эту функцию, не работает:
void OpenMarketOrders() { int cnt=0; if (myOrderType==1 && ContinueOpening) { if ((Bid-LastPrice)>=Pips*Point || OpenOrders<1) { SellPrice=Bid; LastPrice=0; if (TakeProfit==0) { tp=0; } else { tp=SellPrice-TakeProfit*Point; } if (StopLoss==0) { sl=0; } else { sl=SellPrice+StopLoss*Point; } if (OpenOrders!=0) { mylotsi=lotsi; for(cnt=0;cnt<OpenOrders;cnt++) { if (MaxTrades>12) { mylotsi=NormalizeDouble(mylotsi*multiply,2); } else { mylotsi=NormalizeDouble(mylotsi*multiply,2); } } } else { mylotsi=lotsi; } if (mylotsi>100) { mylotsi=100; } OrderSend(Symbol(),OP_SELL,mylotsi,SellPrice,slippage,0,0,"Roy_MM"+MagicNumber,MagicNumber,0,ArrowsColor); { OrderModify(Symbol(),OrderOpenPrice(),sl,tp,0,Blue); return(0); } }
Никак не могу применить эту функцию, не работает:
что не так делаю!?((
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования