MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
神经网络变得轻松(第十部分):多目击者关注

神经网络变得轻松(第十部分):多目击者关注

我们以前曾研究过神经网络中的自关注机制。 在实践中,现代神经网络体系结构会采用多个并行的自关注线程来查找序列元素之间的各种依存关系。 我们来研究这种方法的实现,并评估其对整体网络性能的影响。
preview
神经网络变得轻松(第九部分):操作归档

神经网络变得轻松(第九部分):操作归档

我们已经经历了很长一段路,并且函数库中的代码越来越庞大。 这令跟踪所有连接和依赖性变得难以维护。 因此,我建议为先前创建的代码创建文档,并保持伴随每个新步骤进行更新。 正确准备的文档将有助我们看到操作的完整性。
DoEasy 函数库中的时间序列(第五十七部分):存储一次即时报价数据的对象
DoEasy 函数库中的时间序列(第五十七部分):存储一次即时报价数据的对象

DoEasy 函数库中的时间序列(第五十七部分):存储一次即时报价数据的对象

从本文开始,着手创建操控价格数据的函数库功能。 今天,创建一个对象类,存储到达的即时报价的全部价格数据。
preview
DoEasy 函数库中的时间序列(第五十八部分):指标缓冲区数据的时间序列

DoEasy 函数库中的时间序列(第五十八部分):指标缓冲区数据的时间序列

关于操控时间序列的主题总结,诸如组织存储、针对存储在指标缓冲区中的数据进行搜索和分类,如此即可在程序里利用函数库创建指标值,并进一步据其执行分析。 函数库的所有集合类的一般概念,能够轻松地在相应的集合中找到必要的数据。 在今天创建的类中,也可分别完成同样功能。
preview
神经网络变得轻松(第八部分):关注机制

神经网络变得轻松(第八部分):关注机制

在之前的文章中,我们已经测试了组织规划神经网络的各种选项。 我们还研究了自图像处理算法中借鉴而来的卷积网络。 在本文中,我建议研究关注机制,它的出现为开发语言模型提供了动力。
使用电子表格建立交易策略
使用电子表格建立交易策略

使用电子表格建立交易策略

本文介绍了使用电子表格(Excel、Calc、Google)分析任何策略的基本原则和方法。所得结果与 MetaTrader 5 测试器进行了比较。
preview
MetaTrader 5 中的 WebSockets

MetaTrader 5 中的 WebSockets

在引入随 MQL5 API 更新而提供的网络功能之前,MetaTrader 程序与基于 WebSocket 的服务连接和接口的能力受到许多限制。当然,这一切都改变了,在本文中,我们将探讨纯 MQL5 中 WebSocket 库的实现。WebSocket 协议的简要描述将与如何使用生成的库的逐步指南一起给出。
preview
DoEasy 函数库中的时间序列(第五十七部分):指标缓冲区数据对象

DoEasy 函数库中的时间序列(第五十七部分):指标缓冲区数据对象

在本文中,开发一个对象,其中包含一个指标的一个缓冲区的所有数据。 这些对象对于存储指标缓冲区的数据序列将是必需的。 在其的辅助下,才有可能对任何指标的缓冲区数据,以及其他类似数据进行排序和比较。
preview
DoEasy 函数库中的时间序列(第五十六部分):自定义指标对象,从集合中的指标对象获取数据

DoEasy 函数库中的时间序列(第五十六部分):自定义指标对象,从集合中的指标对象获取数据

本文研究在 EA 中创建自定义指标对象。 我们稍微改进一下库类,并添加一些方法,以便从 EA 中的指标对象获取数据。
preview
DoEasy 函数库中的时间序列(第五十五部分):指标集合类

DoEasy 函数库中的时间序列(第五十五部分):指标集合类

本文继续开发指标对象类及其集合。 为每个指标对象创建其描述和正确的集合类,从而实现无错存储,并从集合列表中获取指标对象。
preview
神经网络在交易中的实际应用 Python (第一部分)

神经网络在交易中的实际应用 Python (第一部分)

在本文中,我们将分析一个基于Python的深层神经网络编程的交易系统的分步实现。这将使用谷歌开发的 TensorFlow 机器学习库执行。我们还将使用 Keras 库来描述神经网络。
preview
神经网络变得轻松(第六部分):神经网络学习率实验

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

我们之前已研究过各种类型的神经网络及其实现。 在所有情况下,训练神经网络时都使用梯度下降法,为此我们需要选择学习率。 在本文中,我打算通过示例展示正确选择学习率的重要性,及其对神经网络训练的影响。
preview
DoEasy 函数库中的时间序列(第五十二部分):多周期、多品种单缓冲区标准指标的跨平台性质

DoEasy 函数库中的时间序列(第五十二部分):多周期、多品种单缓冲区标准指标的跨平台性质

在本文中,研究创建多品种、多周期标准指标的“建仓/派发”。 略微改进指标依托的函数库类,以便从老旧的 MetaTrader 4 平台切换到 MetaTrader 5 时,基于该函数库开发的程序均可正常运行。
preview
如何从算法交易中赚取$1,000,000?使用MQL5.com服务!

如何从算法交易中赚取$1,000,000?使用MQL5.com服务!

所有交易者都以赚取第一个百万美元为目标来访问市场。如何在没有过多风险和启动预算的情况下实现这个目标?MQL5服务为来自世界各地的开发人员和交易者提供了这样的机会。
preview
DoEasy 函数库中的时间序列(第五十一部分):复合多周期、多品种标准指标

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

在本文中,会完成多周期、多品种标准指标对象的开发。 以 Ichimoku Kinko Hyo 标准指标为例,分析复合自定义指标的创建,该指标含有辅助绘制缓冲区,可在图表上显示数据。
preview
DoEasy 函数库中的时间序列(第五十部分):多周期、多品种带位移的标准指标

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

在文章里,我们将改进函数库的方法,以便正确显示多品种、多周期的标准指标,即那些在当前品种图表上显示曲线,并可在设置中指定位移的指标。 同样,我们按照标准指标的操纵方法进行排序,并在最终的指标程序里将多余的代码移至函数库区域。
preview
神经网络变得轻松(第三部分):卷积网络

神经网络变得轻松(第三部分):卷积网络

作为神经网络主题的延续,我建议研究卷积神经网络。 这种类型的神经网络通常用来分析视觉成像。 在本文中,我们将研究这种网络在金融市场中的应用。
preview
DoEasy 函数库中的时间序列(第四十九部分):多周期、多品种、多缓冲区标准指标

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

在本文中,我将改进库类,从而满足需要多个缓冲区来显示其数据的多品种、多周期标准指标的开发能力。
DoEasy 函数库中的时间序列(第四十八部分):在单一子窗口里基于一个缓冲区的多周期、多品种指标
DoEasy 函数库中的时间序列(第四十八部分):在单一子窗口里基于一个缓冲区的多周期、多品种指标

DoEasy 函数库中的时间序列(第四十八部分):在单一子窗口里基于一个缓冲区的多周期、多品种指标

本文研究了一个示例,该示例使用单个指标缓冲区来创建多品种、多周期标准指标,以便在指标子窗口中进行构造和操作。 我会准备库类,以便在程序主窗口中与标准指标一起操作,并有多个缓冲区来显示其数据。
preview
神经网络变得轻松(第二部分):网络训练和测试

神经网络变得轻松(第二部分):网络训练和测试

在第二篇文章中,我们将继续研究神经网络,并研究在智能交易系统当中调用我们所创建 CNet 类的示例。 我们将操控两个神经网络模型,它们在训练时间和预测准确性方面都表现出相似的结果。
用于交易事件和信号的语音通知系统
用于交易事件和信号的语音通知系统

用于交易事件和信号的语音通知系统

现如今,语音助手在人类生活中起着举足轻重的作用,因为我们会经常使用导航、语音搜索和翻译。 在本文中,我将尝试为各种交易事件、市场状态、或由交易信号生成的信号开发一个简单,且用户友好的语音通知系统。
DoEasy 函数库中的时间序列(第四十六部分):多周期、多品种指标缓冲区
DoEasy 函数库中的时间序列(第四十六部分):多周期、多品种指标缓冲区

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

在本文中,我将继续改进指标缓冲区对象类,从而可在多品种模式下操作。 这为自定义程序中创建多品种、多周期指标提供了途径。 我会在计算缓冲区对象里添加缺失的功能,从而令我们可创建多品种、多周期的标准指标。
DoEasy 函数库中的时间序列(第四十五部分):多周期指标缓冲区
DoEasy 函数库中的时间序列(第四十五部分):多周期指标缓冲区

DoEasy 函数库中的时间序列(第四十五部分):多周期指标缓冲区

在本文中,我将着手改进指标缓冲区对象和集合类,从而可在多周期和多品种模式下操作。 我打算在当前品种图表上的任何时间帧内接收和显示数据缓冲区对象的操作。
preview
神经网络在交易中的实际应用。 是时候进行实践了

神经网络在交易中的实际应用。 是时候进行实践了

本文提供了在 Matlab 平台上实际运用神经网络模块的讲述和指南。 它还涵盖了运用神经网络模块创建交易系统的主要方面。 为了能够在一篇文章中厘清复杂内容,我必须对其进行修改,从而在一个程序中组合若干个神经网络模块函数。
神经网络在交易中的实际应用
神经网络在交易中的实际应用

神经网络在交易中的实际应用

在本文中,我们将研究神经网络与交易终端集成的主要方面,从而创建功能齐全的交易机器人。
手工图表和交易工具包(第一部分)。 准备:结构描述和助手类
手工图表和交易工具包(第一部分)。 准备:结构描述和助手类

手工图表和交易工具包(第一部分)。 准备:结构描述和助手类

这是该系列的第一篇文章,我将在其中讲述一个工具箱,该工具箱可通过键盘快捷键来手工图表图形应用。 这非常方便:按一个键,然后出现趋势线,再按另一个键 — 将创建具有必要参数的斐波那契扇形。 也可以切换时间帧,重新排列图层或从图表中删除所有对象。
DoEasy 函数库中的时间序列(第四十四部分):指标缓冲区对象类集合
DoEasy 函数库中的时间序列(第四十四部分):指标缓冲区对象类集合

DoEasy 函数库中的时间序列(第四十四部分):指标缓冲区对象类集合

本文介绍如何创建指标缓冲区对象类的集合。 我计划测试为指标创建和操控任意数量缓冲区的能力(在 MQL 指标中可以创建的最大缓冲区数量为 512)。
原生推特(Twitter)客户端:第二部
原生推特(Twitter)客户端:第二部

原生推特(Twitter)客户端:第二部

一款以 MQL 类实现的推特(Twitter)客户端,允许您发送带照片的推文。 您只需要包含一个独立的包含文件,之后您即可将所有出色的图表和信号发作推文。
无需 DLL 的原生 MT4/MT5 推特(Twitter)客户端
无需 DLL 的原生 MT4/MT5 推特(Twitter)客户端

无需 DLL 的原生 MT4/MT5 推特(Twitter)客户端

是否曾想访问推文和/或在推特(Twitter)上发布您的交易信号? 无需更多搜索,这些持续更新的系列文章将为您展示如何无需任何 DLL 的情况下进行操作。 畅想 MQL 实现 Twitter API 的旅程。 在第一部分中,我们将在访问 Twitter API 时遵循身份验证和授权的荣耀之路。
MQL 作为 MQL 程序图形界面的标记工具(第三部)。 窗体设计师
MQL 作为 MQL 程序图形界面的标记工具(第三部)。 窗体设计师

MQL 作为 MQL 程序图形界面的标记工具(第三部)。 窗体设计师

在篇论文当中,我们将用 MQL 的结构完成构建 MQL 程序窗口界面的概念讲述。 专业的图形编辑器能够交互式地设置由 GUI 元素的基本类组成的布局,然后将其以 MQL 描述导出,从而可在您的 MQL 项目中使用。 此片论文介绍了编辑器的内部设计和用户指南。 附带源代码。
DoEasy 函数库中的时间序列(第四十三部分):指标缓冲区对象类
DoEasy 函数库中的时间序列(第四十三部分):指标缓冲区对象类

DoEasy 函数库中的时间序列(第四十三部分):指标缓冲区对象类

本文研究开发指标缓冲区对象类,其为抽象缓冲区对象的衍生类,从而可简化声明,并可操控指标缓冲区,同时创建基于 DoEasy 库的自定义指标程序。
DoEasy 函数库中的时间序列(第四十一部分):多品种多周期指标样品
DoEasy 函数库中的时间序列(第四十一部分):多品种多周期指标样品

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

在本文中,我们将研究一个运用 DoEasy 库时间序列类的多品种多周期指标样品,该类在子窗口中以蜡烛的形式显示选定时间帧内选定货币对的图表。 我稍微修改了库类,并创建了一个单独的文件来存储程序输入的枚举,并选择一种编译语言。
preview
连续前行优化 (第七部分): 将自动优化器的逻辑部分与图形绑定,并通过程序控制图形

连续前行优化 (第七部分): 将自动优化器的逻辑部分与图形绑定,并通过程序控制图形

本文介绍了自动优化程序的图形部分与其逻辑部分的连接。 它考虑了优化启动过程,从单击按钮到把任务重定向到优化管理器。
DoEasy 函数库中的时间序列(第四十部分):基于函数库的指标 - 实时刷新数据
DoEasy 函数库中的时间序列(第四十部分):基于函数库的指标 - 实时刷新数据

DoEasy 函数库中的时间序列(第四十部分):基于函数库的指标 - 实时刷新数据

本文研究开发基于 DoEasy 库的简单多周期指标。 我们来改进时间序列类,从而能接收来自任何时间帧的数据,并在当前图表周期内显示。
MQL 作为 MQL 程序图形界面的标记工具。 第二部分
MQL 作为 MQL 程序图形界面的标记工具。 第二部分

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

本篇论文继续验证新概念,即利用 MQL 结构描述 MQL 程序的窗口界面。 基于 MQL 标记自动创建 GUI 提供了缓存和动态生成元素和控制风格,以及事件处理的新方案。 随附的是标准控件库的增强版本。
DoEasy 函数库中的时间序列(第三十九部分):基于函数库的指标 - 准备数据和时间序列事件
DoEasy 函数库中的时间序列(第三十九部分):基于函数库的指标 - 准备数据和时间序列事件

DoEasy 函数库中的时间序列(第三十九部分):基于函数库的指标 - 准备数据和时间序列事件

本文讨论如何应用 DoEasy 库来创建多品种、多周期指标。 我们准备在指标中操控函数库类,并创建时间序列作为指标的数据源进行测试。 我们还将实现时间序列事件的创建和发送。
MQL 作为 MQL 程序图形界面的标记工具。 第一部分
MQL 作为 MQL 程序图形界面的标记工具。 第一部分

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

这篇论文提出了一种新的概念,即利用 MQL 结构来描述 MQL 程序的窗口界面。 特殊类将可观察的 MQL 标记转换为 GUI 元素,并允许对其进行管理,为其设置属性,并以统一的方式处理事件。 它还提供了一些运用标准库的对话框和元素标记的示例。
DoEasy 函数库中的时间序列(第三十八部分):时间序列集合 - 实时更新以及从程序访问数据
DoEasy 函数库中的时间序列(第三十八部分):时间序列集合 - 实时更新以及从程序访问数据

DoEasy 函数库中的时间序列(第三十八部分):时间序列集合 - 实时更新以及从程序访问数据

本文研究实时更新时间序列数据,并从所有品种的所有时间序列里发送有关“新柱线”事件的消息至控制程序图表,从而能够在自定义程序中处理这些事件。 “新即时报价”类用于判断是否需要更新非当前图表品种和周期的时间序列。
DoEasy 函数库中的时间序列(第三十七部分):时间序列集合 - 按品种和周期的时间序列数据库
DoEasy 函数库中的时间序列(第三十七部分):时间序列集合 - 按品种和周期的时间序列数据库

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

本文探讨开发针对程序中所有品种指定时间帧的时间序列集合。 我们将开发时间序列集合,为集合设置时间序列参数的方法,以及取用历史数据初始填充已开发的时间序列。
preview
连续前行优化 (第四部分): 优化管理器(自动优化器)

连续前行优化 (第四部分): 优化管理器(自动优化器)

本文主要目的在于阐述运用我们的应用程序进行操控的机制及其能力。 因此,本文可视为有关如何运用该应用程序的指南。 它涵盖了所有可能的陷阱,以及应用程序用法的细节。