Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 4130
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Я часто задумывался и задавал вопросы на форуме: "Какой компьютер выбрать для максимальной производительности терминалов МetaТrader 4 и МetaТrader 5 ?" Данный вопрос интересует многих в момент апгрейда или покупки нового ПК с упором на производительность МetaТrader, что лучше купить? На платформе Intel или AMD? Сколько и какая оперативная память должна быть ? Какая материнская плата? Какой выбрать диск для хранения данных: SSD или HDD ?
Разработчики нахваливают производительность и супер скорости терминала МetaТrader 5, но как обычному трейдеру или программисту-любителю проверить слова разработчиков и лично убедиться в том, что они говорят? Писать некий код? А какой? Чем проверить? Как вообще сравнить производительность терминалов МetaТrader 4 и МetaТrader 5?
В общем, я долго думал и решил написать скрипт-тестер производительности ПК и терминалов МetaТrader 4 и МetaТrader 5.
Часть кодов взята из темы Тестирование нового компилятора MQL5 для x64 платформ - ускорение расчетов от 2 до 10 раз!
Все что я сделал, это объединил коды всех тестов в один скрипт и добавил все эти коды через класс, то есть скрипт тестирует ПК и терминалы в двух типах программирования: процедурном и ООП. Также я добавил несколько тестов, связанных с отрисовкой графических объектов, их перемещением и удалением, плюс работа теста с классом CCanvas, плюс замер скорости работы функции CopyRates при копировании 1 000 000 минутных баров. Всего 45 тестов.
Также с помощью скрипта можно проверять VPS и VDS хостеров на честность (на тестовых периодах сравнивать производительность).
Предлагаю вам принять участие в тестировании своих ПК по моему примеру. Я сделал тест на своем ПК при максимальной производительности ПК с пустой автозагрузкой.
Принцип работы скрипта: после запуска скрипт поэтапно проводит тесты, создает и удаляет все необходимое для теста, в конце теста сам откроет таблицу с результатами.
Мой рабочий ПК:
- Имя ОС: Windows 10 Pro
- Тип: Компьютер на базе x64
- Процессор: AMD Phenom(tm) II X6 1100T Processor, 3311 МГц, ядер: 6, логических процессоров: 6
- ОЗУ: (RAM) 8,00 ГБ
- Диск: SSD Модель OCZ-AGILITY3 90 гб
И вот какой результат:
| MT4 | MT5 | Во сколько раз МТ5 быстрее | ||
|---|---|---|---|---|
| ===TERMINAL INFO=== | 0 | 0 | ||
| TERMINAL_BUILD | 902 | 1210 | Build | |
| TERMINAL_CPU_CORES | 6 | 6 | Cores | |
| TERMINAL_DISK_SPACE | 14228 | 14134 | Mb | |
| TERMINAL_MEMORY_PHYSICAL | 8107 | 8107 | Mb | |
| TERMINAL_MEMORY_TOTAL | 4095 | 16214 | Mb | |
| TERMINAL_MEMORY_AVAILABLE | 3737 | 0 | Mb | |
| TERMINAL_MEMORY_USED | 358 | 33245 | Mb | |
| ===TEST=== | 0 | 0 | ||
| Test Ackermann | 2406 | 0 | MilSek | Абсолют * |
| Test Ackermann OOP | 2969 | 0 | MilSek | Абсолют |
| Test Arrays | 21422 | 297 | MilSek | 72,13 |
| Test Arrays OOP | 7312 | 437 | MilSek | 16,73 |
| Test BubbleSort | 13422 | 672 | MilSek | 19,97 |
| Test BubbleSort OOP | 4297 | 656 | MilSek | 6,55 |
| Test Call | 969 | 0 | MilSek | Абсолют |
| Test Call OOP | 906 | 0 | MilSek | Абсолют |
| Test Fibo | 2594 | 0 | MilSek | Абсолют |
| Test Fibo OOP | 2656 | 0 | MilSek | Абсолют |
| Test Float | 2359 | 0 | MilSek | Абсолют |
| Test Float OOP | 2516 | 0 | MilSek | Абсолют |
| Test Matrix | 20969 | 672 | MilSek | 31,20 |
| Test Matrix OOP | 7984 | 656 | MilSek | 12,17 |
| Test Moments | 7578 | 5578 | MilSek | 1,36 |
| Test Moments OOP | 7266 | 5594 | MilSek | 1,30 |
| Test NestedLoop | 5672 | 0 | MilSek | Абсолют |
| Test NestedLoop OOP | 6015 | 0 | MilSek | Абсолют |
| Test PiCalculate | 12000 | 3515 | MilSek | 3,41 |
| Test PiCalculate OOP | 11953 | 3500 | MilSek | 3,42 |
| Test QuickSort | 11734 | 2110 | MilSek | 5,56 |
| Test QuickSort OOP | 12782 | 1234 | MilSek | 10,36 |
| Test Random | 3297 | 516 | MilSek | 6,39 |
| Test Random OOP | 3203 | 531 | MilSek | 6,03 |
| Test Sieve | 18828 | 1078 | MilSek | 17,47 |
| Test Sieve OOP | 18890 | 1094 | MilSek | 17,27 |
| Test StrCat | 47 | 1578 | MilSek | 0,03 |
| Test StrCat OOP | 47 | 1766 | MilSek | 0,03 |
| Test String | 250 | 437 | MilSek | 0,57 |
| Test String OOP | 235 | 453 | MilSek | 0,52 |
| Test StrPrep | 5406 | 1922 | MilSek | 2,81 |
| Test StrPrep OOP | 5500 | 1938 | MilSek | 2,84 |
| Test StrRev | 6719 | 4265 | MilSek | 1,58 |
| Test StrRev OOP | 7125 | 4297 | MilSek | 1,66 |
| Test StrSum | 5843 | 3922 | MilSek | 1,49 |
| Test StrSum OOP | 5844 | 3984 | MilSek | 1,47 |
| Test ObjectCreate | 63 | 157 | MilSek | 0,40 |
| Test ObjectMove | 46 | 343 | MilSek | 0,13 |
| Test ObjectDelete | 579 | 0 | MilSek | Абсолют |
| Test ObjectCreate OOP | 46 | 125 | MilSek | 0,37 |
| Test ObjectMove OOP | 63 | 328 | MilSek | 0,19 |
| Test ObjectDelete OOP | 547 | 0 | MilSek | Абсолют |
| Test CopyRates | 94 | 0 | MilSek | Абсолют |
| Test Canvas | 30078 | 28047 | MilSek | 1,07 |
| Test Print(Hello, world!!!) | 1047 | 7453 | MilSek | 0,14 |
| Test Final | 281594 | 89609 | MilSek | 3,14 |
* Абсолют — абсолютное превосходство MetaTrader 5.
// Важно!!! Не рекомендуется вносить правки в скрипт без понимания последствий. // Скрипт предназначен для оценки производительности ЭВМ (Планшет, Десктоп/Стационар, VPS/VDS серверы, Серверы). // Скрипт тестирует ЭВМ в 45 тестах разной направленности в двух видах программирования: ООП и процедурном. // Часть кода взята из открытых источников https://www.mql5.com/ru/forum/58241 Автор Renat Fatkhullin // Программу собрал Vladimir Pastushak https://www.mql5.com/ru/users/voldemar // Основной показатель производительности - время. Чем меньше времени ушло на вычисления, тем более производительна ЭВМ и Терминал МetaТrader.