MQL5编程文章

icon

在众多发表的文章中研究 MQL5语言编程交易策略 的多数由您—我们 MQL5.community的会员所作。文章以类别分组来帮助您迅速找到任何有关MQL5编程问题的答案:集成,测试,交易策略等等。

Follow our 新发表讨论它们在 MQL5.community论坛

添加一个新的文章
最近 | 最佳
MQL5 Cookbook: 处理 TradeTransaction 事件
MQL5 Cookbook: 处理 TradeTransaction 事件

MQL5 Cookbook: 处理 TradeTransaction 事件

本文从事件驱动编程的角度来考察 MQL5 语言的能力。这种方法的最大好处是,程序可以接收有关交易操作的分阶段实施信息。本文还包含一个使用 TradeTransaction 事件处理器的例子,来接收和处理正在进行的交易操作的动作信息。在我看来,这种方式可用于复制一个终端的交易到另一个终端。
通过辅助指标减少内存消耗
通过辅助指标减少内存消耗

通过辅助指标减少内存消耗

如果一个指标使用很多其他指标的值进行计算,则它会消耗很多内存。本文介绍在使用辅助指标时,减少内存消耗的几种方法。保存的内存允许在客户端中增大同时使用的货币对、指标和策略的数量。这样提高了交易投资组合的可靠性。对您的计算机的技术资源进行这样的简单考量就可转换为任您处置的资金资源。
preview
神经网络变得轻松(第六部分):神经网络学习率实验

神经网络变得轻松(第六部分):神经网络学习率实验

我们之前已研究过各种类型的神经网络及其实现。 在所有情况下,训练神经网络时都使用梯度下降法,为此我们需要选择学习率。 在本文中,我打算通过示例展示正确选择学习率的重要性,及其对神经网络训练的影响。
学习如何基于 ADX 设计交易系统
学习如何基于 ADX 设计交易系统

学习如何基于 ADX 设计交易系统

在本文中,我们将继续有关基于最流行指标设计交易系统的系列文章,这次我们将讨论平均方向指数(ADX)指标。 我们将详细学习该指标,从而能够更好地理解它,并将学习如何在简单策略里运用它。 通过深入学习,我们可以获得更多的认知,可以更好地运用它。
preview
了解使用MQL5下单

了解使用MQL5下单

在创建任何交易系统时,我们都需要有效地处理一项任务。这项任务是下单,或者让创建的交易系统自动处理订单,因为它在任何交易系统中都至关重要。因此,您将在本文中找到您需要了解的关于这项任务的大多数主题,以有效地创建您的交易系统。
利用外部应用程序进行加密
利用外部应用程序进行加密

利用外部应用程序进行加密

在本文中,我们研究在 MetaTrader 和外部应用程序中进行对象加密/解密。 我们的目的是判断以相同初始数据获得相同结果的条件。
preview
基于暴力算法的 CatBoost 模型高级重采样与选择

基于暴力算法的 CatBoost 模型高级重采样与选择

本文描述了一种可能的数据转换方法,旨在提高模型的通用性,并讨论了 CatBoost 模型的采样和选择。
掉期利率(第一部分):锁定与合成仓位
掉期利率(第一部分):锁定与合成仓位

掉期利率(第一部分):锁定与合成仓位

在本文中,我将尝试扩展掉期利率交易方法的经典概念。 我将解释为什么我会得出这样的结论,即这个概念值得特别关注,绝对推荐研究。
在图表上快速检验交易理念
在图表上快速检验交易理念

在图表上快速检验交易理念

本文介绍交易理念的快速视觉检验方法。方法基于价格图表、信号指标和余额计算指标组合。我愿意分享我的交易理念探寻方法,以及用于快速检验这些理念的方法。
轻松快捷开发 MetaTrader 程序的函数库(第九部分):与 MQL4 的兼容性 - 准备数据
轻松快捷开发 MetaTrader 程序的函数库(第九部分):与 MQL4 的兼容性 - 准备数据

轻松快捷开发 MetaTrader 程序的函数库(第九部分):与 MQL4 的兼容性 - 准备数据

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第八部分中,我们实现了跟踪订单和持仓修改事件的类。 在此,我们将令其与 MQL4 完全兼容来,极大改进函数库。
利用模糊逻辑创建指标的简单示例
利用模糊逻辑创建指标的简单示例

利用模糊逻辑创建指标的简单示例

本文专门讲解金融市场分析模糊逻辑理念的实际应用。 我们会根据两条模糊规则和轨道线指标,提供生成信号的指标示例。 开发出的指标会采用多个指标缓冲区:7 个计算用缓冲区,5 个图表显示用缓冲区和 2 个颜色缓冲区。
关于策略优化的一些简单想法
关于策略优化的一些简单想法

关于策略优化的一些简单想法

即使你借助MQL5的云计算网络来进行优化工作,仍就需要消耗大量的计算机资源。本文由我对MetaTrader 5策略测试器一些简单的改进想所法组成。这些想法来自于MQL社区的相关技术文档、论坛和文章。
面向初学者的创建具有多个指标缓冲区的指标
面向初学者的创建具有多个指标缓冲区的指标

面向初学者的创建具有多个指标缓冲区的指标

复杂代码由一组简单代码组成。如果您熟悉简单代码,复杂代码看上去就不那么复杂了。在本文中,我们将讨论如何创建具有多个指标缓冲区的指标。我们将 Aroon 指标作为示例进行详细分析,并给出两个不同的代码版本。
面向对象法建立多时间表及多货币面板
面向对象法建立多时间表及多货币面板

面向对象法建立多时间表及多货币面板

本文讲述如何利用面向对象编程创建 MetaTrader 5 多时间表与多货币面板。主要目标在于建立一个可用于显示多种不同类型数据(比如价格、价格变动、指标值或自定义买/卖条件)、且无需修改面板本身代码的通用面板。
preview
如何利用 MQL5 创建自定义唐奇安(Donchian)通道指标

如何利用 MQL5 创建自定义唐奇安(Donchian)通道指标

有许多技术工具可用于可视化围绕价格的通道,其中一种工具是唐奇安(Donchian)通道指标。 在本文中,我们将学习如何创建唐奇安(Donchian)通道指标,以及如何在 EA 中将其作为自定义指标进行交易。
preview
学习如何基于交易量设计交易系统

学习如何基于交易量设计交易系统

这是我们系列文集中的新篇章,介绍如何基于最流行的技术指标设计交易系统。 本文将专门讨论交易量指标。 作为一个概念,交易量是金融市场交易中非常重要的因素之一,我们必须予以关注。 贯穿本文,我们将学习如何基于交易量指标设计一款简单的系统。
MQL5-RPC来自 MQL5 的远程过程调用:针对乐趣及获利的网络服务访问及 XML-RPC 自动交易锦标赛分析程序
MQL5-RPC来自 MQL5 的远程过程调用:针对乐趣及获利的网络服务访问及 XML-RPC 自动交易锦标赛分析程序

MQL5-RPC来自 MQL5 的远程过程调用:针对乐趣及获利的网络服务访问及 XML-RPC 自动交易锦标赛分析程序

本文介绍 MQL5-RPC 框架,该框架使来自 MQL5 的远程过程调用成为可能。它以 XML-RPC 基础、MQL5 实施开始,接着提供两个实际运用例子。第一个例子使用外部网络服务,第二个例子是一个用于简单 XML-RPC 2011 年自动交易锦标赛分析程序服务的客户端。如果您对如何实施和实时分析来自 2011 年自动交易锦标赛的不同统计数据感兴趣,则本文正好适合您。
DoEasy 函数库中的时间序列(第三十七部分):时间序列集合 - 按品种和周期的时间序列数据库
DoEasy 函数库中的时间序列(第三十七部分):时间序列集合 - 按品种和周期的时间序列数据库

DoEasy 函数库中的时间序列(第三十七部分):时间序列集合 - 按品种和周期的时间序列数据库

本文探讨开发针对程序中所有品种指定时间帧的时间序列集合。 我们将开发时间序列集合,为集合设置时间序列参数的方法,以及取用历史数据初始填充已开发的时间序列。
preview
梯度提升(CatBoost)在交易系统开发中的应用. 初级的方法

梯度提升(CatBoost)在交易系统开发中的应用. 初级的方法

在 Python 中训练 CatBoost 分类器,并将模型导出到mql5,以及解析模型参数和自定义策略测试程序。Python 语言和 MetaTrader 5 库用于准备数据和训练模型。
MQL 作为 MQL 程序图形界面的标记工具。 第二部分
MQL 作为 MQL 程序图形界面的标记工具。 第二部分

MQL 作为 MQL 程序图形界面的标记工具。 第二部分

本篇论文继续验证新概念,即利用 MQL 结构描述 MQL 程序的窗口界面。 基于 MQL 标记自动创建 GUI 提供了缓存和动态生成元素和控制风格,以及事件处理的新方案。 随附的是标准控件库的增强版本。
交易者的统计 - 烹饪宝书:假设
交易者的统计 - 烹饪宝书:假设

交易者的统计 - 烹饪宝书:假设

本文讨论假设 - 数理统计的基本理念之一。各种假设需要进行检查,并利用数理统计方法的实例进行验证。使用非参数方法生成实际数据。Statistica 开发包和移植的 ALGLIB MQL5 数值分析库可用于处理数据。
以经济方式计算指标的原则
以经济方式计算指标的原则

以经济方式计算指标的原则

调用用户指标和技术指标在自动交易系统的程序代码中只占很少的空间。通常它仅仅只是行代码。但是经常出现正是这几行代码占用测试 EA 交易程序所需的大部分时间的情况。因此,与指标内的数据计算有关的所有一切都需要更加彻底地考虑,而不能随意决定。本文正是探讨这一点。
preview
神经网络变得轻松(第四十五部分):训练状态探索技能

神经网络变得轻松(第四十五部分):训练状态探索技能

在没有明确奖励函数的情况下,实用的训练技能就是分层强化学习的主要挑战之一。 以前,我们已领略了解决此问题的两种算法。 但环境研究的完整性问题仍然悬而未决。 本文演示了一种不同的技能训练方式,其可取决于系统的当前状态直接使用。
Jeremy Scott - MQL5市场上的成功卖家
Jeremy Scott - MQL5市场上的成功卖家

Jeremy Scott - MQL5市场上的成功卖家

Jeremy Scott,在MQL5.community 中他的昵称是Johnnypasado,因其在MQL5市场上出售产品而为人们所熟知。Jeremy已经赚了好几千美元,并且这一势头还在延续。我们决定和这个未来的百万富翁来个近距离接触,并为其他MQL5市场上的卖家提供些建议。
开发自适应算法 (第二部分): 提高效率
开发自适应算法 (第二部分): 提高效率

开发自适应算法 (第二部分): 提高效率

在本文中,我将通过改进先前创建的算法的灵活性来继续本主题的开发。随着分析窗口中烛形数量的增加,或烛形超额阈值百分比的增加,算法变得更加稳定。我不得不做出妥协,并设置一个更大的样本量进行分析或更大的烛形超额百分比。
preview
MetaTrader 5 的 WebSocket — 使用 Windows API

MetaTrader 5 的 WebSocket — 使用 Windows API

在本文中,我们将使用 WinHttp.dll 针对 MetaTrader 5 平台创建 WebSocket 客户端程序。 客户端最终将作为一个类实现,并借助 Binary.com 的 WebSocket API 进行测试。
preview
构建自动运行的 EA(第 04 部分):手工触发器(I)

构建自动运行的 EA(第 04 部分):手工触发器(I)

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。
建立一个频谱分析程序
建立一个频谱分析程序

建立一个频谱分析程序

本文旨在让读者熟悉使用 MQL5 语言图形对象的一种可能变量。它会对一个利用图形对象管理简单频谱分析程序的面板的实施指标进行分析。本文专为熟悉 MQL5 基础的读者编写。
图形界面 VIII: 文件导航器控件 (第三章)
图形界面 VIII: 文件导航器控件 (第三章)

图形界面 VIII: 文件导航器控件 (第三章)

在系列文章第八部分前面的章节中,我们的库加入了几个类用于开发鼠标指针,日历和树形视图,本文介绍的是文件导航器控件,可以用作MQL应用程序图形界面的一部分。
preview
连续前行优化 (第六部分): 自动优化器的逻辑部分和结构

连续前行优化 (第六部分): 自动优化器的逻辑部分和结构

我们之前曾研究过创建自动前行优化。 这次,我们将继续探究自动优化器工具的内部结构。 本文对于那些希望深入操控所创建项目并进行修改的人士,以及那些希望理解程序逻辑的人士来说都很有用处。 本文包含 UML 示意图,它能揭示项目的内部结构,以及对象之间的关系。 它还阐述了优化开始的过程,但未包含优化器实现过程的讲述。
DIY 技术指标
DIY 技术指标

DIY 技术指标

在本文中,我将研究允许您创建自己的技术指标的算法。 您将学到如何通过非常简单的初始假设,来获得非常复杂和有趣的结果。
初学者以 MQL5 实现对数字滤波器的实际实施
初学者以 MQL5 实现对数字滤波器的实际实施

初学者以 MQL5 实现对数字滤波器的实际实施

数字信号滤波的理念在有关构建交易系统的论坛主题中被广泛讨论。而不以 MQL5 编写数字滤波器的标准代码是不明智的。在本文中,笔者介绍了将出自其文章《面向新手的 MQL5 自定义指标》的简单 SMA 指标的代码转换成更复杂和通用的数字滤波器的代码。本文是笔者上一篇文章的逻辑延续。文章中还介绍了如何在代码中更换文本,以及如何修正编程错误。
学习如何基于动量设计交易系统
学习如何基于动量设计交易系统

学习如何基于动量设计交易系统

在我上一篇文章中,我曾提到了判断价格走势的重要性。 在本文中,我将分享最重要的概念和指标之一,即动量指标。 我还将分享如何基于这个动量指标设计一款交易系统。
DoEasy 函数库中的价格(第六十二部分):实时更新即时报价序列,为操控市场深度做准备
DoEasy 函数库中的价格(第六十二部分):实时更新即时报价序列,为操控市场深度做准备

DoEasy 函数库中的价格(第六十二部分):实时更新即时报价序列,为操控市场深度做准备

在本文中,我将实现即时报价数据的实时更新,并为操控市场深度的品种对象类(DOM 本身将在下一篇文章中实现)做准备。
DoEasy 函数库中的时间序列(第四十七部分):多周期、多品种标准指标
DoEasy 函数库中的时间序列(第四十七部分):多周期、多品种标准指标

DoEasy 函数库中的时间序列(第四十七部分):多周期、多品种标准指标

在本文中,我着手开发操控标准指标的方法,最终能够基于函数库类创建多品种、多周期的标准指标。 此外,我将在时间序列类中添加“跳过柱线”事件,并将函数库的预备函数移至 CEngine 类,从而消减主程序代码中的过多负载。
Trademinator 3:交易机器的崛起
Trademinator 3:交易机器的崛起

Trademinator 3:交易机器的崛起

在《Dr. Tradelove...》一文中,我们创建了一个可独立优化某预先选定交易系统的 EA 交易。而且,我们还决定创建一个不仅能够优化构成 EA 的交易系统参数、而且可以在多个交易系统中选择最优的 EA 交易。我们来看看,它会带来些什么...
MQL5 Cookbook: 自定义信息面板上的仓位属性
MQL5 Cookbook: 自定义信息面板上的仓位属性

MQL5 Cookbook: 自定义信息面板上的仓位属性

这一次我们创建一个简单的EA交易,它可以取得当前交易品种的仓位属性并且在人工交易的时候在自定义信息面板上显示它们。信息面板将使用图形对象创建,显示的信息在每当有订单时都会刷新,这将比系列文章的前一篇 - "MQL5 Cookbook: 获取仓位属性"中提到的每次必须人工运行脚本要方便得多。
DoEasy 函数库中的时间序列(第四十一部分):多品种多周期指标样品
DoEasy 函数库中的时间序列(第四十一部分):多品种多周期指标样品

DoEasy 函数库中的时间序列(第四十一部分):多品种多周期指标样品

在本文中,我们将研究一个运用 DoEasy 库时间序列类的多品种多周期指标样品,该类在子窗口中以蜡烛的形式显示选定时间帧内选定货币对的图表。 我稍微修改了库类,并创建了一个单独的文件来存储程序输入的枚举,并选择一种编译语言。
preview
如何利用 MQL5 检测蜡烛形态

如何利用 MQL5 检测蜡烛形态

一篇新文章,介绍如何通过 MQL5 自动检测价格的烛条形态。
交易报告及短信通知的创建和发布
交易报告及短信通知的创建和发布

交易报告及短信通知的创建和发布

交易者往往不能、也不想接连多少个小时被拴在交易终端那里。如果交易系统再或多或少地正规化、而且可以自动识别一些市场状态的时候,就更是如此。本文会讲述如何生成一份 HTML 文件格式的交易结果报告(利用“EA 交易”、指标或脚本),并通过 FTP 将其上传到 WWW 服务器。我们还会考虑以短信形式向手机发送交易事件通知。