Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Проверка.
Результат.
1.62 mcs/unit.При большом количестве MT5-сделок/ордеров в ByPass-режиме (использую, например, в CustomReport) первое обращение к истории может занимать много времени.
14 секунд!
Оказалось, что тормоза исходят от ArrayCopy-функции.
Такая правка в Include\fxsaber\TradesID\ByPass.mqh
увеличивает производительность в 4.5 раза - ~3 секунды.
Наглядный пример, что частая работа с массивами должна быть с умом. В данном случае static позволяет не выделять в ArrayCopy каждый раз память под массив. И получаем кратный рост производительности в реальной задачи, который ощущается невооруженным взглядом.
При большом количестве MT5-сделок/ордеров в ByPass-режиме (использую, например, в CustomReport) первое обращение к истории может занимать много времени.
Hello author, while using the OrderSendAsync function, I noticed that MT4ORDERS::LastTradeResult.retcode equals TRADE_RETCODE_DONE . However, in your code, it checks whether MT4ORDERS::LastTradeResult.retcode == TRADE_RETCODE_PLACED . Could this be a mistake, or is it my misunderstanding?
while using the OrderSendAsync function, I noticed that MT4ORDERS::LastTradeResult.retcode equals TRADE_RETCODE_DONE
Server name?
I forgot to mention that I am using the MT5 tester. It should have nothing to do with the server, right?
I forgot to mention that I am using the MT5 tester. It should have nothing to do with the server, right?
В Тестере для первого удачного выполнения MT5-OrderSend/OrderSendAsync всегда MqlTradeResult.request_id == 0.
Считаю это поведение недоработкой со стороны MQ, т.к. request_id должен начинаться с единицы.
Это одна из причин, почему в MT4Orders реализация OrderSendAsync для Тестера не сделана. Есть и другая менее веская причина (из книги).