лучше посмотреть что ответный код даст после отправки
Укажите правильный тип исполнения
Nikolai Gushchenko:
Что делать в данной ситуации
//+------------------------------------------------------------------+ #include <Trade\Trade.mqh> CTrade m_trade; //+------------------------------------------------------------------+ bool PositionClose() { for(int i = PositionsTotal() - 1; i >= 0; i--) if(PositionGetTicket(i)) if(PositionGetString(POSITION_SYMBOL) == _Symbol && PositionGetInteger(POSITION_MAGIC) == Magic) if(!m_trade.PositionClose(PositionGetInteger(POSITION_TICKET))) return(false); return(true); } //+------------------------------------------------------------------+
На любых счетах закрывает нормально.
Судя по коду, тикет закрываемой позиции вам известен. Значит для закрытия позиции, вам достаточно одной строки)
m_trade.PositionClose(xT_1);
В CTrade обратите внимание на bool CTrade::FillingCheck(const string symbol) и режимы заполнения. Именно об этом говорит Рашид.
![Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте](https://c.mql5.com/36/53/dokumentaciya-po-mql5-konstanti__10.png)
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
- www.mql5.com
Информация об инструменте - Состояние окружения - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всех приветствую, столкнулся с проблемой закрытия выбранной позиции на Hedge счёте!
Задача была в том, чтобы советник выбирал конкретную позицию, и её самостоятельно закрывал без SL и TP, а как при нажатии кнопки "закрыть позицию" из терминала.
Но на стандартный закрывающий позицию код из справочника, терминал никак не реагирует. Закрывать позицию встречной мне не нужно...
Вариант который я нашел на просторах форума (который частично совпадает с вариантом из справочника) тоже не работает, на его основе написал следующий код, но когда выполняются условия для закрытия позиции - Result.retcode даёт код 10030 не верный тип исполнения...
Что делать в данной ситуации не понимаю. Профи, прошу помочь!