Новая версия платформы MetaTrader 5 build 2265: Функции DirectX для 3D-визуализации в MQL5 и настройка инструментов в тестере стратегий - страница 17

 
Сергей Таболин:


Профилировщик я не использовал, ибо такой задачи как оптимизация кода пока не стоит. Но спасибо, попробую.


Тем не менее для меня совсем не понятна такая ситуация. Ну, если бы оптимизация замедлилась пусть даже вдвое - я бы себе это ещё как-то объяснил. Но в десятки раз! ??? Не понимаю...


Отключал модули:

  1. onTester - на скорость оптимизации не влияет (по крайней мере - не заметно)
  2. HMA_SIG - без этого модуля оптимизация пошла быстрее. 
    0:37 против 1:15
    Модуль генерации сигнала по индикатору с ресурсом HMA5.

в профилировщике прогнать выбранный месяц и сразу будет видно где изменения, еще так-же видно, что вы сюда никогда не заходите, иначе бы видели, что здесь ВСЕГДА запрашивается код который можно исполнить и убедиться что есть изменения в новой сборке, а не в вашем коде. А иначе никто даже с места не встанет, это примерная фраза Рената.

 
Maxim Kuznetsov:

:-)

видимо Х получился -0, а арифметику оптимизировали

(exp(-x)==-1)?1:(1/(1+exp(-x)))) вот так тоже деление на 0

(1+exp(-x)==0)?1:(1/(1+exp(-x))) а так уже работает

 
Igor Zakharov:

(exp(-x)==-1)?1:(1/(1+exp(-x)))) вот так тоже деление на 0

(1+exp(-x)==0)?1:(1/(1+exp(-x))) а так уже работает

Потому что там NaN, его с чем ни сравнивай будет false. Для него есть функция MathIsValidNumber.

 

посомтрел отчет профилировщика С. Таболина там видно что Ctrade занял все время,

кстати сегодня обновлял терминал с 2265 на последний 2267 и в логе высыпало кучу ошибок обновления include, в том числе и trade библиотека

обновил сейчас второй терминал:

Terminal E:\MT5_2\MQL5\Include\Trade\Trade.mqh update failed [5]


 

Последние сборки имеют 4 проблемы


1) Компиляция без оптимизации очень медленная. Тот же код в МТ4 составляет 360 мс, в МТ5 3 секунды.

2) Инициализация прогона отладки очень медленная. MT4 составляет 1 секунду (захватывает 285 286). MT5 составляет 5 секунд (захватывает 283 284). Я загрузил снимки с одинаковым кодом на обеих платформах. Я загрузил видео с MT5 запустить тоже.

3) Каждый раз, когда вы начинаете отладку, код снова компилируется, даже если я ничего не модифицировал

4) Предупреждающие сообщения бесполезны и значительно сокращают время компиляции. Невозможно найти ошибки между тысячами глупых предупреждений.


Если новые сборки должны улучшить платформу, это очевидно с мета-кавычками; происходит обратное. Каждая сборка худшая. Медленнее, больше глючит и т.д ...

 
Juan Fernandez:

Если новые сборки должны улучшить платформу, это очевидно с мета-кавычками; происходит обратное. Каждая сборка худшая. Медленнее, больше глючит и т.д ...

Can I ask you to make screenshots in more suitable size? It is impossible to find useful information on your huge  pictures.

Also please insert pictures properly

 

Поддерживаю Хуана.

Пауза между окончанием компиляции и запуском отладки (не важно - в тестере или вживую) очень раздражает.

 
Rashid Umarov :

Can I ask you to make screenshots in more suitable size? It is impossible to find useful information on your huge pictures.

Also please insert pictures properly

Я обрезал фотографии, но мое разрешение 4K. Кто-нибудь кодирует на экранах низкого разрешения? Насчет вставки фото все в порядке. В следующий раз я напишу сразу в сообщении

 
Одну из возможных причин долгого запуска отладки устранили.

Исправление выйдёт в одном из билдов выше 2267
 
Ilyas : One of the possible reasons for the long start of debugging has been eliminated. A fix will be released in one of the builds above 2267


И почему компиляция без оптимизации происходит медленнее? До компиляции обеих платформ время было одинаковым. Сейчас в МТ5 в 10 раз медленнее

Причина обращения: