![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В терминах MT5 поясните эту фразу.
в терминах mt5 имеется 54 позиции по 22 инструментам.
что лучше отжурналировать отдельно, чтобы внести ясность ?
журнал терминала из-за 32 экземпляров советника не разобрать - если включить логи, то там чёрт ногу сломит :-)
Если дело дошло до OrderSend, то при неудаче будет подробный лог. Если же OrderSend не выполнялся, то надо искать причину в своем коде.
Посмотрите, чему равно ACCOUNT_LIMIT_ORDERS.
Если дело дошло до OrderSend, то при неудаче будет подробный лог. Если же OrderSend не выполнялся, то надо искать причину в своем коде.
Посмотрите, чему равно ACCOUNT_LIMIT_ORDERS.
там много :-) 10k
и в ручную они открываются.
пока ощущение что с предела 54 открытых позиции (в терминах mt5) (или конкретно на ней), просто начинает фейлить OrderSelect
мелкого Sleep на переповторе вполне оказывается достаточно чтобы цена "убежала"
такая ругань в журнале присутсвует. Ситуация повторится - покажу журнал. Чуть понятнее куда смотреть, на что обращать внимание
---
это в очень активный момент рынка происходит, сигналы удачные - там и тики идут активно и в то-же время экземпляры робота открываются по прочим инструментам.
пока ощущение что с предела 54 открытых позиции (в терминах mt5) (или конкретно на ней), просто начинает фейлить OrderSelect
В PrintFormat выводите pos и OrdersTotal(). При этом логируйте это же состояние и ДО Sleep.
На демо-счете попробуйте воспроизвести (любым искусственным способом) подобную активность, чтобы добиться OrderSelect == false.
Если получится, понадобятся все данные для воспроизведения.
В PrintFormat выводите pos и OrdersTotal(). При этом логируйте это же состояние и ДО Sleep.
На демо-счете попробуйте воспроизвести (любым искусственным способом) подобную активность, чтобы добиться OrderSelect == false.
Если получится, понадобятся все данные для воспроизведения.
в точности такого-же пока не повторялось - всё таки много позиций это редкость.
но вот сегодня опять перевалило за 55 и тоже ошибка
зная логику, как эксперт работает, было такое: робот получил неверный ответ на OrderSend - всё было исполнено, но функция вернула ошибку. Поэтому бот повторил как только цена вернулась и получилось две сделки по одной цене (на скрине - одна из них уже закрыта руками)
Опять ордеров за 55 и инструмент не самый популярный (на скрине CADCHF)
----
пересоберу с новым,максимально актуальным mt4orders и понаблюдаю повнимательнее
в точности такого-же пока не повторялось - всё таки много позиций это редкость.
но вот сегодня опять перевалило за 55 и тоже ошибка
зная логику, как эксперт работает, было такое: робот получил неверный ответ на OrderSend - всё было исполнено, но функция вернула ошибку. Поэтому бот повторил как только цена вернулась и получилось две сделки по одной цене (на скрине - одна из них уже закрыта руками)
Опять ордеров за 55 и инструмент не самый популярный (на скрине CADCHF)
----
пересоберу с новым,максимально актуальным mt4orders и понаблюдаю повнимательнее
У меня также получилось на прошлой неделе, было задвоение.
В тот день интернет был очень паршивый, пинг большой.
Грешу на то, что данная ошибка от долгой связи сервер->терминал->сервер. Но могу и ошибаться.
В журнале ничего не увидел
У меня также получилось на прошлой неделе, было задвоение.
Разрешите ждать результата до 10-ти секунд.
Разрешите ждать результата до 10-ти секунд.
Круто!
Разрешите ждать результата до 10-ти секунд.
Попробую, но это случается настолько крайне редко, что нечем вам отрапортовать.
Круто!
А что крутого, терминал 5 так взаимодействует с сервером.