![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну если буква r пропущена только здесь? в этом сообщении, то это "Очевидное не вероятное" у всех работает, а у тебя нет... Так не бывает.
Спасибо всем.
OderClosePrice() терминал не распознает.
Ему и не надо. Серверу передаётся цена, по которой должен быть закрыт ордер.
...
В логах этого не написано. И OrderClose не возвращает ошибок, а лишь true/false.
Всем спасибо за участие. Данный ниже код проверен на реале. Работает идеально. Его можно адаптировать под открытие ордеров или модификацию.
{
bool del=false;
while(!del && !IsStopped())
{
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
if(OrderType()==OP_SELL && ProfitPoints<=pointsSell)
{
bool err=true;
err=OrderClose(OrderTicket(),OrderLots(),SymbolInfoDouble(OrderSymbol(),SYMBOL_ASK),30,Red);
if(!err)
{
Print("Ошибка закрытия ордеров: ",GetLastError());
}
}
}
}
}
if(CountTrades(OP_SELL,Magic)==0) { PlaySound("ok.wav"); del=true; }
}
}