MQL5 编程示例的文章

icon

访问海量文章以及代码实例集合,演示如何使用 MQL5 语言 为 MetaTrader 平台创建指标和交易机器人。源代码已附加在文章之中,因此您可以在 MetaEditor 中打开并运行它们,看看应用程序如何工作。

这些文章对那些刚开始探索自动交易的人,以及具有编程经验的职业交易员都极其有用。它们的特色不仅是例子,而且也蕴含着新的想法。

添加一个新的文章
最近 | 最佳
preview
将ML模型与策略测试器集成(结论):实现价格预测的回归模型

将ML模型与策略测试器集成(结论):实现价格预测的回归模型

本文描述了一个基于决策树的回归模型的实现。该模型应预测金融资产的价格。我们已经准备好了数据,对模型进行了训练和评估,并对其进行了调整和优化。然而,需要注意的是,该模型仅用于研究目的,不应用于实际交易。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 1 部分):基于 ADX 指标的信号,并结合抛物线 SAR

如何利用 MQL5 创建简单的多币种智能交易系统(第 1 部分):基于 ADX 指标的信号,并结合抛物线 SAR

本文中的多币种智能交易系统是交易机器人,它只能在单一品种图表中运营,但可交易(开单、平单和管理订单)超过一个品种对。
preview
时间序列挖掘的数据标签(第4部分):使用标签数据的可解释性分解

时间序列挖掘的数据标签(第4部分):使用标签数据的可解释性分解

本系列文章介绍了几种时间序列标记方法,这些方法可以创建符合大多数人工智能模型的数据,而根据需要进行有针对性的数据标记可以使训练后的人工智能模型更符合预期设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
在MQL5中置换价格柱

在MQL5中置换价格柱

在这篇文章中,我们提出了一种置换价格柱的算法,并详细说明了如何使用置换测试来识别策略性能被编造来欺骗 EA 交易的潜在买家的情况。
preview
MQL5中的替代风险回报标准

MQL5中的替代风险回报标准

在这篇文章中,我们介绍了几种被称为夏普比率(Sharpe ratio)替代品的风险回报标准的实现,并检查了假设的权益曲线以分析其特征。
preview
为EA交易提供指标的现成模板(第3部分):趋势指标

为EA交易提供指标的现成模板(第3部分):趋势指标

在这篇参考文章中,我们将研究趋势指标类别中的标准指标。我们将创建现成的模板,用于EA中的指标使用——声明和设置参数、指标初始化和析构,以及从EA中的指示符缓冲区接收数据和信号。
preview
DRAKON可视化编程语言 - 面向MQL开发人员和客户的通信工具

DRAKON可视化编程语言 - 面向MQL开发人员和客户的通信工具

DRAKON是一种可视化编程语言,旨在简化来自不同领域的专家(生物学家、物理学家、工程师…)与俄罗斯太空项目(例如,Buran可重复使用航天器项目)程序员之间的互动。在这篇文章中,我将讨论DRAKON如何使算法的创建变得容易和直观,即使你从未遇到过代码,以及客户在订购交易机器人时如何更容易解释他们的想法,以及程序员如何在复杂函数中减少错误。
preview
为EA交易提供指标的现成模板(第2部分):交易量和比尔威廉姆斯指标

为EA交易提供指标的现成模板(第2部分):交易量和比尔威廉姆斯指标

在本文中,我们将研究交易量和比尔威廉姆斯指标类别的标准指标。我们将创建现成的模板,用于EA中的指标使用——声明和设置参数、指标初始化和析构,以及从EA中的指示符缓冲区接收数据和信号。
preview
模式搜索的暴力方法(第六部分):循环优化

模式搜索的暴力方法(第六部分):循环优化

在这篇文章中,我将展示改进的第一部分,这些改进不仅使我能够使MetaTrader 4和5交易的整个自动化链闭环,而且还可以做一些更有趣的事情。从现在起,这个解决方案使我能够完全自动化创建EA和优化,并最大限度地降低寻找有效交易配置的劳动力成本。
preview
MQL5中使用坐标下降法的弹性网络回归

MQL5中使用坐标下降法的弹性网络回归

在这篇文章中,我们探索了弹性网络回归的实际实现,以最大限度地减少过拟合,同时自动将有用的预测因子与那些预测能力很小的预测因子区分开来。
preview
用于在EA交易中包含指标的现成模板(第一部分):振荡指标

用于在EA交易中包含指标的现成模板(第一部分):振荡指标

本文从振荡指标类开始研究标准指标,我们将创建现成的模板,用于EA中——声明和设置参数、指标初始化和去初始化,以及从EA中的指标缓冲区接收数据和信号。
preview
制作仪表板以显示指标和EA中的数据

制作仪表板以显示指标和EA中的数据

在本文中,我们将创建一个用于指标和EA的仪表板类。这是一个小系列文章中的介绍性文章,其中包含模板以在EA交易中包含和使用标准指标。我将首先创建一个类似于MetaTrader 5数据窗口的面板。
preview
MetaTrader 5中的蒙特卡罗置换测试

MetaTrader 5中的蒙特卡罗置换测试

在本文中,我们将了解如何仅使用 Metatrader 5在任何 EA 交易上基于修改的分时数据进行置换测试。
preview
交易事务. 请求和响应结构、描述和记录

交易事务. 请求和响应结构、描述和记录

本文探讨了处理交易请求结构,即创建请求、将其发送到服务器之前的初步验证、服务器对交易请求的响应以及交易交易的结构。我们将创建简单方便的函数,将交易订单发送到服务器,并根据所讨论的内容,创建EA来通知交易事务。
preview
MQL5 中的范畴论 (第 11 部分):图论

MQL5 中的范畴论 (第 11 部分):图论

本文是以 MQL5 实现范畴论系列的续篇。于此,我们验证在开发交易系统的平仓策略时,图论如何与幺半群和其它数据结构集成。
preview
开发回放系统 — 市场模拟(第 17 部分):跳价和更多跳价(I)

开发回放系统 — 市场模拟(第 17 部分):跳价和更多跳价(I)

于此,我们将见识到如何实现一些非常有趣的东西,但同时也会因某些可能十分令人困惑的关键点而极其困难。可能发生的最糟糕的事情是,一些自诩专业人士的交易者却对这些概念在资本市场中的重要性一无所知。好吧,尽管我们在这里专注于编程,但理解市场交易中涉及的一些问题,对于我们将要实现的内容至关重要。
preview
MQL5中的结构及其数据打印方法

MQL5中的结构及其数据打印方法

在本文中,我们将研究MqlDateTime、MqlTick、MqlRates和MqlBookInfo结构,以及从它们打印数据的方法。为了打印结构的所有字段,有一个标准的ArrayPrint()函数,它以方便的表格格式显示数组中包含的数据以及处理结构的类型。
preview
StringFormat(). 回顾和现成的例子

StringFormat(). 回顾和现成的例子

本文继续介绍PrintFormat()函数。我们将简要介绍使用StringFormat()格式化字符串及其在程序中的进一步使用。我们还将编写模板,在终端日志中显示交易品种数据。这篇文章对初学者和有经验的开发人员都很有用。
DoEasy. 控件 (第 32 部分): 水平滚动条,鼠标轮滚动
DoEasy. 控件 (第 32 部分): 水平滚动条,鼠标轮滚动

DoEasy. 控件 (第 32 部分): 水平滚动条,鼠标轮滚动

在本文中,我们将完成水平滚动条对象功能的开发。我们还将令移动滚动条滑块和旋转鼠标滚轮来滚动容器的内容成为可能,以及考虑到 MQL5 中的新订单执行策略,和新的运行时错误代码,在函数库里相应添加。
preview
研究PrintFormat()并应用现成的示例

研究PrintFormat()并应用现成的示例

这篇文章对初学者和有经验的开发人员都很有用。我们将研究PrintFormat()函数,分析字符串格式的示例,并编写用于在终端日志中显示各种信息的模板。
preview
MQL5中的ALGLIB数值分析库

MQL5中的ALGLIB数值分析库

本文简要介绍了ALGLIB 3.19数值分析库、它的应用以及可以提高金融数据分析效率的新算法。
preview
GUI:利用 MQL 创建您自己的图形库的提示和技巧

GUI:利用 MQL 创建您自己的图形库的提示和技巧

我们将通览 GUI 函数库的基础知识,以便您能理解它们如何工作,甚至着手打造您自己的函数库。
preview
MQL5 中的范畴论 (第 10 部分):幺半群组

MQL5 中的范畴论 (第 10 部分):幺半群组

本文是以 MQL5 实现范畴论系列的延续。 在此,我们将”幺半群-组“视为常规化幺半群集的一种手段,令它们在更广泛的幺半群集和数据类型中更具可比性。
preview
为智能系统制定品质因数

为智能系统制定品质因数

在本文中,我们将见识到如何制定一个品质得分,并由您的智能系统从策略测试器返回。 我们将查看两种著名的计算方法 — Van Tharp 和 Sunny Harris。
preview
利用回归衡量度评估 ONNX 模型

利用回归衡量度评估 ONNX 模型

回归是一项依据未标记样本预测真实数值的任务。 所谓的回归衡量度则是用来评估回归模型的预测准确性。
preview
时间序列的频域表示:功率谱

时间序列的频域表示:功率谱

在本文中,我们将讨论在频域中分析时间序列的相关方法。 构建预测模型时,强调检验时间序列功率谱的效用 在本文中,我们将讨论运用离散傅里叶变换(dft)在频域中分析时间序列获得的一些实用观点。
preview
开发回放系统 — 市场模拟(第 11 部分):模拟器的诞生(I)

开发回放系统 — 市场模拟(第 11 部分):模拟器的诞生(I)

为了依据数据形成柱线,我们必须放弃回放,并开始研发一款模拟器。 我们将采用 1-分钟柱线,因为它们所需的难度最小。
开发回放系统 — 市场模拟(第 10 部分):仅用真实数据回放
开发回放系统 — 市场模拟(第 10 部分):仅用真实数据回放

开发回放系统 — 市场模拟(第 10 部分):仅用真实数据回放

在此,我们将查看如何在回放系统中使用更可靠的数据(交易跳价),而不必担心它是否被调整。
preview
开发回放系统 — 市场模拟(第 09 部分):自定义事件

开发回放系统 — 市场模拟(第 09 部分):自定义事件

在此,我们将见到自定义事件是如何被触发的,以及指标如何报告回放/模拟服务的状态。
preview
MQL5 中的矩阵和向量:激活函数

MQL5 中的矩阵和向量:激活函数

在此,我们将只讲述机器学习的一个方面 — 激活函数。 在人工神经网络中,神经元激活函数会根据一个或一组输入信号的数值,计算输出信号值。 我们将深入研究该过程的内部运作。
preview
在类中包装 ONNX 模型

在类中包装 ONNX 模型

面向对象编程可以创建更紧凑、易于阅读和修改的代码。 在此,我们将会看到三个 ONNX 模型的示例。
preview
以 MQL5 实现 ARIMA 训练算法

以 MQL5 实现 ARIMA 训练算法

在本文中,我们将实现一种算法,该算法应用了 Box 和 Jenkins 的自回归集成移动平均模型,并采用了函数最小化的 Powells 方法。 Box 和 Jenkins 表示,大多数时间序列可以由两个框架中之一个或两个来建模。
preview
开发回放系统 — 市场模拟(第 08 部分):锁定指标

开发回放系统 — 市场模拟(第 08 部分):锁定指标

在本文中,我们将亲眼见证如何在简单地利用 MQL5 语言锁定指标,我们将以一种非常有趣和迷人的方式做到这一点。
preview
开发回放系统 — 市场模拟(第 07 部分):首次改进(II)

开发回放系统 — 市场模拟(第 07 部分):首次改进(II)

在上一篇文章中,我们针对复现系统进行了一些修复并加入了测试,以确保可能的最佳稳定性。 我们还着手为这个系统创建和使用配置文件。
preview
MetaTrader 中的多机器人:从单图表中启动多个机器人

MetaTrader 中的多机器人:从单图表中启动多个机器人

在本文中,我将研究一个简单的模板,用来创建通用的 MetaTrader 机器人,该机器人可以在多个图表上使用,同时仅附加到一个图表,无需在每个单独的图表上为每个机器人实例进行配置。
preview
开发回放系统 — 市场模拟(第 05 部分):加入预览

开发回放系统 — 市场模拟(第 05 部分):加入预览

我们已设法开发了一套以逼真和可访问的方式来实现市场回放的系统。 现在,我们继续我们的项目,并添加数据,从而提升回放行为。
preview
利用 MQL5 实现 Janus 因子

利用 MQL5 实现 Janus 因子

加里·安德森(Gary Anderson)基于他称之为Janus因子的理论,开发了一套市场分析方法。 该理论描述了一套可揭示趋势和评估市场风险的指标。 在本文中,我们将利用 mql5 实现这些工具。
preview
种群优化算法:类电磁算法(EM - ElectroMagnetism)

种群优化算法:类电磁算法(EM - ElectroMagnetism)

本文讲述在各种优化问题中采用电磁算法(EM - ElectroMagnetism)的原理、方法和可能性。 EM 算法是一种高效的优化工具,能够处理大量数据和多维函数。
preview
MQL5 中的范畴论 (第 4 部分):跨度、实验、及合成

MQL5 中的范畴论 (第 4 部分):跨度、实验、及合成

范畴论是数学的一个多样化和不断扩展的分支,到目前为止,在 MQL5 社区中还相对难以发现。 这些系列文章旨在介绍和研究其一些概念,其总体目标是建立一个开放的函数库,提供洞察力,同时希望在交易者的策略开发中进一步运用这一非凡的领域。
preview
开发回放系统 — 市场模拟(第 04 部分):调整设置(II)

开发回放系统 — 市场模拟(第 04 部分):调整设置(II)

我们继续创建系统和控制。 没有掌控服务的能力,就很难向前推进和改进系统。