Новая версия платформы MetaTrader 5 build 4150: экспорт торгового отчета и новые методы машинного обучения в MQL5 - страница 17
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Предложение по расширению возможностей.
Есть команда Sleep(). Которая делает паузу в выполнении программы на нужное количество миллисекунд. Но в тестере/оптимизаторе она не делает паузы и грузит процессор на 100% огромным числом проверок.
Например это нужно при первой загрузке индикаторов для ожидания окончания расчетов от начала котировок. Рекомендованный вами https://www.mql5.com/ru/docs/files/filewrite код:
Хорошо бы сделать SleepRealTime() или вариант Sleep(int ms, bool is_real_time=false) который будет делать паузу и в тестере в реальном времени, это позволит не загружать процессор на 100%.
Кроме работы с индикаторами реальная пауза нужна и в работе с файлами, например может быть нужным дождаться появления файла и только потом считать его. 100%-ная загрузка была замечена именно в этом варианте, файл ожидался несколько минут. Возможны и другие варианты использования паузы в реальном времени в тестере.
Сейчас использую
Но хорошо бы иметь штатный вариант без DLL.
Вы понимаете, как работает Sleep в тестере?
В тестере для загрузки индикаторов и ожидания их расчётов не нужна никакая задержка, так как всё работает в одном и том же потоке. Какое "появление файла" в тестере Вы имеете в виду???
Зачем Вам нужна реальная задержка в тестере?
Вы понимаете, как работает Sleep в тестере?
В тестере для загрузки индикаторов и ожидания их расчётов не нужна никакая задержка, так как всё работает в одном и том же потоке. Какое "появление файла" в тестере Вы имеете в виду???
Зачем Вам нужна реальная задержка в тестере?
Про Sleep() читал https://www.mql5.com/ru/docs/runtime/testing#sleep
Файл, который создаст внешняя программа, например файл с моделью нейросети/бустинга после обучения. Потом этот файл нужно считать и использовать.
Файл, который создаст внешняя программа, например файл с моделью нейросети/бустинга после обучения. Потом этот файл нужно считать и использовать.
4153 все еще не работает: (по всем проблемам коды для воспроизведения есть)
свопы в конце теста, до прохождения времени ролловера (в 0:00). Некоторые инструменты начисляют своп, некоторые нет. Сделайте одинаково.
https://www.mql5.com/ru/forum/455977/page36#comment_51235008
--------------------------------------------------------------------
свопы != *3 при старте теста в среду
https://www.mql5.com/ru/forum/455977/page33#comment_51191078
--------------------------------------------------------------------
Demo MQ. время закрытия сделки < времени открытия, с ценой на момент времени до открытия сделки
https://www.mql5.com/ru/forum/455977/page36#comment_51246904
---------- То же самое на ДЦ ал-ри:
время закрытия сделки < вр открытия, ДЦ ал-ри
https://www.mql5.com/ru/forum/455977/page34#comment_51223568
--------------------------------------------------------------------
Demo MQ. цена 1 сделки неверная по придуманному тику - есть же в истории, почему не взять?
https://www.mql5.com/ru/forum/455977/page36#comment_51248196
---------- То же самое на ДЦ ал-ри:
old tick и bid=0 ->создает неверный придуманный тик, ДЦ ал-ри - расписал подробно возможную причину появления bid=0, пора бы уже решить многолетнюю проблему.
https://www.mql5.com/ru/forum/455977/page31#comment_51064858
MetaQuotes:
13. MetaEditor: Увеличена частота сэмплирования при профилировании. Теперь состояние приложения снимается 10000 раз в секунду, что позволяет замерять скорость исполнения функций гораздо точнее.
b4160.
Про Sleep() читал https://www.mql5.com/ru/docs/runtime/testing#sleep
Файл, который создаст внешняя программа, например файл с моделью нейросети/бустинга после обучения. Потом этот файл нужно считать и использовать.
Файл, который создаст внешняя программа, в процессе тестирования или до тестирования?
Файл, который создаст внешняя программа, в процессе тестирования или до тестирования?
Похоже, в процессе. Тогда без NewSleep никак.
b4160, получаю замедление оптимизации на ~8% при смене inMode. Почему?
Тестерный профайлер в большом советнике указал на SymbolInfoTick. Решил проверить напрямую кодом выше.Файл, который создаст внешняя программа, в процессе тестирования или до тестирования?
Впрочем внешнюю программу я все равно через DLL WinExec запускаю. Так что без DLL все равно ничего не получится, даже если будет Sleep() реалтаймовый.
Лучше с тиками и свопами разобраться. Эти глюки присутствуют абсолютно у всех в каждом тесте. Можете воспроизвести
Последний релизный МТ5. Есть скрипт, он запускает один за другим пачку одиночных тестов в тестере через нажатие кнопки Старт, т.е. идентично запуску подряд одиночных тестов руками.
Периодически тест он отказывается проводить, ничего не происходит. В более ранних версиях (порядка год-два назад) чтобы вернуть работоспособность тестера приходилось рестартовать терминал. Сейчас можно просто подождать и дальше гнать тесты. Когда изменилось-не отслеживал. Как повторить-неизвестно, происходит рандомно. В логах вот так. Это конец прошлого прохода:
И сразу за ним попытка следующего прохода:
Просьба посмотреть, что может отвалиться, может больше отладки в лог писать. Повторяется нечасто, но неприятно, просто случайным образом часть тестов где-то в середине может тихо отвалиться.