

在MQL中操作套接字,或者如何成为信号提供者
套接字(Sockets)… 如果没有它们,我们的IT世界还可能存在吗?时光倒转回1982年,再到现在,它们每分每秒都与我们同在,这是网络的基础,是我们所居住的 Matrix 世界的神经末梢。


EA交易的自我优化: 进化与遗传算法
本文涵盖的内容是提出了进化算法主要原则,以及它们的特点和多样性。我们将使用一个简单的EA交易作为实例来做实验,来展示如何通过优化使我们的交易系统获益,我们将探讨在软件程序中实现遗传、进化以及其它类型的优化,并且在优化交易系统的预测器集合与参数时提供示例程序。


交易员的正则表达式
正则表达式 (regular expression) 是通过应用特定的规则来处理文本的一种特殊语言, 也简称为 regex 或 regexp。在本文中, 我们将要展示如何利用 RegularExpressions 库的 MQL5 版本来处理交易报告, 以及使用它处理之后的优化结果。


通用智能交易系统:自定义追踪止损(第六章)
通用智能交易系统的第六章介绍追踪止损功能的用法。本文将指导你如何使用通用规则创建一个自己的追踪止损模型,以及如何将其添加到交易引擎中来实现自动管理持仓头寸的功能。


如何采用 MQL5 创建用于 Telegram 的 bots
本文包含了采用 MQL5 逐步创建用于 Telegram 的 bots 教程。对于那些期望将自己的交易机器人与移动终端同步的用户来说, 这些信息十分有用。文章里的 bots 例程可以提供交易信号, 从网站上搜索情报, 发送有关账户余额信息以及图表报价和截图至您的智能手机。


通用智能交易系统:支持挂单和对冲(第五章)
本文是对CStrategy交易引擎的进一步描述。由于交易者的广泛需要,我们向交易引擎中添加了支持挂单的相关函数。同时,最新版的MetaTrader 5现在也支持了具有对冲选项的帐户。同样的功能也添加到了CStrategy中。本文给出了使用挂单进行交易和在账户中用CStrategy类进行对冲交易的详细算法描述。


通用智能交易系统:组合交易及管理策略组合(第四章)
在最后一篇关于CStrategy交易引擎的系列文章中,我们将考虑多个交易算法同时运行,学习如何从XML文件加载策略,并将给出一个简单的面板,用于从可执行模块中选择EA,并管理它们的交易模式。


通用EA:自定义策略和辅助交易类(第三章)
在本文中,我们将继续分析CStrategy交易引擎的算法。这系列文章的第三篇包含如何使用这种方法开发特定的交易策略样例的详细分析。需特别关注辅助算法— 智能交易日志系统以及使用索引方式(Close[1],Open[0]等)访问数据。


通用智能交易系统:交易策略的模式(第一章)
任何一个智能交易系统(EA)的开发人员,无论编程技能如何,每天都面临着同样的交易目标和算法问题的困扰,即应该如何建立一个可靠的交易系统。本文介绍CStrategy交易引擎,它可以给出这些任务的解决方案,并且向用户提供一种用于描述自定义交易思想的简便机制。


机器学习模型的变量评估和选择
本文重点介绍机器学习模型中输入变量(预测因子)的选择,预处理以及评估的相关细节。同时将探讨新的方法和预测因子深度分析及其对模型过度拟合可能的影响。模型的总体效果很大程度上取决于这一阶段的结果。我们将分析两个包,它们分别提供预测因子选择的新老方法。


单纯使用 MQL5 语言处理 ZIP 档案
MQL5 语言在不断进化, 持续地增加了用于处理数据的新特性. 正因为这些创新, 现在我们可以在不引入第三方DLL库的情况下, 只使用通常的MQL5工具就可以操作ZIP档案了. 本文专注于具体的实现, 并且提供了CZip类作为例子, 它是一个用于读取, 创建和修改ZIP档案的通用工具.


MQL5 酷客宝典: 实现您自己的市场深度
本文展示了如何利用市场深度 (DOM) 编程, 并介绍了 CMarketBook 类的操作原理, 它可扩展 MQL5 标准库的类, 并提供使用 DOM 的便利方法。


在 GUI 控件中使用布局和容器: CBox 类
本文介绍一种基于布局和容器来创建 GUI (图形用户界面) 的替代方法, 使用一个布局管理器 — CBox 类。类 CBox class 是一个辅助控件, 在 GUI 面板里充当一个基本控件的容器。它可令图形面板设计更加简便, 并且在某些场合, 减少编写代码时间。


使用 CCanvas 类绘制刻度表盘
我们可以在汽车和飞机, 在工业产品以及在生活中随处发现刻度表盘。它们被用在所有需要对数值控制行为进行快速响应的领域。这篇文章描述用于 MetaTrader 5 的刻度表盘程序库。


在 MetaTrader 5 里使用 HedgeTerminal (对冲终端) 面板进行双向交易和仓位对冲, 第二部分
本文描述了一种新的方法来进行仓位对冲, 并在 MetaTrader 4 和 MetaTrader 5 的用户之间就此事的争辩划清界线。这是: "在 MetaTrader 5 里使用 HedgeTerminal (对冲终端) 面板进行双向交易和仓位对冲" 第一部分的延续。在第二部分里, 我们讨论自定义 EA 与 HedgeTerminalAPI 的集成, 其作为特别的可视化程序库, 设计用于在一个舒适的软件环境里作为工具进行便利的双向交易仓位管理。


在 MetaTrader 5 里使用 HedgeTerminal (对冲终端) 面板进行双向交易和仓位对冲, 第一部分
本文描述了一种新的方法来进行仓位对冲,并在 MetaTrader 4 和 MetaTrader 5 的用户之间就此事的争辩划清界线。用通俗地语言描述可靠的对冲算法,并用简单图表和图例示意。本文专述新的 HedgeTerminal (对冲终端) 面板, 实质上是用于 MetaTrader 5 的全功能交易终端。使用 HedgeTerminal 和它提供的虚拟化交易, 仓位管理与 MetaTrader 4 的方式类似。


物美价廉的神经网络 - 链接 NeuroPro 与 MetaTrader 5
是否用于交易的特殊神经网络程序好似很昂贵和复杂,或是与此相反,太简单?来试试 NeuroPro。它是免费的,并且包含针对业余爱好者的最佳功能集合。这篇文章将告诉您如何结合 MetaTrader 5 来使用它。


MQL5 向导: 根据计算价位下单, 止损和止盈。标准库扩展
本文描述 MQL5 标准库扩展, 可以使用 MQL5 向导接收来自包含模块的价格, 创建 EA, 下单, 止损和止盈。这种方法不会对模块的应用数量有任何额外的限制,亦不会在联合工作中导致冲突。


如何从 MQL5 (MQL4) 访问 MySQL 数据库
本文描述开发一个在 MQL 与 MySQL 之间的接口。它讨论了现有的可行解决方案,并采用更便捷的途径来实现与数据库协同工作的链接库。本文包括功能的详尽描述,接口结构,例程,以及一些使用 MySQL 时的特性。作为软件解决方案,本文附件中包含了用于 MQL4 和 MQL5 语言的动态库,文档和脚本例程。


构建新兴的社交技术, 第一部分: 发布您的 MetaTrader 5 信号
今天我们将学习如何将 MetaTrader 5 终端与 Twitter(推特) 链接,以便发布您的 EA 交易信号。我们将用 PHP 开发一个基于 REST web 服务的社交决策支持系统。此想法来自于自动交易的特定概念,称为电脑辅助交易。我们希望通过人工交易者的认知能力来过滤这些交易信号,否则 EA 会自动在市场上下单。


构建新兴的社交技术, 第二部分: 编制 MQL5 的 REST 客户端
让我们现在来塑造本文第一部分介绍过的,基于 PHP 的 Twitter (推特)。我们正在组装 SDSS 的不同部分。有关客户端的系统体系结构, 我们借助 MQL5 新提供的 WebRequest() 函数, 通过 HTTP 发送交易信号。


SQL 与 MQL5: 与 SQLite 数据库集成
本文的目的,是那些打算在他们的项目中使用 SQL 的开发者。它解释了 SQLite 的功能和优势。本文不需要特别的 SQLite 函数知识, 当然对 SQL 的最小理解将是有益的。


处理 MQL5“EA 交易”的 GSM 调制解调器
当前,有相当数量的方式可以对交易账户进行轻松的远程监视:移动终端、推送通知、ICQ 。但都需要互联网连接。本文描述了“EA 交易”的创建程序,即使在移动互联网不可用的情况下,其也允许您通过电话或短信与交易终端保持联系。


扩展 MQL5 标准库和重用代码
作为一名开发人员,MQL5 标准库让您的工作变得更加容易。然而,它无法实现世界上所有开发人员的全部需求,所以,如果您觉得您需要更多的自定义程序,您可以对标准库进行进一步的扩展。本文指导您完成将 MetaQuotes 的峰谷技术指标集成至标准库。我们从 MetaQuotes 的设计理念获得启发以实现我们的目标。


技术指标和数字滤波器
在本文中,技术指标被视为数字滤波器。本文对数字滤波器的操作原理和基本特性进行了说明。同时,本文还涉及在 MetaTrader 5 终端中接收滤波器内核以及与建立一个频谱分析程序一文中提出的现成频谱分析程序集成等实用方法。本文将典型数字滤波器的脉冲和频谱特性用作示例。


通过有用的技术组合让您的 MQL5 客户惊叹!
得益于 MQL5 为编程人员提供的一套非常完整的函数集和面向对象 API,他们可以在 MetaTrader 环境中大展身手。然而,Web 技术如今是用途极为广泛的工具,可以在一些情形中提供帮助:当您需要完成一些非常具体的工作;希望用一些不同的东西给您的客户留下深刻印象;或仅仅是您没有足够的时间来掌握 MT5 标准库的特定部分。今天的练习引导您完成有关如何在创建令人惊叹的技术组合的同时,管理您的开发时间的实例。


MQL5-RPC来自 MQL5 的远程过程调用:针对乐趣及获利的网络服务访问及 XML-RPC 自动交易锦标赛分析程序
本文介绍 MQL5-RPC 框架,该框架使来自 MQL5 的远程过程调用成为可能。它以 XML-RPC 基础、MQL5 实施开始,接着提供两个实际运用例子。第一个例子使用外部网络服务,第二个例子是一个用于简单 XML-RPC 2011 年自动交易锦标赛分析程序服务的客户端。如果您对如何实施和实时分析来自 2011 年自动交易锦标赛的不同统计数据感兴趣,则本文正好适合您。


如何安装并使用 OpenCL 计算
MQL5 为 OpenCL 提供原生支持已逾一年。但是,见证到并行计算在其 EA 交易、指标或脚本中使用的真正价值的用户并不是很多。本文旨在帮助您安装并在自己的计算机上设置 OpenCL,让您能够在 MetaTrader 5 交易终端中尝试使用此技术。


使用命名管道与 MetaTrader 5 进行无 DLL 通信
许多开发人员面临同样的问题 - 如何在不使用不安全 DLL 的情况下到达交易端沙箱。一种最简单和最安全的方法是使用作为普通文件操作的标准命名管道。它们允许您组织程序之间的处理器间客户端-服务器通信。看一下包括服务器、客户端、其间的数据交换以及性能基准在内的 C++ 和 MQL5 实例。


探索标准库的交易策略类 - 自定义策略
在本文中,我们将展示如何探索标准库的交易策略类,以及如何使用 MQL5 向导的"模式和模型"逻辑添加自定义策略和过滤器/信号。最后,您将能够使用 MetaTrader 5 标准指标轻松地添加自己的策略,且 MQL5 向导将创建简洁而强大的代码以及功能完善的"EA 交易"。


摆脱自制的 DLL
如果 MQL5 语言的功能性不足以完成任务,MQL5 程序员不得不诉诸于其他工具。他们必须转向其他编程语言并创建中间 DLL。MQL5 可提供各种数据类型并将它们传递至 API,但遗憾的是,MQL5 无法解决从收到的指针提取数据的相关问题。在本文中,我们将循规蹈矩,说明交换和使用复杂数据类型的简单机制。


如何使用 UML 工具开发 EA 交易
本文讨论使用 UML 图形语言创建 EA 交易,该语言用于建立面向对象软件系统的可视化模型。此方法的主要优点是实现了建模过程的可视化。本文以一个例子说明如何使用 Software Ideas Modeler 建立一个 EA 交易的结构和属性的模型。


作为创建自动化交易系统新方法的自动机编程
本文会让我们以一种全新的视角,来进行 MQL4 与 MQL5 中 EA、指标及脚本的开发。将来,此编程范式会逐渐变成 EA 实施领域所有交易者的基本标准。利用这种自动机编程范式,MQL5 和 MetaTrader 5 开发人员也就具备了某种程度上创建新语言 - MQL6 - 和新平台 - MetaTrader 6 的能力。

OpenCL:从朴素到更具深度的编程
本文要重点讲述的是一些优化能力,但至少要对 OpenCL 内核借以执行的基本硬件多少有些了解,才能启动这些能力。获取的数据远非最高值,但即便是这样,也建议充分利用现有资源(由该终端开发人员实施的 OpenCL API 不允许控制对于优化而言很重要的一些参数 - 尤其是工作组的大小),通过主机程序执行获得的增益是非常可观的。


OpenCL:并行世界的桥梁
2012 年 1 月末,从事 MetaTrader 5 开发业务的软件开发公司宣布 MQL5 可向 OpenCL 提供原生支持。本文通过一个示例说明了 MQL5 环境下 OpenCL 的编程基础知识,并列举了几个示例,讲述了为提高运行速度所做的朴素优化。


利用 EX5 库来推动您的项目开发
隐藏 .ex5 文件中类/函数的实施细节,会让您能够同其他开发人员共享自己的专有算法,设立共同项目并在网络中宣传它们。而且,在 MetaQuotes 团队不遗余力地引入直接继承 ex5 库类可能性的同时,我们现在就要付诸实施了。