Ошибки, баги, вопросы - страница 1883

 

Повторный тест на скорость поднятия кеша чартов CopyXXX функциями в последнем релизе 1596 по сравнению с прошлым обсуждением: https://www.mql5.com/ru/forum/1111/page1871#comment_4867939

Описание условий
 MetaTrader 4 build 1065
MetaTrader 5 x64 build 1580
build 1596
Оборудование и операционка
Windows 10 Pro x64, Intel Xeon E5-2690 v3 @ 2.60GHz, RAM: 32 Gb, SSD Disk
Торговый сервер
MetaQuotes-Demo
MetaQuotes-Demo
Лимит баров на чартах в настройках
10 000
10 000
Лимит баров в истории в настройках 10 000 000
понятия об ограничении нет
Фактическое количество баров на диске у EURUSD, M1
 3.382 миллиона
6.538 миллиона
Проверяемый символ и период
EURUSD, M1
Открытые графики
только GBPUSD, M1, на него же бросается скрипт
Результаты холодные, после старта терминала
#0 pass, 1000 records in 680 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc
#0 pass, 1000 records in 113497 msc
#1 pass, 1000 records in 3 msc
#2 pass, 1000 records in 3 msc
#0 pass, 1000 records in 18288 msc
#1 pass, 1000 records in 7 msc
#2 pass, 1000 records in 2 msc
Результаты теплые, второй запуск сразу после первого
#0 pass, 1000 records in 13 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc
#0 pass, 1000 records in 14 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc
#0 pass, 1000 records in 13 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc

Тестовые скрипты приложены в исходном комментарии.

Время подъема с диска чарта (на диске 6.5 млн баров, поднималось 10 000 баров и запрашивалась 1000 последних баров, холодный старт) удалось снизить с 113 до 18 миллисекунд. Последующие запросы уже исполнялись за 2 микросекунды.
 
Renat Fatkhullin:

Повторный тест на скорость поднятия кеша чартов CopyXXX функциями в последнем релизе 1596 по сравнению с прошлым обсуждением: https://www.mql5.com/ru/forum/1111/page1871#comment_4867939

Описание условий
 MetaTrader 4 build 1065
MetaTrader 5 x64 build 1580
build 1596
Оборудование и операционка
Windows 10 Pro x64, Intel Xeon E5-2690 v3 @ 2.60GHz, RAM: 32 Gb, SSD Disk
Торговый сервер
MetaQuotes-Demo
MetaQuotes-Demo
Лимит баров на чартах в настройках
10 000
10 000
Лимит баров в истории в настройках 10 000 000
понятия об ограничении нет
Фактическое количество баров на диске у EURUSD, M1
 3.382 миллиона
6.538 миллиона
Проверяемый символ и период
EURUSD, M1
Открытые графики
только GBPUSD, M1, на него же бросается скрипт
Результаты холодные, после старта терминала
Результаты теплые, второй запуск сразу после первого

Тестовые скрипты приложены в исходном комментарии.

Время подъема с диска чарта (на диске 6.5 млн баров, поднималось 10 000 баров и запрашивалась 1000 последних баров, холодный старт) удалось снизить с 113 до 18 миллисекунд. Последующие запросы уже исполнялись за 2 микросекунды.

Молодцы!
 
Renat Fatkhullin:

Повторный тест на скорость поднятия кеша чартов CopyXXX функциями в последнем релизе 1596 по сравнению с прошлым обсуждением: https://www.mql5.com/ru/forum/1111/page1871#comment_4867939

Лучше переделать на SymbolsTotal.
 
fxsaber:
Лучше переделать на SymbolsTotal.

CopyTicks не асинхронная в скриптах и экспертах. Да и вообще нельзя в данном случае строго об асинхронности этих функций говорить. В индикаторах CopyXXX функции работают в режиме "выдать что есть сразу без задержек, а параллельно выставить режим фоновой подкачки".

MQL_MEMORY_USED не врет, так как показывает 1 мб использованной памяти. В самой программе из массивов данных есть только MqlTick Ticks[] на 2000 элементов, что дает 52 байта * 2000 = ~100 кб данных. Плюс остальные небольшие данные суммарно дают около мегабайта. Ну и округление до мегабайта вверх не надо забывать.

Поднятые кеши принадлежат терминалу, а не MQL5 программе.
 
Renat Fatkhullin:

CopyTicks не асинхронная в скриптах и экспертах.

Тот код в СД разбираем, т.к. не все гладко.

Имел же в виду, что хорошо бы Copy-функции проверить не на одном символе, а сразу на всех из Обзора рынка.

 

Торговый сервер Alpari-MT5

Зачем в тиковой истории FOREX-символов дубликаты тиков (bid и ask равны)?

Тестер гонит советники по дублям, а их половина. Разве нужно получать соответствующее падение производительности в два раза?

 
Просьба добавить режим отображения "Позиции" и в отчет одиночного прогона MT5-тестера.
 
Комментарии, не относящиеся к этой теме, были перенесены в "FAQ по сервису Сигналы".
 

Не знаю, как воспроизвести, но несколько раз сталкивался в 1598.

Запускаю отладку по CTRL+F5. Попадаю на DebugBreak и совсем не торопять смотрю на значения переменных, о чем-то мечтаю. И через некоторое время Визуализатор "Не отвечает", а затем и редактор "Не отвечает". Приходится убивать через TaskManager.

 
fxsaber:

Не знаю, как воспроизвести, но несколько раз сталкивался в 1598.

Запускаю отладку по CTRL+F5. Попадаю на DebugBreak и совсем не торопять смотрю на значения переменных, о чем-то мечтаю. И через некоторое время Визуализатор "Не отвечает", а затем и редактор "Не отвечает". Приходится убивать через TaskManager.

Будем разбираться.
Причина обращения: