MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
价格行为分析工具包开发(第19部分):ZigZag分析器

价格行为分析工具包开发(第19部分):ZigZag分析器

每一位价格行为交易者都会手动使用趋势线来确认趋势,并找出潜在的转折或延续水平。在这个关于开发价格行为分析工具包的系列中,我们介绍一款专注于绘制倾斜趋势线的工具,以便于进行市场分析。该工具通过清晰地勾勒出有效价格行为评估所必需的关键趋势和水平,简化了交易者的流程。
如何成为2008自动交易锦标赛的参赛者?
如何成为2008自动交易锦标赛的参赛者?

如何成为2008自动交易锦标赛的参赛者?

举办锦标赛的主要目的 - 推广自动交易并且积累自动交易的实用信息。作为锦标赛的主办方-- 我们将致力保持锦标赛的公正性并防止一切企图欺骗的行为。 为此设定了严格的锦标赛规则。
preview
您应当知道的 MQL5 向导技术(第 38 部分):布林带

您应当知道的 MQL5 向导技术(第 38 部分):布林带

布林带是一种非常常见的轨道线指标,许多交易者用它来手工下单和平仓。我们,通过考察尽可能多的由它生成的不同信号,来验证该指标,并看看如何在向导汇编的智能系统中运用它们。
DoEasy 函数库中的图形(第八十二部分):函数库对象重构和图形对象集合
DoEasy 函数库中的图形(第八十二部分):函数库对象重构和图形对象集合

DoEasy 函数库中的图形(第八十二部分):函数库对象重构和图形对象集合

在本文中,我将通过为每个对象分配唯一类型来改进所有库对象,并继续开发库图形对象集合类。
preview
MQL5 酷宝书 — 服务

MQL5 酷宝书 — 服务

本文讲述了服务的多功能性 — 不需要绑定图的 MQL5 程序。 我还会重点介绍服务与其它 MQL5 程序的区别,并强调开发人员使用服务的细微差别。 作为示例,为读者提供了各种任务,涵盖了可以作为服务实现的各种功能。
preview
交易中的混沌理论(第二部分):深入探索

交易中的混沌理论(第二部分):深入探索

我们继续深入探讨金融市场的混沌理论,这一次我将考虑其对货币和其他资产分析的适用性。
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表

DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表

在本文中,我将创建存储单一品种即时报价数据的列表,并在 EA 中检查其创建状态,以及检索所需数据。 每个所用品种各自的即时报价数据列表将来会构成即时报价数据集合。
preview
神经网络变得轻松(第三十八部分):凭借分歧进行自我监督探索

神经网络变得轻松(第三十八部分):凭借分歧进行自我监督探索

强化学习中的一个关键问题是环境探索。 之前,我们已经见识到基于内在好奇心的研究方法。 今天我提议看看另一种算法:凭借分歧进行探索。
preview
DoEasy 函数库中的时间序列(第五十部分):多周期、多品种带位移的标准指标

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

在文章里,我们将改进函数库的方法,以便正确显示多品种、多周期的标准指标,即那些在当前品种图表上显示曲线,并可在设置中指定位移的指标。 同样,我们按照标准指标的操纵方法进行排序,并在最终的指标程序里将多余的代码移至函数库区域。
preview
交易事务. 请求和响应结构、描述和记录

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

本文探讨了处理交易请求结构,即创建请求、将其发送到服务器之前的初步验证、服务器对交易请求的响应以及交易交易的结构。我们将创建简单方便的函数,将交易订单发送到服务器,并根据所讨论的内容,创建EA来通知交易事务。
preview
开发多币种 EA 交易(第 2 部分):过渡到交易策略的虚拟仓位

开发多币种 EA 交易(第 2 部分):过渡到交易策略的虚拟仓位

让我们继续开发多币种 EA,让多个策略并行工作。让我们尝试将与市场开仓相关的所有工作从策略级转移到管理策略的 EA 级。这些策略本身只进行虚拟交易,并不建立市场仓位。
preview
种群优化算法:细菌觅食优化(BFO)

种群优化算法:细菌觅食优化(BFO)

大肠杆菌觅食策略激发出科学家创建 BFO 优化算法的灵感。 该算法包含原创思路和有前景的优化方法,值得深入研究。
DoEasy 函数库中的图形(第八十六部分):图形对象集合 - 管理属性修改
DoEasy 函数库中的图形(第八十六部分):图形对象集合 - 管理属性修改

DoEasy 函数库中的图形(第八十六部分):图形对象集合 - 管理属性修改

在本文中,我将研究跟踪属性值的修改,以及删除和重命名函数库中的图形对象。
preview
神经网络变得轻松(第三十九部分):Go-Explore,一种不同的探索方式

神经网络变得轻松(第三十九部分):Go-Explore,一种不同的探索方式

我们继续在强化学习模型中研究环境。 在本文中,我们将见识到另一种算法 — Go-Explore,它允许您在模型训练阶段有效地探索环境。
DoEasy 函数库中的图形(第八十九部分):标准图形对象编程。 基本功能
DoEasy 函数库中的图形(第八十九部分):标准图形对象编程。 基本功能

DoEasy 函数库中的图形(第八十九部分):标准图形对象编程。 基本功能

目前,该函数库能够跟踪客户端终端图表上的标准图形对象,包括删除和修改其某些参数。 在当下,它还缺乏从自定义程序创建标准图形对象的能力。
preview
利用 MQL5 实现 Janus 因子

利用 MQL5 实现 Janus 因子

加里·安德森(Gary Anderson)基于他称之为Janus因子的理论,开发了一套市场分析方法。 该理论描述了一套可揭示趋势和评估市场风险的指标。 在本文中,我们将利用 mql5 实现这些工具。
preview
DoEasy. 控件 (第 10 部分): WinForms 对象 — 动画界面

DoEasy. 控件 (第 10 部分): WinForms 对象 — 动画界面

现在是时候实现动画图形界面功能,方便用户与对象的交互了。 为了让更复杂的对象能正确工作,还需要新功能。
preview
数据科学和机器学习(第 18 部分):掌握市场复杂性博弈,截断型 SVD 对比 NMF

数据科学和机器学习(第 18 部分):掌握市场复杂性博弈,截断型 SVD 对比 NMF

截断型奇异值分解(SVD)和非负矩阵分解(NMF)都是降维技术。它们在制定数据驱动的交易策略方面都发挥着重要作用。探索降维的艺术,揭示洞察和优化定量分析,以明智的方式航行在错综复杂的金融市场。
preview
如何将聪明资金概念(SMC)与 RSI 指标结合到 EA 中

如何将聪明资金概念(SMC)与 RSI 指标结合到 EA 中

聪明资金概念(结构突破)与 RSI 指标相结合,可根据市场结构做出明智的自动交易决策。
DoEasy 库中的其他类(第六十七部分):图表对象类
DoEasy 库中的其他类(第六十七部分):图表对象类

DoEasy 库中的其他类(第六十七部分):图表对象类

在本文中,我将创建图表对象类(单个交易金融产品图表),并改进 MQL5 信号对象的集合类,以便在更新列表时也能为存储在集合中的每个信号对象更新其所有参数。
preview
开发先进的 ICT 交易系统:在指标中实现订单区块

开发先进的 ICT 交易系统:在指标中实现订单区块

在本文中,我们将学习如何创建一个指标来检测、绘制订单区块并提醒订单块的缓解。我们还将详细研究如何在图表上识别这些区块,设置准确的提醒,并使用矩形可视化它们的位置,以更好地了解价格行为。该指标将成为遵循聪明钱概念和内圈交易者(ICT,Inner Circle Trader)方法的交易者的关键工具。
preview
经典策略重塑(第12部分):欧元兑美元(EURUSD)突破交易策略

经典策略重塑(第12部分):欧元兑美元(EURUSD)突破交易策略

今天,我们将挑战在MQL5中构建一套盈利的突破交易系统。我们选择欧元兑美元(EURUSD)货币对,尝试在H1(1小时)时间框架下捕捉价格的突破行情。初期挑战:系统难以区分假突破与真实趋势的开端,导致亏损较多。我们给系统叠加了多层过滤器,旨在把亏损压到最低,同时把盈利抬到最高。最终,我们成功地让系统实现盈利,并大幅降低假突破带来的风险。
preview
神经网络变得轻松(第二十九部分):优势扮演者-评价者算法

神经网络变得轻松(第二十九部分):优势扮演者-评价者算法

在本系列的前几篇文章中,我们见识到两种增强的学习算法。 它们中的每一个都有自己的优点和缺点。 正如在这种情况下经常发生的那样,接下来的思路是将这两种方法合并到一个算法,使用两者间的最佳者。 这将弥补它们每种的短处。 本文将讨论其中一种方法。
preview
数据科学和机器学习(第 26 部分):时间序列预测的终极之战 — LSTM 对比 GRU 神经网络

数据科学和机器学习(第 26 部分):时间序列预测的终极之战 — LSTM 对比 GRU 神经网络

在上一篇文章中,我们讨论了一个简单的 RNN,尽管它对理解数据中的长期依赖关系无能为力,却仍能制定可盈利策略。在本文中,我们将讨论长-短期记忆(LSTM)、门控递归单元(GRU)。引入这两个是为了克服简单 RNN 的缺点,并令其更聪慧。
preview
基于隐马尔可夫模型的趋势跟踪波动率预测

基于隐马尔可夫模型的趋势跟踪波动率预测

隐马尔可夫模型(HMMs)是强大的统计工具,可通过分析可观测的价格波动来识别潜在的市场状态。在交易领域,隐马尔可夫模型通过建模和预测市场状态的转变,可提升波动率预测的准确性,并为趋势跟踪策略提供依据。在本文中,我们将完整介绍一种趋势跟踪策略的开发流程,该策略利用隐马尔可夫模型预测波动率,并将其作为交易信号的过滤条件。
DoEasy 函数库中的图形(第八十三部分):抽象标准图形对象类
DoEasy 函数库中的图形(第八十三部分):抽象标准图形对象类

DoEasy 函数库中的图形(第八十三部分):抽象标准图形对象类

在本文中,我将创建抽象图形对象类。 该对象用作创建标准图形对象类的基础。 图形对象拥有多种属性。 因此,在实际创建抽象图形对象类之前,我还需要做很多的准备工作。 这项工作包括在函数库的枚举中设置属性。
preview
数据科学与机器学习(第 07 部分):多项式回归

数据科学与机器学习(第 07 部分):多项式回归

与线性回归不同,多项式回归是一种很灵活的模型,旨在更好地执行线性回归模型无法处理的任务,我们来找出如何在 MQL5 中制作多项式模型,并据其做出积极东西。
preview
混沌博弈优化(CGO)

混沌博弈优化(CGO)

本文提出了一种新型元启发式算法——混沌博弈优化算法(CGO),该算法在处理高维问题时展现出独特的保持高效率的能力。与大多数优化算法不同,CGO在问题规模扩大时不仅不会降低性能,有时甚至还会提升性能,这便是其关键特性。
preview
DoEasy. 控件 (第 26 部分): 完成 ToolTip(工具提示)WinForms 对象,并转移至 ProgressBar(进度条)开发

DoEasy. 控件 (第 26 部分): 完成 ToolTip(工具提示)WinForms 对象,并转移至 ProgressBar(进度条)开发

在本文中,我将完成 ToolTip(工具提示)控件的开发,并启动 ProgressBar(进度条) WinForms 对象开发。 在处理对象时,我将针对控件及其组件开发动画处理的通用功能。
preview
MQL5 中的矩阵和向量:激活函数

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

在此,我们将只讲述机器学习的一个方面 — 激活函数。 在人工神经网络中,神经元激活函数会根据一个或一组输入信号的数值,计算输出信号值。 我们将深入研究该过程的内部运作。
preview
从头开始开发智能交易系统(第 17 部分):访问 web 上的数据(III)

从头开始开发智能交易系统(第 17 部分):访问 web 上的数据(III)

在本文中,我们将继续研究如何从 web 获取数据,并在智能系统中使用它。 这次我们将着手开发一个替代系统。
preview
开发回放系统 — 市场模拟(第 02 部分):首次实验(II)

开发回放系统 — 市场模拟(第 02 部分):首次实验(II)

这一次,我们尝试换一种不同的方式来实现 1 分钟的目标。 然而,这项任务并非如人们想象的那么简单。
preview
构建K线趋势约束模型(第九部分):多策略智能交易系统(EA)(三)

构建K线趋势约束模型(第九部分):多策略智能交易系统(EA)(三)

欢迎来到本趋势系列文章的第三部分!今天,我们将深入探讨如何利用背离(Divergence)策略,在既有的日线趋势中识别最优入场点。同时,我们将引入一种定制化的利润锁定机制——其功能类似于追踪止损(Trailing Stop-Loss),但经过独特的优化升级。此外,我们还将把趋势约束智能交易系统升级为更高级版本,新增一项交易执行条件以完善现有策略框架。随着内容推进,我们将持续探索MQL5在算法开发中的实际应用,为您提供更深入的见解与可落地的技术方案。
preview
机器学习和交易中的元模型:交易订单的原始时序

机器学习和交易中的元模型:交易订单的原始时序

机器学习中的元模型:很少或无人为干预的情况下自动创建交易系统 — 模型自行决定何时以及如何进行交易。
preview
神经网络变得轻松(第十八部分):关联规则

神经网络变得轻松(第十八部分):关联规则

作为本系列文章的延续,我们来研究无监督学习方法中的另一类问题:挖掘关联规则。 这种问题类型首先用于零售业,即超市等,来分析市场篮子。 在本文中,我们将讨论这些算法在交易中的适用性。
DoEasy 函数库中的时间序列(第四十四部分):指标缓冲区对象类集合
DoEasy 函数库中的时间序列(第四十四部分):指标缓冲区对象类集合

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

本文介绍如何创建指标缓冲区对象类的集合。 我计划测试为指标创建和操控任意数量缓冲区的能力(在 MQL 指标中可以创建的最大缓冲区数量为 512)。
preview
数据科学与机器学习(第 09 部分):K-最近邻算法(KNN)

数据科学与机器学习(第 09 部分):K-最近邻算法(KNN)

这是一种惰性算法,它不是基于训练数据集学习,而是以存储数据集替代,并在给定新样本时立即采取行动。 尽管它很简单,但它能用于各种实际应用。
MVC 设计范式及其应用(第 2 部分):三个组件之间相互作用示意图
MVC 设计范式及其应用(第 2 部分):三个组件之间相互作用示意图

MVC 设计范式及其应用(第 2 部分):三个组件之间相互作用示意图

本文是前一篇文章中所讨论主题的延续和完善:MQL 程序中的 MVC 范式。 在本文中,我们将研究范式的三个组件之间可能的相互作用的示意图。
preview
从外汇市场的季节性获益

从外汇市场的季节性获益

我们都熟悉季节性的概念,例如,我们都习惯于冬季新鲜蔬菜价格的上涨或严重霜冻期间燃料价格的上涨,但很少有人知道外汇市场也存在类似的模式。
preview
在 MQL5 中利用 ARIMA 模型进行预测

在 MQL5 中利用 ARIMA 模型进行预测

在本文中,我们继续开发构建 ARIMA 模型的 CArima 类,添加支持预测的直观方法。