Windows 10 x64, Intel Xeon E5-2690 v3 @ 2.60GHz
LLVM MQL5
---------------------------------------------------------------------------------
Test 1: 1000 INSERTs: 11572 8488
Test 2: 25000 INSERTs in a transaction: 59 60
Test 3: 25000 INSERTs into an indexed table: 102 105
Test 4: 100 SELECTs without an index: 142 150
Test 5: 100 SELECTs on a string comparison: 391 390
Test 6: Creating an index: 43 33
Test 7: 5000 SELECTs with an index: 385 307
Test 8: 1000 UPDATEs without an index: 58 54
Test 9: 25000 UPDATEs with an index: 161 165
Test 10: 25000 text UPDATEs with an index: 124 120
Test 11: INSERTs from a SELECT: 84 84
Test 12: DELETE without an index: 25 74
Test 13: DELETE with an index: 70 72
Test 14: A big INSERT after a big DELETE: 62 66
Test 15: A big DELETE followed by many small INSERTs: 33 33
Test 16: DROP TABLE: finished. 42 40
论坛
如何开始学习MQL5
Sergey Golubev, 2013.09.17 09:59
MetaTrader 5 - 超乎您的想像!
MetaTrader 5 的开发工作始于 2007 年。MetaTrader 5 被构想为革命性、多市场的平台,而且要能运行于外汇交易及任何其它金融市场上。自此之后有大量的工作被执行,而成果则是这个可为交易者提供无限机遇的平 台。我们拟于文本中讨论有关 MetaTrader 5 的所有关键功能,并与该交易平台的前一版本进行对比分析。
论坛
MetaTrader 5平台beta build 2055:集成Python域并改进策略测试
MetaQuotes Software Corp., 2019.05.23 11:00
更新的MetaTrader 5平台测试版将于2019年5月17日,星期五,进行发布。我们邀请所有交易者加入测试平台新版本,以便评估平台所有更新功能从而帮助开发者修正出现的错误。
若要将MetaTrader 5平台更新到build 2055,请转到帮助\检查桌面版更新\最新测试版:
新版MetaTrader 5平台的最终版将在公开测试版结束后发布。
Python是一种用于开发脚本和应用程序的现代高水平编程语言。它包含用于机器学习、自动化处理以及数据分析和可视化的多个程序库。
MetaTrader Python程序包是为有效快速地从MetaTrader 5程序端直接通过处理器通信获得交易所数据而设计的。通过这种方式接收的数据可以进一步用于统计计算和机器学习。
连接
pip安装pytz
函数
是否需要验证数据由交易商来决定。如果启用了这个选项,确认码会在账户请求时自动发送给交易者,对话框中会出现特殊代码字段:
确认码在几分钟内有效。如果在这个时间段内没有将确认码输入到字段中,那么交易者将需要重复这个程序。发送确认码之前,系统将检查指定电话号码/电子邮箱是否之前已确认。如果交易者已在他或她的计算机上通过了验证,那么将无需额外确认即可开户。因此,交易者在请求账户时不会遇到额外的困难。
如何工作
当您授权PayPal账户进行购买时,您将被进一步要求允许付款给我们公司:
确认此选项后,您只需点击之前保存的账户按键,即可一键执行进一步购买:
如果您点击“取消并返回MetaQuotes Software Corp.”,您将以正常的方式进行付款,为每次购买手动输入PayPal账户详情。
您可以随时移除您的PayPal 账户链接。
我们引入了大量隐藏的改进和修正的错误来优化策略测试器操作。此更新可以更快地测试一些任务类型,使操作稳定性更高。主要改进包括:
框架操作
本地、网络和源代码的操作框架得到优化。这类操作现在处理速度更快,永远不会跳过。
将任务分配给代理
测试器现在可以在优化过程中将任务重新分配给代理。如果有新代理可用(或发布之前用过的一个代理),测试器会使用之前在其他代理中分配的任务包自动创建新的任务包。如果检测出代理速度慢,任务还可以重新分配。这类代理的任务被发送至其他代理,以便更快地完成优化。
数学计算模式下的任务分配速度会更快。
日志中的优化统计
优化日志记录得以扩展:它包括与MQL5云网络使用相关的详细统计,启用和禁用云代理等。
在全优化日志模式下运行
为了获得最佳的资源消耗,并不是所有来自代理的消息都被写到测试日志中。若要显示所有日志,您可以通过测试日志快捷菜单启用“完整优化日志”选项。此前,这个模式可以明显拖慢优化进程。而现在则不会影响计算时间。
MQL5云网络
优化云测试代理的运行。现在,计算任务的分配更加有效。
经济日历可在桌面版、网页版以及移动设备上使用。可以使用程序端的“日历”快捷菜单打开应用程序:
选择您的平台并下载Tradays apps:
除了桌面平台提供的日历功能之外,移动版还以图表和表格的形式提供事件提醒和访问指标的完整历史记录。
更改涉及通过程序端界面执行的报价导入,以及使用CustomTicks*函数从MQL5应用程序执行的报价更新。报价数据的任何变化都会导致重新计算对应的自定义交易品种的1分钟柱形图。
更新内容通过LiveUpdate系统提供。
论坛
新版MetaTrader 5平台build 2085:集成Python并改进策略测试
MetaQuotes Software Corp., 2019.06.13 13:15
MetaTrader 5平台更新版于2019年6月13日星期四进行发布。新版将有以下变化:
Python是一种用于开发脚本和应用程序的现代高水平编程语言。它包含用于机器学习、自动化处理以及数据分析和可视化的多个程序库。
MetaTrader Python程序包是为有效快速地从MetaTrader 5程序端直接通过处理器通信获得交易所数据而设计的。通过这种途径接收的数据可以进一步用于统计计算和机器学习。
连接
pip安装pytz
函数
是否需要验证数据由交易商来决定。如果启用了这个选项,确认码会在账户请求时自动发送给交易者,对话框中会出现特殊代码字段:
确认码在几分钟内有效。如果在这个时间段内没有将确认码输入到字段中,那么交易者将需要重复这个程序。
发送确认码之前,系统将检查指定电话号码/电子邮箱是否之前已确认。如果交易者已在他或她的计算机上通过了验证,那么将无需额外确认即可开户。因此,交易者在请求账户时不会遇到额外的困难。
如何工作
当您使用PayPal账户登录进行购买之后,您将被要求允许进一步付款给我们公司:
确认此选项后,您只需点击之前保存的账户按键,即可一键执行进一步购买:
如果您点击“取消并返回MetaQuotes Software Corp.”,您将以正常的方式进行付款,为每次购买手动输入PayPal账户详情。
您可以随时移除您的PayPal 账户链接。
我们引入了大量隐藏的改进和修正的错误来优化策略测试器操作。此更新可以更快地测试一些任务类型,使操作稳定性更高。主要改进包括:
框架操作
本地、网络和源代码的操作框架得到优化。这类操作现在处理速度更快,永远不会跳过。
将任务分配给代理
测试器现在可以在优化过程中将任务重新分配给代理。如果有新代理可用(或发布之前用过的一个代理),测试器会使用之前在其他代理中分配的任务包自动创建新的任务包。如果检测出代理速度慢,任务还可以重新分配。这类代理的任务被发送至其他代理,以便更快地完成优化。
数学计算模式下的任务分配速度会更快。
日志中的优化统计
优化日志记录得以扩展:它包括与MQL5云网络使用相关的详细统计,启用和禁用云代理等。
在全优化日志模式下运行
为了获得最佳的资源消耗,并不是所有来自代理的消息都被记录到测试日志中。若要查看所有日志,您可以通过测试日志快捷菜单启用“完整优化日志”选项。此前,这个模式可以明显拖慢优化进程。而现在则不会影响计算时间。
MQL5云网络
优化云测试代理的运行。现在,计算任务的分配更加有效。
经济日历可在桌面版、网页版以及移动设备上使用。可以使用程序端的“日历”快捷菜单打开应用程序:
选择您的平台并下载Tradays apps:
除了桌面平台提供的日历功能之外,移动版还以图表和表格的形式提供事件提醒和访问指标的完整历史记录。
更改涉及通过程序端界面执行的报价导入,以及使用CustomTicks*函数从MQL5应用程序执行的报价更新。报价数据的任何变化都会导致重新计算对应的自定义交易品种的1分钟柱形图。
更新内容通过LiveUpdate系统提供。
论坛
下一次MetaTrader 5更新时将停止对32位版本的支持
MetaQuotes Software Corp., 2019.11.04 10:06
MetaTrader 5 build 2190将是最后一个支持32位系统的平台版本。MetaTrader 5平台的下一个正式版本将仅支持64位系统版本。Windows XP 64位版本在14年前发布。而目前对32位版本的支持已经阻碍了很多项目的开发。
停止对32位版本的支持也会影响市场。在MetaTrader 5平台的下一个正式版本发布后,将无法使用32位版本的程序端进入市场。用户将只能从64位程序端购买和启用新MetaTrader 5产品。之前在32位MetaTrader 5程序端中购买的所有产品将可以继续工作,但却无法升级到新版本。
论坛
新版MetaTrader 5平台测试版build 2245:用于MQL5 3D可视化的DirectX功能和策略测试中的交易品种设置
MetaQuotes Software Corp., 2019.11.29 09:17
更新的MetaTrader 5平台测试版已于2019年11月29日发布。我们邀请所有交易者加入新平台的测试,评估其全部功能从而帮助开发者修正出现的错误。
若要将MetaTrader 5平台更新到2245,请转到帮助\检查桌面版更新\最新测试版:
新版MetaTrader 5平台的最终版将在公开测试版结束后发布。
新版将有以下变化:
要将交易历史显示为持仓,程序端会使用请求期间执行的交易信息。只有在此期间关闭的持仓才会显示在历史中。如果持仓仍未完结或平仓时间超出所选间隔,则将不会显示在历史记录中。因此,持仓模式下的总盈利和手续费可能不同于“订单/交易”历史模式下的总盈利和手续费。
例如,您正在查看过去一周的历史。在此期间,执行了100笔交易,其中98笔开设和关闭了20个持仓。最近两笔交易开设新持仓,目前尚未结束。在这种情况下,交易历史包含100条记录和基于这些交易计算的总值。当以持仓的形式查看历史时,您将看到基于98笔交易收集的20条记录。当计算总值时,只有这些数据将被考虑。如果交易商收取入市交易费,那么交易历史中的最终手续费值将不同于持仓历史中显示的手续费,因为在后一种情况下,最后两笔交易将被忽略。
新CCanvas3D类是CCanvas自定义图形类的扩展。它位于\MQL5\Include\Canvas\目录。这个类的功能是可通过DirectX API渲染3D对象。
关于新程序库的详细文档将很快发布。
提供以下函数:
该属性可以设置优化结束时打开的图表类型,以及X和Y轴的程序参数。
该属性仅设置默认图表视图。它可以随时使用快捷菜单手动更改。
交易品种的自定义设置
现在您可以更改主要交易品种的设置,并通过它执行测试/优化。几乎所有规格参数都可以重写:交易量、交易模式、预付款需求、执行模式和其他设置。因此,如果您需要在不同条件下检查EA,则无需创建单独的自定义交易品种和下载其历史记录。这可以通过更改标准的交易品种设置来完成。
如果交易品种规格为自定义,则齿轮图标和交易品种图标将用星号标记。这表示自定义参数用于当前测试。最后设置/EA交易/图表
使用新快捷菜单命令进行快速测试或优化设置。选择最后使用的测试设置、最近图表或应用程序:
如果您的电脑安装了对应的编译器,MetaEditor将进行检测并添加到设置中。同时,您还可以在“编译器”选项卡下指定所需组件的路径。在相同的选项卡中,您可以通过点击相应字段旁边的“安装”来下载组件。
然后,您就可以如同编译MQL5程序一样,与C/C++和Python合作。
无需在交易商网站的交易者室中搜索对应的功能。可在程序端中直接获得快速导航命令:用户可以从“账户”和“交易”部分切换到入金和出金页面:
更新将通过实时更新系统提供。
桌面版,移动版和网页平台的更新历史
交易,自动交易系统和测试交易策略论坛
MQL5中的SQLite:新功能和性能测试
雷纳特·法特赫林,2019.12.07 09:24
在版本2265中,我们实现了用于基于SQLite 3.30.1的数据库处理常规功能:
使用DATABASE_OPEN_MEMORY标志,数据库既可以存储在磁盘上,也可以存储在内存中。在DatabaseTransactionBegin / Commit / Rollback事务中包装大量插入/更改,可将操作加速数百倍。
由于我们尽可能地关注性能,因此这是LLVM 9.0.0与MQL5测试的结果。时间以毫秒为单位,越短越好:MQL5中的速度与使用最佳编译器之一的本机C ++绝对相同。附带了一个基准测试包。
我们还实现了独特的DatabaseReadBind函数,该函数使您可以将记录直接读取到结构中,从而简化并加快了批量操作。
这是一个简单的示例:
论坛
新版MetaTrader 5平台Build 2280
MetaQuotes Software Corp., 2019.12.12 15:56
MetaTrader 5平台更新将于2019年12月13日,星期五进行发布。此次更新提供了我们基于之前MetaTrader 5 build 2265主要更新后收到的反馈所进行的重要补充和修正:
更新将通过实时更新系统提供。
论坛
新版MetaTrader 5平台Build 2340:在Tester中管理账户设置,并扩展Python集成
MetaQuotes, 2020.02.25 07:17
MetaTrader 5平台更新已于2020年2月21日星期五进行发布。新版将有以下变化:
在前一次平台更新中,我们直接从MQL5引入了对SQLite数据库操作的支持。主要功能可通过MetaEditor用户界面获得:
如何工作
快速数据库创建功能可从MQL5向导中获得。您可以轻松创建第一个表格并定义它的字段。
创建数据库之后,您将转到一个新导航版块,其中提供了管理数据的命令。
数据库表显示在左侧窗口。双击表格名称,快速查询前1,000条记录。在此导航部分,您还可以创建和打开其他数据库,以及使用表格。
数据库可以在主编辑器窗口中进行管理。在这里,您可以填写表格、搜索和选择数据、输入SQL查询和执行其他操作。
关于MetaTrader 5对数据库操作的更多信息,请参阅文章“SQLite:本地处理MQL5中的SQL数据库”。点击编辑器中的“编译”,运行脚本:
若要使用Python,请不要忘记在MetaEditor的Settings \ Compilers部分指定其路径。要启动使用MetaTrader 5程序库,请使用以下命令进行安装:
新命名
现有命令已重命名如下:
MT5Shutdown -> shutdown
MT5TerminalInfo -> terminal_info
MT5Version -> version
MT5CopyRatesFrom -> copy_rates_from
MT5CopyRatesFromPos -> copy_rates_from_pos
MT5CopyRatesRange -> copy_rates_range
MT5CopyTicksFrom -> copy_ticks_from
MT5CopyTicksRange -> copy_tick_range
新命令
扩展了支持的命令列表。添加交易函数,以及用于处理交易历史和获得交易品种和当前账户信息的函数。
在图表上运行Python脚本
Python脚本可以直接在平台图表上运行,类似于常规的MQL5程序。这些脚本在导航中使用特殊图标进行标记。
脚本消息将显示在"Toolbox \ Experts"部分。如果在脚本中使用MetaTrader 5程序库,则脚本可以接收交易品种和账户数据,以及执行交易操作。
Python脚本可以与其他MQL5脚本和EA并行地在同一图表上运行。要停止执行中断的脚本,请将其从图表中移除。
附加保护
若要在使用第三方Python程序端时启用附加账户保护,您可以在程序端设置中使用“通过外部Python API启用自动交易”选项。
Python脚本只可在该选项禁用时执行交易操作。
DatabaseImport
从文件导入数据到图表。
DatabaseExport
将表格或SQL查询结果导出到CSV文件。该文件用UTF-8编码创建。
DatabasePrint
将表格或SQL查询结果打印到专家日志。
新函数使用户能够与MQL5程序进行有效互动。
常规设置
在这部分,您可以设置账户上可同时存在的未结订单和持仓的最大数量。此外,您还可以配置不允许程序交易的时间段。
预付款
这部分可以配置将在测试中使用的预付款保留规则和持仓账户系统:
手续费
这部分提供管理所有交易操作收取的手续费。
新版MetaTrader 5 将通过LiveUpdate系统提供。
论坛
MetaTrader VPS基础架构得到改进,同时扩展数据中心网络
MetaQuotes, 2020.02.26 11:49
在过去一年中,MetaTrader平台虚拟主机的用户基础显著增长。针对这个服务,我们在整个服务基础架构的开发商投入大量资金,并大幅度扩展了数据中心网络。
圣保罗的新主机托管点成为托管点池中的最新成员,是法兰克福、伦敦、纽约、香港、新加坡、莫斯科和阿姆斯特丹等现有主机托管点的补充。我们将其部署在与托管B3股票交易所(BM&F Bovespa的前身)和巴西最大交易商相同的数据中心中。与全球金融中心近在咫尺的地理位置,使交易者能够以最小的ping信号将平台的虚拟机租借到全球任何地方的交易商服务器。
升级服务的弊端就是必须提高VPS价格。目前,租用服务器一个月的最低价格是15美元起。以这个价位,交易者可获得最多3GB的RAM,最高16GB的磁盘空间,多核CPU以及到交易商的最低网络延迟。
美元
每个月,USD
MetaQuotes的本地VPS服务不同于常见的VPS解决方案,因为它是专为主机交易程序端量身定制的,因此可直接在MetaTrader平台中使用。目前已有数以万计的交易者在使用MetaTrader虚拟主机服务,且无需担心网络连接速度,PC故障或电源故障。
新用户可获得前24小时免费服务的机会 — 开始体验VPS。
免费体验MetaTrader VPS