MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
学习如何基于 ADX 设计交易系统
学习如何基于 ADX 设计交易系统

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

在本文中,我们将继续有关基于最流行指标设计交易系统的系列文章,这次我们将讨论平均方向指数(ADX)指标。 我们将详细学习该指标,从而能够更好地理解它,并将学习如何在简单策略里运用它。 通过深入学习,我们可以获得更多的认知,可以更好地运用它。
在交易中应用 OLAP(第 2 部分):可视化交互式多维数据分析的结果
在交易中应用 OLAP(第 2 部分):可视化交互式多维数据分析的结果

在交易中应用 OLAP(第 2 部分):可视化交互式多维数据分析的结果

在本文中,我们会探讨为一个MQL程序创建一个交互式图形界面,该程序设计用于使用OLAP技术处理帐户历史和交易报告。为了获得视觉效果,我们将使用最大化和可伸缩的窗口、自适应布局的控件和用于显示图表的新控件。为了提供可视化功能,我们将实现一个GUI,其中沿着坐标轴选择变量,以及选择聚合函数、图表类型和排序选项。
preview
神经网络变得轻松(第六部分):神经网络学习率实验

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

我们之前已研究过各种类型的神经网络及其实现。 在所有情况下,训练神经网络时都使用梯度下降法,为此我们需要选择学习率。 在本文中,我打算通过示例展示正确选择学习率的重要性,及其对神经网络训练的影响。
MQL5 Cookbook: 处理 TradeTransaction 事件
MQL5 Cookbook: 处理 TradeTransaction 事件

MQL5 Cookbook: 处理 TradeTransaction 事件

本文从事件驱动编程的角度来考察 MQL5 语言的能力。这种方法的最大好处是,程序可以接收有关交易操作的分阶段实施信息。本文还包含一个使用 TradeTransaction 事件处理器的例子,来接收和处理正在进行的交易操作的动作信息。在我看来,这种方式可用于复制一个终端的交易到另一个终端。
图形界面 VII: 页面控件 (第二章)
图形界面 VII: 页面控件 (第二章)

图形界面 VII: 页面控件 (第二章)

第七部分的第一章介绍了用于创建三种表格控件的类: 文字标签型表格(CLabelsTable), 编辑框型表格(CTable) 以及绘制型表格(CCanvasTable)。在本文中(第二章)我们将讨论页面(Tabs)控件。
统计分布在交易者工作中的作用
统计分布在交易者工作中的作用

统计分布在交易者工作中的作用

本文是我的《用 MQL5 表示统计概率分布》一文的续篇,该文介绍了处理某些理论统计分布的类。现在,我们已经有了理论基础,我建议我们应直接进入实际数据集,并尝试据此基础获得某些信息。
利用判别分析开发交易系统
利用判别分析开发交易系统

利用判别分析开发交易系统

开发交易系统时,通常都会出现选择最佳指标与信号组合的问题。而判别分析就是找到此类组合的方法之一。本文会给出一个用于市场数据采集的 EA 开发示例,并详细阐明如何利用判别分析在 Statistica 软件中构建外汇市场预后模型。
preview
学习如何基于交易量设计交易系统

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

这是我们系列文集中的新篇章,介绍如何基于最流行的技术指标设计交易系统。 本文将专门讨论交易量指标。 作为一个概念,交易量是金融市场交易中非常重要的因素之一,我们必须予以关注。 贯穿本文,我们将学习如何基于交易量指标设计一款简单的系统。
利用外部应用程序进行加密
利用外部应用程序进行加密

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

在本文中,我们研究在 MetaTrader 和外部应用程序中进行对象加密/解密。 我们的目的是判断以相同初始数据获得相同结果的条件。
轻松快捷开发 MetaTrader 程序的函数库(第九部分):与 MQL4 的兼容性 - 准备数据
轻松快捷开发 MetaTrader 程序的函数库(第九部分):与 MQL4 的兼容性 - 准备数据

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

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

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

本文专门讲解金融市场分析模糊逻辑理念的实际应用。 我们会根据两条模糊规则和轨道线指标,提供生成信号的指标示例。 开发出的指标会采用多个指标缓冲区:7 个计算用缓冲区,5 个图表显示用缓冲区和 2 个颜色缓冲区。
preview
基于暴力算法的 CatBoost 模型高级重采样与选择

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

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

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

在本文中,我将尝试扩展掉期利率交易方法的经典概念。 我将解释为什么我会得出这样的结论,即这个概念值得特别关注,绝对推荐研究。
关于策略优化的一些简单想法
关于策略优化的一些简单想法

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

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

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

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

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

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

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

本文介绍交易理念的快速视觉检验方法。方法基于价格图表、信号指标和余额计算指标组合。我愿意分享我的交易理念探寻方法,以及用于快速检验这些理念的方法。
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 年自动交易锦标赛的不同统计数据感兴趣,则本文正好适合您。
preview
MetaTrader 5 的 WebSocket — 使用 Windows API

MetaTrader 5 的 WebSocket — 使用 Windows API

在本文中,我们将使用 WinHttp.dll 针对 MetaTrader 5 平台创建 WebSocket 客户端程序。 客户端最终将作为一个类实现,并借助 Binary.com 的 WebSocket API 进行测试。
preview
梯度提升(CatBoost)在交易系统开发中的应用. 初级的方法

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

在 Python 中训练 CatBoost 分类器,并将模型导出到mql5,以及解析模型参数和自定义策略测试程序。Python 语言和 MetaTrader 5 库用于准备数据和训练模型。
DoEasy 函数库中的时间序列(第三十七部分):时间序列集合 - 按品种和周期的时间序列数据库
DoEasy 函数库中的时间序列(第三十七部分):时间序列集合 - 按品种和周期的时间序列数据库

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

本文探讨开发针对程序中所有品种指定时间帧的时间序列集合。 我们将开发时间序列集合,为集合设置时间序列参数的方法,以及取用历史数据初始填充已开发的时间序列。
preview
构建自动运行的 EA(第 04 部分):手工触发器(I)

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

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。
MQL 作为 MQL 程序图形界面的标记工具。 第二部分
MQL 作为 MQL 程序图形界面的标记工具。 第二部分

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

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

了解如何设计基于轨道线(Envelopes)的交易系统

在本文中,我将与您分享一种如何进行波带交易的方法。 这一次,我们将研究轨道线(Envelopes),并将看到创建一款基于轨道线的策略是多么容易。
以经济方式计算指标的原则
以经济方式计算指标的原则

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

调用用户指标和技术指标在自动交易系统的程序代码中只占很少的空间。通常它仅仅只是行代码。但是经常出现正是这几行代码占用测试 EA 交易程序所需的大部分时间的情况。因此,与指标内的数据计算有关的所有一切都需要更加彻底地考虑,而不能随意决定。本文正是探讨这一点。
开发自适应算法 (第二部分): 提高效率
开发自适应算法 (第二部分): 提高效率

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

在本文中,我将通过改进先前创建的算法的灵活性来继续本主题的开发。随着分析窗口中烛形数量的增加,或烛形超额阈值百分比的增加,算法变得更加稳定。我不得不做出妥协,并设置一个更大的样本量进行分析或更大的烛形超额百分比。
Jeremy Scott - MQL5市场上的成功卖家
Jeremy Scott - MQL5市场上的成功卖家

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

Jeremy Scott,在MQL5.community 中他的昵称是Johnnypasado,因其在MQL5市场上出售产品而为人们所熟知。Jeremy已经赚了好几千美元,并且这一势头还在延续。我们决定和这个未来的百万富翁来个近距离接触,并为其他MQL5市场上的卖家提供些建议。
preview
神经网络变得轻松(第四十五部分):训练状态探索技能

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

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

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

本文讨论假设 - 数理统计的基本理念之一。各种假设需要进行检查,并利用数理统计方法的实例进行验证。使用非参数方法生成实际数据。Statistica 开发包和移植的 ALGLIB MQL5 数值分析库可用于处理数据。
学习如何基于动量设计交易系统
学习如何基于动量设计交易系统

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

在我上一篇文章中,我曾提到了判断价格走势的重要性。 在本文中,我将分享最重要的概念和指标之一,即动量指标。 我还将分享如何基于这个动量指标设计一款交易系统。
DoEasy 函数库中的时间序列(第四十七部分):多周期、多品种标准指标
DoEasy 函数库中的时间序列(第四十七部分):多周期、多品种标准指标

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

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

建立一个频谱分析程序

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

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

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

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

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

DIY 技术指标

在本文中,我将研究允许您创建自己的技术指标的算法。 您将学到如何通过非常简单的初始假设,来获得非常复杂和有趣的结果。
DoEasy 函数库中的时间序列(第四十一部分):多品种多周期指标样品
DoEasy 函数库中的时间序列(第四十一部分):多品种多周期指标样品

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

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

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

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

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

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

神经网络变得轻松(第四部分):循环网络

我们继续研究神经网络的世界。 在本文中,我们将研究另一种类型的神经网络,循环网络。 此类型建议与时间序列配合使用,其在 MetaTrader 5 交易平台中由价格图表呈现。
preview
如何利用 MQL5 检测蜡烛形态

如何利用 MQL5 检测蜡烛形态

一篇新文章,介绍如何通过 MQL5 自动检测价格的烛条形态。