MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
利用MQL进行MQL解析
利用MQL进行MQL解析

利用MQL进行MQL解析

本文描述了用于解析基于MQL的源代码的预处理器、扫描器和解析器,MQL 的实现在附件中。
开发自适应算法(第一部分):寻找基本模式
开发自适应算法(第一部分):寻找基本模式

开发自适应算法(第一部分):寻找基本模式

在接下来的系列文章中,我将演示探讨大多数市场因素的自适应算法的开发,以及如何将这些情况系统化,用逻辑描述它们,并在您的交易活动中应用它们。我将从一个非常简单的算法开始,这个算法将逐渐获得理论,并发展成一个非常复杂的项目。
使用标准库类和Google Chart API 创建信息板
使用标准库类和Google Chart API 创建信息板

使用标准库类和Google Chart API 创建信息板

MQL5 编程语言主要针对自动化交易系统的创建以及复杂的技术分析工具。除此之外,它还允许我们创建有趣的信息系统以跟踪市场情况,并实现了与交易者的回路连接。本文会讲述 MQL5标准库的各个组件,并向大家展示它们为达各自目的的实际应用示例。还会呈示一个使用 Google Chart API 创建图表的例子。
文件操作. 一个重要市场时间可视化的实例
文件操作. 一个重要市场时间可视化的实例

文件操作. 一个重要市场时间可视化的实例

本文展示并展望了使用MQL4在外汇交易市场上做出更加高效的工作.
基于 .Net 框架和 C# 开发图形界面(第二部分):另外的图形元素
基于 .Net 框架和 C# 开发图形界面(第二部分):另外的图形元素

基于 .Net 框架和 C# 开发图形界面(第二部分):另外的图形元素

本文是之前发表的“基于.NET框架和C为EA交易和指标开发图形界面”的后续部分,它引入了新的图形元素来创建图形界面。
从网络中获取债券收益率数据
从网络中获取债券收益率数据

从网络中获取债券收益率数据

自动收集利率数据以提高EA交易的效率。
MQL5 向导:如何创建风险和资金管理模块
MQL5 向导:如何创建风险和资金管理模块

MQL5 向导:如何创建风险和资金管理模块

MQL5 向导的交易策略生成器极大简化了交易理念的检验过程。本文介绍了如何创建自定义风险和资金管理模块以及如何在 MQL5 向导中启用该模块。我们将使用一个资金管理算法作为示例,在该算法中交易量规模取决于上一笔交易的结果。本文还将介绍为 MQL5 向导创建的类的说明的结构和格式。
研究烛条分析技术(第二部分):自动搜索新形态
研究烛条分析技术(第二部分):自动搜索新形态

研究烛条分析技术(第二部分):自动搜索新形态

在前一篇文章中,我们分析了从多种现有烛条样式中选择出的 14 种形态。 由于不可能逐一分析所有形态,所以找到了另一种解决方案。 新系统根据已知的烛条类型搜索和测试新的烛条形态。
MQL5 酷宝书:利用自定义品种进行交易策略压力测试
MQL5 酷宝书:利用自定义品种进行交易策略压力测试

MQL5 酷宝书:利用自定义品种进行交易策略压力测试

本文研究一种利用自定义品种进行交易策略压力测试的方法。 为此目的,将创建一个自定义品种类。 此类用于接收源自第三方的报价数据,以及更改品种属性。 根据所完成操作的结果,我们将研究若干选项,并在这些选项下测试交易策略。
创建 EA 交易优化的自定义标准
创建 EA 交易优化的自定义标准

创建 EA 交易优化的自定义标准

MetaTrader 5 客户端提供了各种机会来优化 EA 交易的参数。除了策略测试程序中包含的优化标准以外,开发人员还有机会创建自己的标准。这样一来,EA 交易的测试和优化便具有了无限的可能性。本文介绍了创建此类标准的实用方法,既适用于复杂标准,也适用于简单标准。
轻松快捷开发 MetaTrader 程序的函数库 (第 三十部分) :延后交易请求 - 管理请求对象
轻松快捷开发 MetaTrader 程序的函数库 (第 三十部分) :延后交易请求 - 管理请求对象

轻松快捷开发 MetaTrader 程序的函数库 (第 三十部分) :延后交易请求 - 管理请求对象

在上一篇文章中,我们遵照函数库对象的一般概念创建了相对应的延后请求对象类。 本次,我们将着手允许管理延后请求对象的类。
日内交易中的时间转换原则
日内交易中的时间转换原则

日内交易中的时间转换原则

本文包含了允许接收更加平稳的价格流的操作时间概念。也包含了带时间转换裕度的已更改移动平均线的代码。
轻松快捷开发 MetaTrader 程序的函数库(第五部分):交易事件集合类,向程序发送事件
轻松快捷开发 MetaTrader 程序的函数库(第五部分):交易事件集合类,向程序发送事件

轻松快捷开发 MetaTrader 程序的函数库(第五部分):交易事件集合类,向程序发送事件

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台上的程序开发。 在第四部分中,我们测试了在帐户上跟踪交易事件。 在本文中,我们将开发交易事件类,并将它们置于事件集合当中。 从那里,它们将被发送到 Engine (引擎)库的基准对象,并控制程序图表。
MQL5 代码自动生成文档
MQL5 代码自动生成文档

MQL5 代码自动生成文档

大多数 Java 代码编写者熟悉可通过 JavaDocs 创建的自动生成文档。其思路是以一种半结构化的方式向代码添加注释,然后可以将这些注释提取到易于导航的帮助文件。C++ 世界也有若干文档自动生成器,其中微软的 SandCastle 和 Doxygen 是两款领先产品。本文说明使用 Doxygen,从 MQL5 代码的结构化注释创建 HTML 帮助文件。试验非常成功,我认为 Doxygen 从 MQL5 代码生成的帮助文档会增加很多价值。
AutoElliottWaveMaker - 用于艾略特波浪半自动分析的 MetaTrader 5 工具
AutoElliottWaveMaker - 用于艾略特波浪半自动分析的 MetaTrader 5 工具

AutoElliottWaveMaker - 用于艾略特波浪半自动分析的 MetaTrader 5 工具

本文要讲述的是 AutoElliottWaveMaker - MetaTrader 5 中针对艾略特波浪分析的首次开发,体现出手动与自动波浪标签的合二为一。该波浪分析工具完全在 MQL5 中编写,不包含任何外部 dll 库。这也是可以(且应)利用 MQL5 开发成熟有趣程序的又一证据。
用于轻松快速开发 MetaTrader 程序的函数库(第三部分)。 市价订单和仓位的集合,搜索和排序
用于轻松快速开发 MetaTrader 程序的函数库(第三部分)。 市价订单和仓位的集合,搜索和排序

用于轻松快速开发 MetaTrader 程序的函数库(第三部分)。 市价订单和仓位的集合,搜索和排序

在第一部分中,我们曾创建了一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 再者,我们实现了历史订单和成交的集合。 我们的下一步是创建一个类,用来针对订单、成交和仓位的集合进行选择和排序。 我们将实现名为引擎(Engine)的基准函数库对象,并向函数库中添加市价订单和仓位的集合。
DoEasy 函数库中的价格(第六十三部分):市场深度及其抽象请求类
DoEasy 函数库中的价格(第六十三部分):市场深度及其抽象请求类

DoEasy 函数库中的价格(第六十三部分):市场深度及其抽象请求类

在本文中,我将着手开发操控市场深度的功能。 我还将创建市场深度抽象订单对象,及其衍生类。
通过差异化和熵值分析来探索市场"记忆"
通过差异化和熵值分析来探索市场"记忆"

通过差异化和熵值分析来探索市场"记忆"

分数型差分的应用范围足够广泛。 例如,差分序列通常作为机器学习算法的输入。 问题是,必须在机器学习模型可识别的前提下,显示相应历史阶段的新数据。 在本文中,我们将研究时间序列差分的原始方法。 本文还包含基于所接收差分序列的交易系统自我优化示例。
用于在以仓位为中心的 MetaTrader 5 环境中跟踪订单的虚拟订单管理程序
用于在以仓位为中心的 MetaTrader 5 环境中跟踪订单的虚拟订单管理程序

用于在以仓位为中心的 MetaTrader 5 环境中跟踪订单的虚拟订单管理程序

可以将此类库添加到 MetaTrader 5 EA 交易程序,从而能够通过一种与 MetaTrader 4 非常类似的以订单为中心的方法编写程序(与基于仓位的 MetaTrader 5 相比较)。它通过在 MetaTrader 5 客户端跟踪虚拟订单,同时为每个仓位维护一个保护性经纪人止损,从而提供灾难防护来实现这一目的。
ZUP - 派斯温托通用锯齿形调整浪模式。第 1 部分
ZUP - 派斯温托通用锯齿形调整浪模式。第 1 部分

ZUP - 派斯温托通用锯齿形调整浪模式。第 1 部分

本文简要描述了指标 ZUP(派斯温托通用锯齿形调整浪模式)的基本原理。文章还描述了 ZUP 中内置的各个锯齿形调整浪指标。
preview
突破结构(BoS)交易策略分步指南

突破结构(BoS)交易策略分步指南

基于结构突破(Break of Structure, BoS)策略的自动化交易算法开发综合指南在MQL5中创建交易顾问并在MetaTrader 5中进行测试的全方位详解——从分析价格支撑与阻力到风险管理
如何更容易地检测和修复 Expert Advisor 代码内的错误
如何更容易地检测和修复 Expert Advisor 代码内的错误

如何更容易地检测和修复 Expert Advisor 代码内的错误

在 Export Advisor 的开发过程中,代码错误的检测和恢复修复是非常重要的问题。其主要特征在于,未及时检测出来的错误可能会毁掉已处于首次测试阶段的交易系统的宝贵理念。这就是为何凡是有判断力的 EA 开发者都会在最初时便将其考虑在内的原因。本文将详述一些方法,以帮助解决这一难题。
在 MQL5 中使用对象指针
在 MQL5 中使用对象指针

在 MQL5 中使用对象指针

默认情况下,MQL5 中的所有对象都通过引用传递,但还有使用对象指针的可能性。然而,由于对象可能没有初始化,我们必须执行指针检查。在这种情况下,MQL5程序可能会因为关键性错误而终止并卸载。自动创建的对象不会引起此类错误,因此就此意义而言它们十分安全。通过本文,我们将理解对象引用和对象指针之间的差异,并思考如何编写使用指针的安全代码。
MQL5 Cookbook: 把交易历史写入文件以及为每个交易品种在Excel中创建余额图表
MQL5 Cookbook: 把交易历史写入文件以及为每个交易品种在Excel中创建余额图表

MQL5 Cookbook: 把交易历史写入文件以及为每个交易品种在Excel中创建余额图表

当在各种论坛做沟通时,我经常使用我自己的测试结果作为例子,这些结果显示为Microsoft Excel中的图表截图。很多时候都有人问我这些图表是怎样创建的,最终,我现在有时间在本文中解释其中的全部了。
自适应算法(第三部分): 放弃优化
自适应算法(第三部分): 放弃优化

自适应算法(第三部分): 放弃优化

如果采用基于历史数据的优化方法来选择参数,就不可能得到真正稳定的算法。一个稳定的算法应该知道在任何时候操作任何交易工具时需要哪些参数。它不应该预测或猜测,它应该确定知道。
交易之间的停顿
交易之间的停顿

交易之间的停顿

文章解决的问题:当一定数量的智能交易在MТ 4客户端运行时,如何很好的安排交易之间的停顿。 在终端和MQL 4程序中用户需要的基本技能。
图形界面 X: 多行文本框中的字词回卷算法 (集成编译 12)
图形界面 X: 多行文本框中的字词回卷算法 (集成编译 12)

图形界面 X: 多行文本框中的字词回卷算法 (集成编译 12)

我们继续开发多行文本框控件。这次我们的任务是实现一个自动的文字回卷, 以防发生文本框宽度溢出, 或者如果出现机会, 将文本逆卷到上一行。
图形界面 VIII: 树形视图控件 (第二章)
图形界面 VIII: 树形视图控件 (第二章)

图形界面 VIII: 树形视图控件 (第二章)

图形界面第八部分前面的章节中介绍了静态与下拉日历元件,第二章将集中介绍一个同样复杂的元件 — 树形视图(tree view), 它在每个用于创建图形界面的完整开发库中都会包含。本文中实现的树形视图包含了多种灵活的设置和模式,使得这个控件元件易于调整以满足您的需求。
preview
神经网络在交易中的实际应用 Python (第一部分)

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

在本文中,我们将分析一个基于Python的深层神经网络编程的交易系统的分步实现。这将使用谷歌开发的 TensorFlow 机器学习库执行。我们还将使用 Keras 库来描述神经网络。
“EA 交易”运行期间平衡曲线斜率的控制
“EA 交易”运行期间平衡曲线斜率的控制

“EA 交易”运行期间平衡曲线斜率的控制

找到交易系统的规则,再于“EA 交易”中进行编程,任务就完成一半了。随着交易结果的累积,您需要通过某种方式纠正“EA 交易”的操作。本文讲述一种方法,通过创建平衡曲线斜率的测量反馈,改善“EA 交易”的性能。
preview
交易中的资金管理

交易中的资金管理

我们将研究构建资金管理系统的几种新方法,并定义其主要功能。 今天,有相当多的资金管理策略可以满足各种口味。 我们将尝试根据不同的数学增长模型考察几种管理资金的方法。
Strategy Tester:交易策略测试中模式化的方式
Strategy Tester:交易策略测试中模式化的方式

Strategy Tester:交易策略测试中模式化的方式

技术分析的很多程序允许在历史数据上测试交易策略。在大多数情况下, 测试被连接到已经完成的数据上,在价格柱内这些数据不带有任何试图模式化的趋势。测试会快速进行,但是不精确。
MQL5 细则手册:在单一窗口中监控多个时间表
MQL5 细则手册:在单一窗口中监控多个时间表

MQL5 细则手册:在单一窗口中监控多个时间表

在 MetaTrader 5 中,有 21 个时间表可供分析。您可以利用能置于现有图表上的特殊图表对象,并在相应位置设置交易品种、时间表及其他属性。文章将对此类图表图形对象进行详细介绍:我们将使用控件(按钮)创建指标,以便同时在子窗口中建立多个图表对象。此外,图表对象将准确置于子窗口中,并随主图表或终端窗口的大小调整自动进行校正。
对冲 Expert Advisor 编码基础
对冲 Expert Advisor 编码基础

对冲 Expert Advisor 编码基础

本文给出了对冲 Expert Advisor 的示例。作者将选择自己喜欢的对冲对,即 EURJPY 与 GBPJPY。此对冲对的运作方式始终相同,能较为方便地设置对冲订单类型。
使用指数平滑法进行时间序列预测(续)
使用指数平滑法进行时间序列预测(续)

使用指数平滑法进行时间序列预测(续)

本文力求升级此前创建的指标,并简要讲述了利用自助法与分位数评估预测置信区间的一种方法。如此一来,我们便会获得将用于评估预测准确性的预测指标和脚本。
如何评估智能交易测试结果
如何评估智能交易测试结果

如何评估智能交易测试结果

文章在测试报告中给出了数据的计算公式和定单计算。
根据指定的分布法则为自定义品种的时间序列建模
根据指定的分布法则为自定义品种的时间序列建模

根据指定的分布法则为自定义品种的时间序列建模

本文概述终端创建和运用自定义品种的能力,提供了使用自定义品种模拟交易历史、趋势和各种图表形态的选项。
四个时间范围的多个指标信号的同步显示
四个时间范围的多个指标信号的同步显示

四个时间范围的多个指标信号的同步显示

手动交易时,你必须留意多个指标的值。这跟机械化交易略有不同。如果你有两个或三个指标,且已选择了一个时间范围进行交易,则任务并不复杂。但如果你有五个或六个指标,且交易策略要求考虑多个时间范围上的信号,你将如何做呢?
一分钟数据模式质量等级
一分钟数据模式质量等级

一分钟数据模式质量等级

一分钟数据模式质量等级
错误146 ("交易作业忙") 和如何处理
错误146 ("交易作业忙") 和如何处理

错误146 ("交易作业忙") 和如何处理

文章展示在一个МТ 4客户端上几个智能交易的自由交易冲突。对于在MQL 4 终端和程序的新手有一定的帮助。