Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
один синхронизирующийся объект базы символов. Read / Write локи перемешаны, так как постоянно идет запись тиков.
Один объект базы символов сразу на все символы? Если так, то получается, что запрос тика по EURUSD потенциально тормозит запрос тика по GBPUSD.
Можете к моменту вызова OnTick подготовить для него MqlTick, чтобы его не запрашивать из базы на общих основаниях?
Можете к моменту вызова OnTick подготовить для него MqlTick, чтобы его не запрашивать из базы на общих основаниях?
было бы неплохо, тогда возможно в MQL5 появятся предопределенные переменные как было в 4-ке - Ask и Bid
Скорее всего, тормоза вызваны большим потреблением CPU со стороны MT5, когда запущенно много советников. Не знаю, как с этим у MT4. Иначе сложно объяснить, почему лаги появляются в параллельно запущенном пустом Терминале.
Однозначно, сведение к минимуму использование API торгового окружения, решит проблему. После плясок с бубнами отпишусь о результатах.
Не правильно поняли. Каждый советник является исключительно торговым (в Тестере по реальным тикам не тормозит) и не зависит от других. Вся торговая логика выполняется только в OnTick, не спамит торговыми ордерами, без рекурсий, без глобалок и ресурсов.
OnTrade*, OnBook - не используются. Секундный таймер и OnChartEvent на случай нажатия определенных клавиш.
Уверен, что грамотная реализация (с вашей или моей стороны) снепшотов поможет очень сильно снизить количество вызовов штатных функций окружения. Соответственно, лаги значительно уменьшатся.
Никак не думал, что дойдет до снепшот-ухищрений. Изучаю вопрос, т.к. стандартная реализация MT5-советника хромает, к сожалению.
Вообще не верится в ваш кейс.
Через TeamViewer или подобное готов продемонстрировать.
Прошу дать рекомендацию, как уменьшить потребление памяти Терминалом? Использую свежие тики из CopyTicks для 16-ти символов. Вроде, каждый CopyTicks держит в памяти 128К тиков. Они мне не нужны совсем, но в памяти лежат - пусть. На что почти 1.5 GB уходит? Разработчики могут посмотреть у себя, какая часть памяти на что расходуется? Какой-нибудь примитивный Диспетчер задач.
Скорее всего, тормоза вызваны большим потреблением CPU со стороны MT5, когда запущенно много советников. Не знаю, как с этим у MT4. Иначе сложно объяснить, почему лаги появляются в параллельно запущенном пустом Терминале.
Однозначно, сведение к минимуму использование API торгового окружения, решит проблему. После плясок с бубнами отпишусь о результатах.
Именно об этом и говорил несколько страниц назад. Причем советники могут быть совсем простыми и на неликвидных символах, то есть дело не в количестве математических операций, происходящих внутри кода каждого из советников. Проблема кроется в самом терминале и нам ее улучшением своего кода не побороть. К сожалению :(
P.S Переписал логику, используемую в половине своих советников, c OnBook обратно на OnTick, заменил Core i5 на Xeon E5-2678. Казалось бы скорость должна увеличится, но увы, чуда не произошло :(
Почти на каждом шаге.
Надеюсь, сборка кеша не занимает столько времени, и этот лаг связан с обращением к БД во время ее обновления.
Any idea why mt5 does not feature the 'Commissions' tab? They only pop up after a trade is closed.
Есть идеи, почему в mt5 нет вкладки «Комиссии»? Они появляются только после закрытия сделки.
Если запустить этот советник на счете, где нет текущих позиций и ордеров.
и затем закрыть руками открытую советником позицию, то появятся три открытые позиции на хедже (на неттинге позиция тройного объема).
Это правильное поведение? Скорее всего, неверно понимаю работу Терминала. Тогда прошу пояснить.