Настройка и устранение неполадок
Ошибка MT5 10014: как диагностировать неверный объем торгов
Когда MT5 сообщает о недопустимом объеме торгов, начните с запрошенного размера лота и спецификации символа. Изменение настройки несвязанного сигнала не будет объяснять объем торгов, от которого отказывается сервер.
Подтвердите точный код возврата
Код торгового сервера 10014 — TRADE_RETCODE_INVALID_VOLUME. Запишите его вместе с запрошенным объемом торговли и символом. Держите код возврата сервера отдельно от GetLastError, который сообщает о другом классе программы или ошибке времени выполнения. Статья в журнале о том, что торговля провалилась, слишком расплывчата, чтобы дать точное решение.
Проверьте сетку объема торгов
Прочтите SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX и SYMBOL_VOLUME_STEP. Например, если минимум и шаг равны 0.01, запрошенный лот 0.015 не находится в этой сетке. Проверьте текущий символ, а не предполагайте, что каждый брокер или инструмент принимает одинаковое приращение лота.
Сделайте размеры и округление явными
Рассчитайте предполагаемый размер, выровняйте его по принятому приращению и проверьте границы. Если округление в меньшую сторону оказывается ниже минимального значения, необходимо явно решить, должна ли стратегия пропускать ввод. Автоматическое округление в большую сторону может превысить первоначальный замысел. Также отдельно проверяйте любые совокупные ограничения объема направленной торговли.
Проверьте полный запрос
- Зарегистрируйте необработанный и согласованный объем торгов.
- Проверьте запрос с помощью OrderCheck и проверьте его поля результата.
- Отправляйте только действительный запрос в предполагаемой тестовой среде.
- Проверьте фактический результат работы сервера; предварительная проверка не гарантирует исполнения.
Сделайте это своим с MQLume
Редактируемый источник делает этот диагноз более конкретным: вы можете следить за расчетом размеров вплоть до запроса. См.My AI Gold MT5и ваши пользовательские расчеты будут легко проверяться.