К содержимому
Форекс
на автомате

Retcode 10030 после переезда на другой счёт

y.bogdanovс 02.2024
Исследователь
9сообщений
Автор темы#1
Перенёс советника на ECN-счёт другого брокера, и все заявки отбиваются: retcode=10030, Unsupported filling mode. На старом счёте год работал без единой такой ошибки, в коде стоит ORDER_FILLING_FOK, его не трогал. Это теперь под каждого брокера подбирать руками?
Светланас 02.2022
Исследователь
7сообщений
#2
Руками не надо, спроси у символа. Режим заполнения разрешается для символа, и у разных брокеров, а иногда у разных символов одного брокера, набор разный. На старом FOK был разрешён, на новом, видимо, только IOC. Я делаю так:
Код:
ENUM_ORDER_TYPE_FILLING PickFilling(const string sym) { long modes = SymbolInfoInteger(sym, SYMBOL_FILLING_MODE); if((modes & SYMBOL_FILLING_FOK) == SYMBOL_FILLING_FOK) return ORDER_FILLING_FOK; if((modes & SYMBOL_FILLING_IOC) == SYMBOL_FILLING_IOC) return ORDER_FILLING_IOC; return ORDER_FILLING_RETURN; }
И это значение в request.type_filling. Return оставлен на крайний случай, при некоторых режимах исполнения он не пройдёт, тогда смотри режим исполнения символа. Ещё момент: с IOC может прийти не весь объём, остаток просто снимается. Если советник считает, что открылся полным лотом, сверяй объём позиции после сделки. Коды возврата и разбор ответа тут: https://www.mql5.com/ru/docs/trading/ordersend
Продолжить обсуждение

Для ответа войдите в свой аккаунт.

Войти
← Предыдущая темаСледующая тема →