MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
轻松快捷开发 MetaTrader 程序的函数库(第九部分):与 MQL4 的兼容性 - 准备数据
轻松快捷开发 MetaTrader 程序的函数库(第九部分):与 MQL4 的兼容性 - 准备数据

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

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第八部分中,我们实现了跟踪订单和持仓修改事件的类。 在此,我们将令其与 MQL4 完全兼容来,极大改进函数库。
轻松快捷开发 MetaTrader 程序的函数库(第八部分):订单和持仓修改事件
轻松快捷开发 MetaTrader 程序的函数库(第八部分):订单和持仓修改事件

轻松快捷开发 MetaTrader 程序的函数库(第八部分):订单和持仓修改事件

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第七部分中,我们加入了 StopLimit 订单激活跟踪,以及准备了其它涉及订单和持仓事件的跟踪功能。 在本文中,我们将开发用于跟踪订单和持仓修改事件的类。
开发跨平台网格EA(第二部分):在趋势方向上的基于范围的网格
开发跨平台网格EA(第二部分):在趋势方向上的基于范围的网格

开发跨平台网格EA(第二部分):在趋势方向上的基于范围的网格

在本文中,我们将开发一个网格EA,用于在一个范围内的趋势方向上进行交易。这样,此EA主要适用于外汇和大宗商品市场,根据测试,我们的网格EA 自2018年以来显示盈利,不幸的是,这在2014-2018年期间并非如此。
通过差异化和熵值分析来探索市场"记忆"
通过差异化和熵值分析来探索市场"记忆"

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

分数型差分的应用范围足够广泛。 例如,差分序列通常作为机器学习算法的输入。 问题是,必须在机器学习模型可识别的前提下,显示相应历史阶段的新数据。 在本文中,我们将研究时间序列差分的原始方法。 本文还包含基于所接收差分序列的交易系统自我优化示例。
价格速度测量方法
价格速度测量方法

价格速度测量方法

市场研究和分析有多种不同的方法,主要是技术分析和基础分析。在技术分析中,交易者收集、处理和分析与市场有关的数字数据和参数,包括价格、数量等。在基本面分析中,交易者分析直接或间接影响市场的事件和新闻。本文研究了价格-速度测量方法,并在此基础上研究了交易策略。
评估分形指数和Hurst指数预测金融时间序列的能力
评估分形指数和Hurst指数预测金融时间序列的能力

评估分形指数和Hurst指数预测金融时间序列的能力

有关金融数据分形行为的研究表明,在经济时间序列看似混乱的行为背后,存在着参与者集体行为的隐性稳定机制。这些机制可以导致交易所出现价格动态,从而定义和描述价格序列的具体属性。应用于交易中,能够有效、可靠地估计尺度和时间框架内的分形参数的指标,具有一定的实用价值。
轻松快捷开发 MetaTrader 程序的函数库(第七部分): StopLimit 订单激活事件,为修改订单和持仓事件准备功能
轻松快捷开发 MetaTrader 程序的函数库(第七部分): StopLimit 订单激活事件,为修改订单和持仓事件准备功能

轻松快捷开发 MetaTrader 程序的函数库(第七部分): StopLimit 订单激活事件,为修改订单和持仓事件准备功能

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化了 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第六部分中,我们训导函数在净持结算账户上工作。 在此,我们将实现跟踪 StopLimit 订单激活,并准备跟踪修改订单和持仓事件的功能。
轻松快捷开发 MetaTrader 程序的函数库(第六部分):净持帐户事件
轻松快捷开发 MetaTrader 程序的函数库(第六部分):净持帐户事件

轻松快捷开发 MetaTrader 程序的函数库(第六部分):净持帐户事件

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在本系列文章的第五部分中,我们创建了交易事件类和事件集合,从中将事件发送到 Engine 函数库的基础对象和控制程序图表。 在这部分中,我们将让函数工作在净结算账户上。
在交易中应用 OLAP(第 2 部分):可视化交互式多维数据分析的结果
在交易中应用 OLAP(第 2 部分):可视化交互式多维数据分析的结果

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

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

在交易中应用 OLAP(第 1 部分):在线分析多维数据

本文论述如何创建多维数据(OLAP - 在线分析处理)的在线分析框架,以及如何在 MQL 中实现此框架,还有利用交易帐户历史数据在 MetaTrader 环境中应用此类分析的示例。
基于 .Net 框架和 C# 开发图形界面(第二部分):另外的图形元素
基于 .Net 框架和 C# 开发图形界面(第二部分):另外的图形元素

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

本文是之前发表的“基于.NET框架和C为EA交易和指标开发图形界面”的后续部分,它引入了新的图形元素来创建图形界面。
轻松快捷开发 MetaTrader 程序的函数库(第五部分):交易事件集合类,向程序发送事件
轻松快捷开发 MetaTrader 程序的函数库(第五部分):交易事件集合类,向程序发送事件

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

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台上的程序开发。 在第四部分中,我们测试了在帐户上跟踪交易事件。 在本文中,我们将开发交易事件类,并将它们置于事件集合当中。 从那里,它们将被发送到 Engine (引擎)库的基准对象,并控制程序图表。
利用 MQL5 和 MQL4 实现的选择和导航工具: 把数据添加到图表中
利用 MQL5 和 MQL4 实现的选择和导航工具: 把数据添加到图表中

利用 MQL5 和 MQL4 实现的选择和导航工具: 把数据添加到图表中

在本文中,我们将继续扩展实用程序的功能。这一次,我们将增加显示简化交易的数据的能力,特别是前一天的最高、最低价位,全年的最高、最低价位,开盘时间等。
轻松快捷开发 MetaTrader 程序的函数库(第四部分):交易事件
轻松快捷开发 MetaTrader 程序的函数库(第四部分):交易事件

轻松快捷开发 MetaTrader 程序的函数库(第四部分):交易事件

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 我们已拥有历史订单和成交集合,在场订单和仓位的集合,以及便捷选择和订单排序的类。 在这一部分中,我们将继续开发基础对象,并教导引擎(Engine)函数库跟踪帐户上的交易事件。
如何基于HTML和CSV报表可视化多币种交易历史
如何基于HTML和CSV报表可视化多币种交易历史

如何基于HTML和CSV报表可视化多币种交易历史

自推出以来,MetaTrader 5提供了多货币测试选项,也许交易者经常使用这个功能。然而,这种功能并不是万能的。本文介绍了几种基于HTML和CSV交易历史报告的图表图形绘制程序,多货币交易可以在多个子窗口以及使用动态切换命令的一个窗口中并行分析。
研究烛条分析技术(第四部分):形态分析器的更新和补充
研究烛条分析技术(第四部分):形态分析器的更新和补充

研究烛条分析技术(第四部分):形态分析器的更新和补充

本文论述了形态分析器(Pattern Analyzer)应用程序的新版本。 此版本修复了已发现错误并提供了一些新功能,还改进了用户界面。 在新版本的开发过程中参考了上一篇文章中的意见和建议。 最终的应用程序会在本文中进行说明。
开发一个跨平台网格 EA
开发一个跨平台网格 EA

开发一个跨平台网格 EA

在本文中,我们将学习如何创建在 MetaTrader 4 和 MetaTrader 5 中都能工作的 EA 交易。为此,我们将开发一个 EA 构建的订单网格,网格是指将多个限价订单置于当前价格之上,同时将相同数量的限价订单置于当前价格之下的 EA 交易。
10 分钟掌握 MQL5 的 DLL(第二部分):使用 Visual Studio 2017 创建
10 分钟掌握 MQL5 的 DLL(第二部分):使用 Visual Studio 2017 创建

10 分钟掌握 MQL5 的 DLL(第二部分):使用 Visual Studio 2017 创建

初版文章依然具有其相关性,因此如果您对此主题感兴趣,请务必阅读第一篇文章。 从初版起已经过了很久时间,而当前的 Visual Studio 2017 具有全新的界面。 MetaTrader 5 平台也拥有了诸多新功能。 本文提供了开发 DLL 项目各个阶段的描述,以及如何设置 DLL 并与 MetaTrader 5 工具进行交互。
在 MetaTrader 5 中使用 MATLAB 2018 的计算功能
在 MetaTrader 5 中使用 MATLAB 2018 的计算功能

在 MetaTrader 5 中使用 MATLAB 2018 的计算功能

在2015年升级了 MATLAB 包之后,有必要考虑一种现代的创建 DLL 库的方法。本文利用样本预测指标,说明了在目前使用的64位平台上关联 MetaTrader 5 和 MATLAB 的特点。通过探讨连接 MATLAB 的整个过程,MQL5 开发人员将能够更快地创建具有高级计算能力的应用程序,从而避免“陷阱”。
用于轻松快速开发 MetaTrader 程序的函数库(第三部分)。 市价订单和仓位的集合,搜索和排序
用于轻松快速开发 MetaTrader 程序的函数库(第三部分)。 市价订单和仓位的集合,搜索和排序

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

在第一部分中,我们曾创建了一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 再者,我们实现了历史订单和成交的集合。 我们的下一步是创建一个类,用来针对订单、成交和仓位的集合进行选择和排序。 我们将实现名为引擎(Engine)的基准函数库对象,并向函数库中添加市价订单和仓位的集合。
作为技术分析工具的 MTF 指标
作为技术分析工具的 MTF 指标

作为技术分析工具的 MTF 指标

大多数交易者都同意,当前的市场状态分析从评估更高的图表时间框架开始。该分析向下执行,以缩短执行交易的时间范围。这种分析方法似乎是成功交易的专业方法的强制性部分。在本文中,我们将讨论多时间段指标及其创建方法,并提供MQL5代码示例。除了对优缺点进行综合评价外,我们还将提出一种采用MTF模式的新指标方法。
使用CSS选择器从HTML页面提取结构化数据
使用CSS选择器从HTML页面提取结构化数据

使用CSS选择器从HTML页面提取结构化数据

本文描述了一种通用的基于CSS选择器的HTML文档数据分析和转换方法。交易报告、测试报告、您最喜欢的经济日历、公共信号、账户监控和其他在线报价源将直接从MQL获得。
从网络中获取债券收益率数据
从网络中获取债券收益率数据

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

自动收集利率数据以提高EA交易的效率。
轻松快捷开发 MetaTrader 程序的函数库(第二部分)。 历史订单和成交的集合
轻松快捷开发 MetaTrader 程序的函数库(第二部分)。 历史订单和成交的集合

轻松快捷开发 MetaTrader 程序的函数库(第二部分)。 历史订单和成交的集合

在第一部分中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 我们创建了 COrder 抽象对象,它是一个基础对象,用于存储历史订单和成交的数据,以及市价订单和仓位。 现在,我们将开发在集合中存储帐户历史数据的所有必要对象。
研究烛条分析技术(第三部分):用于形态操作的函数库
研究烛条分析技术(第三部分):用于形态操作的函数库

研究烛条分析技术(第三部分):用于形态操作的函数库

本文的目的是创建一个自定义工具,令用户能够接收和使用前面所讨论形态的整体信息数组。 我们将创建一个形态相关的函数库,您可以在自己的指标、交易面板、智能交易系统等等应用中运用它们。
轻松快捷开发 MetaTrader 程序的函数库(第一部分)。 概念,数据管理和首期成果
轻松快捷开发 MetaTrader 程序的函数库(第一部分)。 概念,数据管理和首期成果

轻松快捷开发 MetaTrader 程序的函数库(第一部分)。 概念,数据管理和首期成果

在分析海量交易策略,订购用于 MetaTrader 5 和 MetaTrader 4 终端以及各种 MetaTrader 网站的应用程序开发订单时,我得出了一个结论,就是所有这些貌似多样性,大多基于相同的基本函数,动作和数值有规律地出现在不同的程序当中。 在 DoEasy 跨平台函数库中的这一成效,可以轻松快捷地开发 МetaТrader 5 和 МetaТrader 4 应用程序。
基于 .Net 框架和 C# 为 EA 交易和指标开发图形界面
基于 .Net 框架和 C# 为 EA 交易和指标开发图形界面

基于 .Net 框架和 C# 为 EA 交易和指标开发图形界面

本文介绍了一种使用 Visual Studio 创建图形窗口的简单而快速的方法,并随后将其集成到专家顾问的MQL代码中。本文面向非专业读者,不需要了解C#和.NET技术。
交易策略的色彩优化
交易策略的色彩优化

交易策略的色彩优化

在本文中,我们将进行一个实验:我们将使用颜色优化结果。颜色由三个参数决定:红色、绿色和蓝色(RGB)的级别。还有其他的颜色编码方法,它们也使用三个参数。因此,可以将三个测试参数转换为一种颜色,它直观地表示值,阅读本文以了解这种表示是否有用。
MetaTrader 5 与 Python 的集成:接收和发送数据
MetaTrader 5 与 Python 的集成:接收和发送数据

MetaTrader 5 与 Python 的集成:接收和发送数据

全方位的数据处理需要大量工具,并且经常超出单一应用程序的功能沙箱。 专用编程语言正在用于处理和分析数据,统计和机器学习。 Python 是数据处理的主要编程语言之一。 本文介绍如何使用套接字连接 MetaTrader 5 和 Python,以及如何通过终端 API 接收报价。
利用MQL进行MQL解析
利用MQL进行MQL解析

利用MQL进行MQL解析

本文描述了用于解析基于MQL的源代码的预处理器、扫描器和解析器,MQL 的实现在附件中。
研究烛条分析技术(第二部分):自动搜索新形态
研究烛条分析技术(第二部分):自动搜索新形态

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

在前一篇文章中,我们分析了从多种现有烛条样式中选择出的 14 种形态。 由于不可能逐一分析所有形态,所以找到了另一种解决方案。 新系统根据已知的烛条类型搜索和测试新的烛条形态。
ZigZag (之字折线) 的力量(第二部分)。 接收、处理和显示数据的示例
ZigZag (之字折线) 的力量(第二部分)。 接收、处理和显示数据的示例

ZigZag (之字折线) 的力量(第二部分)。 接收、处理和显示数据的示例

在本文的第一部分当中,我曾描述过一个修订的 ZigZag (之字折线) 指标和一个用于接收该类型指标数据的类。 在此,我将展示如何基于这些工具开发指标,并编写一款根据 ZigZag 指标形成的信号进行交易的 EA 来测试。 作为补充,本文将介绍一套开发图形用户界面的新版 EasyAndFast 函数库。
研究烛条分析技术(第一部分):检查现存形态
研究烛条分析技术(第一部分):检查现存形态

研究烛条分析技术(第一部分):检查现存形态

在本文中,我们将研讨流行的烛条形态,并尝试探索它们在当今市场中是否仍然相关和有效。 烛条分析出现在 20 多年前,从此后变得非常流行。 众多交易者认为日本烛条是最方便、易懂的资产价格可视化形式。
ZigZag(之字折线)的力量(第一部分)。 开发指标基类
ZigZag(之字折线)的力量(第一部分)。 开发指标基类

ZigZag(之字折线)的力量(第一部分)。 开发指标基类

许多研究人员对于判定价格行为没有给予足够的重视。 与此同时,还使用各种复杂方法,而这些方法通常只是“黑盒子”,例如机器学习或神经网络。 在这种情况下显现出的最严重问题就是提交何种数据来训练特定模型。
相关性在交易中的实际应用
相关性在交易中的实际应用

相关性在交易中的实际应用

在本文中,我们将分析变量之间相关性的概念,以及相关系数的计算方法及其在交易中的实际应用。相关性是两个或多个随机变量之间的统计关系(或可以被视为具有某种可接受精度的随机量)。一个或多个变量的变化导致其他相关变量的系统变化。
以马丁格尔(翻倍加仓)为基础的长线交易策略
以马丁格尔(翻倍加仓)为基础的长线交易策略

以马丁格尔(翻倍加仓)为基础的长线交易策略

在本文中,我们将深入研究马丁格尔(翻倍加仓)系统。 我们将评测该系统是否可以用于实盘交易,以及在运用它时如何将风险减至最小。 这一简单系统的主要缺点在于很可能会将全部存款亏损。 如果您决定使用马丁格尔技术进行交易,则必须考虑这一事实。
MеtaTrader5 图表上的水平示意图
MеtaTrader5 图表上的水平示意图

MеtaTrader5 图表上的水平示意图

水平示意图在终端图表上并不常见,但在很多任务中仍然会用到它们,例如在开发显示特定周期的交易量或价格分布的指标时,当创建各种版本的市场深度时。 本文研究构建和管理水平示意图作为图形基元的数组。
蒙特卡罗方法在强化学习中的应用
蒙特卡罗方法在强化学习中的应用

蒙特卡罗方法在强化学习中的应用

在本文中,我们将应用强化学习来开发可以自主学习的EA交易。在前一篇文章中,我们考虑了随机决策森林算法,并编写了一个简单的基于强化学习的自学习EA,概述了这种方法的主要优点(交易算法的开发简单和“培训”速度快)。强化学习(RL)可以很容易地融入到任何交易EA中,并加速其优化。
在算法交易中 KOHONEN 神经网络的实际应用  第二部分优化和预测
在算法交易中 KOHONEN 神经网络的实际应用  第二部分优化和预测

在算法交易中 KOHONEN 神经网络的实际应用 第二部分优化和预测

在设计使用 Kohonen 网络的通用工具的基础上,我们建立了优化EA参数的分析和选择系统,并探讨了时间序列的预测。在第一部分中,我们修正和改进了公开的神经网络类,增加了必要的算法。现在,是时候在实际应用中使用它们了。
使用 MQL5 和 MQL4 开发的选择与导航工具: 增加自动模式搜索和显示侦测到的交易品种
使用 MQL5 和 MQL4 开发的选择与导航工具: 增加自动模式搜索和显示侦测到的交易品种

使用 MQL5 和 MQL4 开发的选择与导航工具: 增加自动模式搜索和显示侦测到的交易品种

在本文中, 我们继续扩展用于收集和在交易品种之间导航工具的功能。这一次,我们将创建新的选项卡,只显示满足一些必需参数的交易品种,并且研究如何根据所需的挑选规则简单添加自定义选项卡。