VR 系统测试 MT5 - MetaTrader 5脚本
- 显示:
- 2145
- 等级:
- 已发布:
- 2015.12.15 10:29
- 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
我经常在想, 并在论坛上提问: "选择什么样的电脑可为 MetaTrader 4 和 MetaTrader 5 终端提供最高性能?" 因重点关注 MetaTrader 性能而升级或购置新电脑时, 很多人对这个问题十分感兴趣, 买哪一种更好?Intel 为基础的或是 AMD?应该配置多少以及何种内存?哪块主板?选择哪类数据存储设备: SSD 或 HDD ?
开发者盛赞 МetaТrader 5 终端的性能和超级速度, 但一般的交易者和业余程序员如何自行验证开发者的言论?编写一些代码?但哪些呢?检查什么呢?如何全面比较 МetaТrader 4 和 МetaТrader 5 的性能?
无论如何, 我思考了一阵儿, 决定编写一个测试脚本来检查电脑、MetaTrader 4 和 MetaTrader 5 终端的性能。
部分代码取自 测试 x64 平台的新 MQL5 编译器 - 计算速度提升 2 至 10 倍! 话题。
我所做的一切就是把所有的测试代码到一个脚本里, 并通过一个类添加所有这些代码, 即, 脚本以两种编程方式测试 PC 和终端: 过程和面向对象。我还添加了一些有关的图形对象渲染的测试代码, 它们的置换和删除, 加入 CCanvas 类的处理测试, 加入 CopyRates 函数拷贝 1 000 000 分钟柱线的操作时间测量。总共 45 项测试。
此外, VPS 和 VDS 主机的诚信可以通过脚本进行检查 (通过比较测试期间的结果)。
欢迎您根据我的例子参与您的电脑测试。我在自己的电脑上清空自启动程序, 运行这个测试获得最高性能。
脚本的操作原理: 一旦启动, 脚本按部就班运行测试, 创建并删除测试所需的一切, 最后自行打开一个结果清单。
我的工作 PC:
- 操作系统名称: Windows 10 专业版
- 类型: 基于 64 位的电脑
- CPU: AMD 羿龙(tm) II X6 1100T 处理器, 3311 MHz, 核心: 6, 逻辑处理器: 6
- 内存: 8,00 GB
- 硬盘: SSD 型 OCZ-AGILITY3 90 GB
这是结果:
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 | Absolute * |
Test Ackermann OOP | 2969 | 0 | MilSek | Absolute |
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 | Absolute |
Test Call OOP | 906 | 0 | MilSek | Absolute |
Test Fibo | 2594 | 0 | MilSek | Absolute |
Test Fibo OOP | 2656 | 0 | MilSek | Absolute |
Test Float | 2359 | 0 | MilSek | Absolute |
Test Float OOP | 2516 | 0 | MilSek | Absolute |
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 | Absolute |
Test NestedLoop OOP | 6015 | 0 | MilSek | Absolute |
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 | Absolute |
Test ObjectCreate OOP | 46 | 125 | MilSek | 0,37 |
Test ObjectMove OOP | 63 | 328 | MilSek | 0,19 |
Test ObjectDelete OOP | 547 | 0 | MilSek | Absolute |
Test CopyRates | 94 | 0 | MilSek | Absolute |
Test Canvas | 30078 | 28047 | MilSek | 1,07 |
Test Print(Hello, world!!!) | 1047 | 7453 | MilSek | 0,14 |
Test Final | 281594 | 89609 | MilSek | 3,14 |
* Absolute — MetaTrader 5 的绝对优势。
// 重要!!!若您不清楚后果, 不建议更改脚本。 // 该脚本旨在评估电脑性能 (平板, 桌面/工作站, VPS/VDS 服务器, 服务器)。 // 该脚本以两种编程类型测试评估电脑的 45 项性能: 面向对象和过程。 // 部分代码取自开源项目 https://www.mql5.com/en/forum/68087 拥有者: Renat Fatkhullin // 程序合并 Vladimir Pastushak https://www.mql5.com/zh/users/voldemar // 主性能指标 - 时间。计算所需的时间越少, 电脑和 МetaТrader 终端的生产力越高。
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/14179
一款信号量指标, 使用两条 TriX 指标, 基于价格序列的开盘价和收盘价。
EMVCandleSign一款信号量指标, 使用两条 EMV 指标, 基于价格序列的开盘价和收盘价。
一款信号量指标, 使用两条 OsMA 指标, 基于价格序列的开盘价和收盘价。
CCICandleSign一款信号量指标, 使用两条 CCI 指标, 基于价格序列的开盘价和收盘价。