简介. 基于 MQL 的 EA 和数据库
在论坛上经常会有关于在使用 MQL5 编写的 EA 交易中整合数据库有关的问题。对这个主题有兴趣并不令人惊讶,数据库是保存数据的一种非常好的方法,与终端记录不同,数据不会从数据库中消失,它们很容易排序和过滤,只选择所需要的部分。数据库可以用于向 EA 传递需要的信息 - 例如,某些命令,最重要的是 — 取得的数据可以从不同角度进行分析和进行统计学处理。例如,写一行查询代码就可以得到每个货币对在指定时间段的平均和总利润。现在让我们想象一下,在交易终端中人工计算这个需要花费多长时间,
不幸的是,MetaTrader 没有提供内建的与数据库服务器交互的工具,这个问题只能通过从 DLL 文件中引入函数来解决。任务并不简单,但是可行。
我已经这样做了很多次,并且决定在这篇文章中分享我的经验。这是一个例子,关于如何使 MQL5 EA交易与 Microsoft SQL Server 数据库服务器进行交互。为了创建 DLL 文件来为 EA 交易引入操作数据库的函数,我们使用了 Microsoft.NET 平台和 C# 语言。本文描述了创建和准备 DLL 文件的过程,以及在一个使用 MQL5 编写的 EA 交易中引入它的函数。EA 的代码只是作为例子提供,它非常简单。如需能使用 MQL4 来进行编译,还需要一些小的改动。
准备工作
我们需要以下的准备工作:
- 一个安装好的 MetaTrader 5 终端,并且有一个活动的交易账户。您不仅可以使用模拟账户,也可以使用真实帐户 — 使用测试 EA 不会带来风险。
- 安装好的 Microsoft SQL Server 数据库服务器实例。您可以使用另一台电脑上的数据库,通过网络连接它。免费的 E



