Новая версия платформы MetaTrader 5 build 5120: улучшения и исправления - страница 39
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В последней версии МТ 5142 ( после обновления МТ ) не работает штатный советник...
Прошу в новой версии исправить этот глюк...
Прикольная ошибка.
Если в названии скомпилированного файла советника одно название то результат торговый один,
если название другое то и результат другой-второй
При этом косячит и показывает результат второй в тех случаях если в названии файла стоят знаки + - = _
Кто что об этом знает? Раньше таких косяков не было- поэтому я и пишу про результат один.
беру один советник ексешник меняю его название и в тестере выходят разные результаты. колв-о сделок одинаковое.
весь день -менял редакторы кодировки искходные коды компы терминалы брокеров а вся фишка в названии файла
а может и от брокеров зависит у кого то есть у кого то нет. Раньше такого не было.
Это несерьезно. Почините сертификат, пожалуйста.
Сертификат в порядке, спасибо (как минимум, хром перестал ругаться)
а может и от брокеров зависит у кого то есть у кого то нет. Раньше такого не было.
Можно предположить, что дело в "ресурсе", который вшит в советник - проблема с ссылками, но я не проверял - просто мысль.
я просто нашел закономерсность, что у "плохих" файлов обычно кодировка, отличная от UTF-8
Я придумал новый способ найти сломанные файлы (которые Git считает бинарными) - следующая команда выведет их список:
Но команда выше выполняет поиск только среди файлов, которые добавлены в index. А стейджить файлы в основной репозиторий чтобы поискать сломанные не сильно хочется. Первое, что приходит в голову - скопировать корень проекта, инициализировать новый git repo, добавить файлы в index и запустить ту команду. Но вручную это делать долго, поэтому я написал навайбкодил (прости, Господи) скрипт для этого:
https://forge.mql5.io/boyvlad/mql-check-binary-surprises
Как пользоваться:
поэтому я написал навайбкодил (прости, Господи) скрипт для этого:
https://forge.mql5.io/boyvlad/mql-check-binary-surprises
Запустил на только что установленном MT5 (b5142) - 22 сломанных файла из коробки:
$ ./check-surprises.sh Initialized empty Git repository in C:/Users/home_pc/AppData/Roaming/MetaQuotes/Terminal/D0E8209F77C8CF37AD8BF550E51FF075/MQL5/.git/ warning: in the working copy of 'Include/Math/Alglib/integration.mqh', LF will be replaced by CRLF the next time Git touches it Number of files in the index: 396 Broken files: -text Experts/Examples/ChartInChart/ChartInChart.mq5 -text Experts/Examples/Correlation Matrix 3D/Correlation Matrix 3D.mq5 -text Experts/Examples/Math 3D Morpher/Math 3D Morpher.mq5 -text Experts/Examples/Math 3D/Functions.mqh -text Experts/Examples/Math 3D/Math 3D.mq5 -text Include/Canvas/Canvas3D.mqh -text Include/Canvas/DX/DXData.mqh -text Include/Canvas/DX/DXHandle.mqh -text Include/Canvas/DX/DXInput.mqh -text Include/Canvas/DX/DXObject.mqh -text Include/Canvas/DX/DXObjectBase.mqh -text Include/Canvas/DX/DXShader.mqh -text Include/Canvas/DX/DXTexture.mqh -text Include/Expert/Expert.mqh -text Include/Generic/ArrayList.mqh -text Include/Generic/Queue.mqh -text Include/Generic/RedBlackTree.mqh -text Include/Graphics/Graphic.mqh -text Include/Math/Stat/Math.mqh -text Indicators/Examples/WPR.mq5 -text Indicators/Examples/ZigZag.mq5 -text Scripts/Examples/ObjectSphere/SphereSample.mq5Видеопруф:
22 сломанных файла из коробки:
Взял рандомный файл из того списка чтобы доказать, что он сломан (доказал - пруфы на видео).
Файл взят из моего основного терминала (b5144), ибо я уже снес ту виртуалку (новый терминал, на котором я получал список сломанных файлов в предыдущем посте).
Тоже сделал так. По EURUSD cумма Bid с 2015 по 2025 совпала у несжатых и у восстановленных из float этим способом.
Сделал класс на основе RAM диска. С легким подключением к советникам 3-мя строками.
Вариант сжатия и Digits храню в файле. Думаю еще какие-то параметры инструмента надо будет добавить - определится по необходимости на практике.
Радует потребление памяти агентами: по 4Мб. Вместо 2-5 Гб или больше.
Надеюсь в MQL тестере тоже сделают использование 1-2 блоков памяти на всех агентов, а не по 1 на агент. Памяти станет всем хватать.
Оптимальное по скорости число файлов (блоков памяти): 2 (на сервере с 2 процами и на обычном рабочем ПК). Число тиков считываемых за 1 обращение к файлу взял 100 - так и для сжатых и не сжатых быстро будет.
На EURUSD с 2015 по 2025 размер несжатых файлов получился по 18Гб. Сжатые для Форекса - по 5,3Гб.
RAM диск
2025.07.03 16:33:26.912 Message Total time: 10186 мс
2025.07.03 16:33:40.264 Message Total time: 10235
2025.07.03 16:37:29.287 Message Total time: 10263
SSD диск
2025.07.03 16:38:51.408 Message Total time: 8803
2025.07.03 16:39:04.956 Message Total time: 8638
2025.07.03 16:39:20.112 Message Total time: 9508
2025.07.03 16:39:57.983 Message Total time: 9494
Неожиданно оказалось быстрее на 10%.
Считывал по 100 тиков из 2х файлов. Так что с RAM диском можно не париться.
Сейчас еще пооптимизирую на лучшее число файлов и число тиков.
Бывают странные ситуации с хэндлами индикаторов. Не инициализируются именно по error 4802, как будто его нет в каталоге Indicators.
P. S. Индикатор клиентский, исходного кода не имею.
Пример на видео
Так если это триальный индикатор из маркета, то он и должен запускаться только в тестере, но не в онлайне.
Оптимизация на число файлов от 1 до 10: на сжатых тиках для Форекс

С 10 файлами среднее (на глаз) 790мс, при 1 файле около 830, т.е. на 5% в среднем быстрее. 2 файла около 810 - т.е. на 2% хуже 10. Себе оставлю 2.


Оптимизация на число тиков считываемых за 1 обращение к файлу
От 100 до 1000 примерно на 1 уровне.
Аналогичные картинки оптимизации для не сжатых тиков:
Число файлов - 4 кажется самым быстрым, хотя и 1 хорошо для экономии места на диске.
Оптимизация на число тиков считываемых за 1 обращение к файлу, при 4-х файлах:


От 50 до 30 примерно одинаково быстро, - можно по умолчанию поставить 100-300, из лучшего диапазона для сжатых и несжатых тиков.
То же самое при 1-м файле
Вначале теста время скачет, потом становится примерно одинаковым для всех 4х агентов - видимо SSD как то закешировал данные и начал их выдавать максимально быстро.
При этом общее время теста упало с 85 до 54 секунд.
Оставляю 1 файл как самый быстрый вариант.
Предложение для MQ.
Жаль что на картинках не показывает среднее значение для каждого параметра оптимизации. Можно например при наведении мышкой или где-то в логах вывести.