MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
DoEasy 函数库中的图形(第九十九部分):依据单个控制点移动扩展图形对象

DoEasy 函数库中的图形(第九十九部分):依据单个控制点移动扩展图形对象

在前一篇文章中,我实现了依据控件窗体移动扩展图形对象轴点的功能。 现在,我将实现依据单个图形对象控制点(窗体)移动复合图形对象的功能。
preview
让新闻交易变得容易(第一部分):创建一个数据库

让新闻交易变得容易(第一部分):创建一个数据库

新闻交易可能很复杂,令人难以招架,在本文中我们将介绍获取新闻数据的步骤。此外,我们还将了解MQL5经济数据日历及其提供的功能。
preview
将ML模型与策略测试器集成(结论):实现价格预测的回归模型

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

本文描述了一个基于决策树的回归模型的实现。该模型应预测金融资产的价格。我们已经准备好了数据,对模型进行了训练和评估,并对其进行了调整和优化。然而,需要注意的是,该模型仅用于研究目的,不应用于实际交易。
preview
DoEasy. 控件(第 15 部分):TabControl WinForms 对象 — 多行选项卡标题、选项卡处理方法

DoEasy. 控件(第 15 部分):TabControl WinForms 对象 — 多行选项卡标题、选项卡处理方法

在本文中,我将继续工作于 TabControl WinForm 对象 — 我将创建一个选项卡字段对象类,令选项卡标题排列几行成为可能,并添加处理对象相应选项卡的方法。
preview
如何不通过翻找历史交易记录直接在图表上查看交易情况

如何不通过翻找历史交易记录直接在图表上查看交易情况

在本文中,我们将创建一个简单的工具,通过按键导航方式方便地直接在图表上查看持仓和交易。这将使交易者能够直观地检查每笔交易,并当场获取有关交易结果的所有信息。
preview
您应该知道的 MQL5 向导技术(第 04 部分):线性判别分析

您应该知道的 MQL5 向导技术(第 04 部分):线性判别分析

今天的交易者都是哲学家,几乎总是在寻找新的想法,尝试提炼它们,选择修改或丢弃它们:一个探索性的过程,肯定会花费相当的勤奋程度。 这些系列文章将提出 MQL5 向导应该是交易者在此领域努力的中流砥柱。
preview
您应该知道的 MQL5 向导技术(第 03 部分):香农(Shannon)熵

您应该知道的 MQL5 向导技术(第 03 部分):香农(Shannon)熵

今天的交易者都是哲学家,几乎总是在寻找新的想法,尝试提炼它们,选择修改或丢弃它们:一个探索性的过程,肯定会花费相当的勤奋程度。 本系列文章将提出,MQL5 向导应该是交易者的支柱。
preview
MQL5 简介(第 4 部分):掌握结构、类和时间函数

MQL5 简介(第 4 部分):掌握结构、类和时间函数

在我们的最新文章中揭开 MQL5 编程的秘密!深入了解结构、类和时间函数的基本要素,为您的编码之旅赋能。无论您是初学者还是经验丰富的开发人员,我们的指南都简化了复杂的概念,为掌握 MQL5 提供了宝贵的见解。提升你的编程技能,在算法交易领域保持领先!
preview
使用 SMA 和 EMA 自动优化止盈和指标参数的示例

使用 SMA 和 EMA 自动优化止盈和指标参数的示例

本文介绍了一种用于外汇交易的复杂 EA 交易,它能够将机器学习与技术分析相结合。它专注于交易苹果股票,具有自适应优化、风险管理和多策略的特点。回溯测试显示出良好的结果,盈利能力较高,但也有显著的回撤,表明还有进一步改进的潜力。
preview
种群优化算法:Nelder-Mead(NM),或单纯形搜索方法

种群优化算法:Nelder-Mead(NM),或单纯形搜索方法

本文表述针对 Nelder-Mead 方法进行的彻底探索,解释了如何在每次迭代中修改和重新排列单纯形(函数参数空间),从而达成最优解,并讲述了如何改进该方法。
preview
在MetaTrader 5中集成隐马尔可夫模型

在MetaTrader 5中集成隐马尔可夫模型

在本文中,我们将展示如何将使用Python训练的隐马尔可夫模型(Hidden Markov Models, HMMs)集成到MetaTrader 5应用程序中。HMM是一种强大的统计工具,用于对时间序列数据进行建模,其中被建模的系统以不可观察(隐藏)的状态为特征。HMM的一个基本前提是,在特定时间处于给定状态的概率取决于该过程在前一个时间点的状态。
preview
了解 MQL5 面向对象编程(OOP)

了解 MQL5 面向对象编程(OOP)

作为开发人员,我们需要学习如何在创建和开发软件时,无需重复代码做到可重用、且灵活,尤其是当我们拥有不同行为的不同对象时。这可以利用面向对象的编程技术和原则来顺滑地达到。在本文中,我们将介绍 MQL5 面向对象编程的基础知识,以便了解如何在我们的软件中利用这一关键主题的原则和实践。
preview
MQL5自动化交易策略(第十一部分):开发多层级网格交易系统

MQL5自动化交易策略(第十一部分):开发多层级网格交易系统

在本文中,我们将使用MQL5开发一款多层级网格交易系统EA,重点探讨网格交易策略背后的架构与算法设计。我们将研究多层网格逻辑的实现方式以及应对不同市场状况的风险管理技术。最后,我们将提供详尽的解释和实用技巧,指导您完成自动化交易系统的构建、测试与优化。
preview
威廉·江恩(William Gann)方法(第二部分):创建江恩宫格指标

威廉·江恩(William Gann)方法(第二部分):创建江恩宫格指标

我们将基于“江恩九宫格”创建一个指标,该指标通过时间和价格方格构建而成。我们将提供指标代码,并在平台上针对不同的时间区间,对该指标进行测试。
preview
DoEasy 函数库中的时间序列(第五十六部分):自定义指标对象,从集合中的指标对象获取数据

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

本文研究在 EA 中创建自定义指标对象。 我们稍微改进一下库类,并添加一些方法,以便从 EA 中的指标对象获取数据。
preview
构建K线趋势约束模型(第5部分):通知系统(第一部分)

构建K线趋势约束模型(第5部分):通知系统(第一部分)

我们将会把关键的MQL5代码分解成特定的代码段,以展示如何在本系列文章中创建的“趋势约束”指标中集成Telegram和WhatsApp来接收信号通知。这将帮助交易者,无论是新手还是经验丰富的开发者,都能更容易地理解这一概念。首先,我们将介绍MetaTrader 5的通知设置及其对用户的重要性。这将有助于开发者提前做好笔记,以便在他们的系统中做进一步应用。
preview
逆公允价值缺口(IFVG)交易策略

逆公允价值缺口(IFVG)交易策略

当价格回到先前确定的公允价值缺口位置,且未表现出预期的支撑或阻力反应,而是无视该缺口时,便出现了逆公允价值缺口(IFVG)。这种“无视”现象可能预示着市场方向的潜在转变,并为反向交易提供优势。在本文中,我将介绍自己开发的量化方法,以及如何将IFVG作为一种策略,应用于MetaTrader 5智能交易系统(EA)中。
preview
重构经典策略(第十部分):人工智能(AI)能否为MACD提供动力?

重构经典策略(第十部分):人工智能(AI)能否为MACD提供动力?

加入我们的行列,我们将实证分析MACD指标,以测试将AI应用于包含该指标的策略是否会在预测欧元兑美元(EURUSD)方面提高准确性。我们同时评估该指标本身是否比价格更容易预测,以及该指标的值是否能预测未来的价格水平。我们将为您提供所需的信息,以决定是否应该考虑将MACD整合到您的AI交易策略中。
preview
DoEasy. 控件 (第 5 部分): 基准 WinForms 对象,面板控件,AutoSize 参数

DoEasy. 控件 (第 5 部分): 基准 WinForms 对象,面板控件,AutoSize 参数

在本文中,我将创建所有函数库 WinForms 对象的基准对象,并开始实现面板 WinForms 对象的 AutoSize 属性 — 自动调整尺寸,从而适应对象内部内容。
preview
交易中的神经网络:针对金融市场的多模态、扩增工具型智代(FinAgent)

交易中的神经网络:针对金融市场的多模态、扩增工具型智代(FinAgent)

我们邀请您来探索 FinAgent,一个多模态金融交易智代框架,设计用来分析反映市场动态和历史交易形态的各种数据。
preview
日内交易:拉里·康纳斯(Larry Connors)RSI2均值回归策略

日内交易:拉里·康纳斯(Larry Connors)RSI2均值回归策略

拉里·康纳斯(Larry Connors)是知名交易员与量化交易领域权威作家,其最著名的成果之一是2周期相对强弱指数(RSI2)策略。该指标通过捕捉短期超买超卖信号,辅助判断市场反转时机。在本文中,我们将首先阐述研究契机,随后在MQL5中复现康纳斯的三大经典策略,并应用于标普500指数差价合约(CFD)的日内交易场景。
preview
学习如何基于 DeMarker 设计交易系统

学习如何基于 DeMarker 设计交易系统

此为我们系列中的一篇新文章,介绍如何基于最流行的技术指标设计交易系统。 在本文中,我们将介绍如何基于 DeMarker 指标创建交易系统。
preview
构建K线图趋势约束模型(第三部分):在使用该系统时检测趋势变化

构建K线图趋势约束模型(第三部分):在使用该系统时检测趋势变化

本文探讨了经济新闻发布、投资者行为以及各种因素如何影响市场趋势的反转。文章包含一段视频解释,并接着将MQL5代码融入我们的程序中,以检测趋势反转、向我们发出警报,并根据市场条件采取相应行动。本文是在此前一系列文章基础上的扩展。
preview
MQL5 交易策略自动化(第十部分):开发趋势盘整动量策略

MQL5 交易策略自动化(第十部分):开发趋势盘整动量策略

在本文中,我们将基于MQL5开发趋势盘整动量策略EA。我们将结合双移动平均线交叉与 RSI 和 CCI 动量过滤器来生成交易信号。我们还将对EA进行回测,以及为提升其在真实交易环境下的表现而进行的优化。
preview
开发回放系统 — 市场模拟(第 15 部分):模拟器的诞生(V)- 随机游走

开发回放系统 — 市场模拟(第 15 部分):模拟器的诞生(V)- 随机游走

在本文中,我们将完成自有系统模拟器的开发。 于此的主要目标是就上一篇文章中讨论的算法进项配置。 该算法旨在创建随机游走走势。 因此,为了明白今天的讲义,有必要了解以前文章的内容。 如果您尚未跟踪模拟器的开发,我建议您从头开始阅读本系列文章。 否则,您也许对此处将要讲解的内容不明所以。
preview
数据科学和机器学习(第 26 部分):时间序列预测的终极之战 — LSTM 对比 GRU 神经网络

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

在上一篇文章中,我们讨论了一个简单的 RNN,尽管它对理解数据中的长期依赖关系无能为力,却仍能制定可盈利策略。在本文中,我们将讨论长-短期记忆(LSTM)、门控递归单元(GRU)。引入这两个是为了克服简单 RNN 的缺点,并令其更聪慧。
preview
DoEasy. 控件 (第 21 部分): SplitContainer 控件 面板隔板

DoEasy. 控件 (第 21 部分): SplitContainer 控件 面板隔板

在本文中,我将为 SplitContainer 控件创建辅助面板隔板对象类。
preview
改编版 MQL5 网格对冲 EA(第 III 部分):优化简单对冲策略(I)

改编版 MQL5 网格对冲 EA(第 III 部分):优化简单对冲策略(I)

在第三部分中,我们重新审视了早前开发的简单对冲和简单网格智能系统(EA)。我们的重点转移到通过数学分析和蛮力方式完善简单对冲 EA,旨在实现最优策略用法。本文深入探讨了该策略的数学优化,为在日后文章中探索未来基于编码的优化奠定了基础。
preview
开发回放系统 — 市场模拟(第 12 部分):模拟器的诞生(II)

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

开发模拟器可能比看起来有趣得多。 今天,我们将朝着这个方向再走几步,因为事情变得越来越有趣。
preview
开发回放系统(第32部分):订单系统(一)

开发回放系统(第32部分):订单系统(一)

在我们迄今为止开发的所有东西中,正如你可能会注意到并最终同意的那样,这个系统是最复杂的。现在我们需要做一些非常简单的事情:让我们的系统模拟交易服务器的操作。准确实现交易服务器操作方式似乎是一件轻而易举的事情。至少说起来是这样。但我们需要这样做,以便对回放/模拟系统的用户来说,一切都是无缝和透明的。
preview
通过配对交易中的均值回归进行统计套利:用数学战胜市场

通过配对交易中的均值回归进行统计套利:用数学战胜市场

本文描述了投资组合层面的统计套利基础知识。其目标是帮助没有深厚数学知识的读者理解统计套利的原则,并提出一个概念性的起点框架。文章包含一个可运行的智能交易系统(EA)、一些关于其一年回测的笔记,以及用于复现实验的相应回测配置设置(.ini 文件)。
preview
MQL5 交易工具包(第 1 部分):开发仓位管理 EX5 库

MQL5 交易工具包(第 1 部分):开发仓位管理 EX5 库

了解如何创建面向开发人员的工具包,使用 MQL5 管理各种仓位操作。在本文中,我将演示如何创建一个函数库 (ex5),以执行从简单到高级的仓位管理操作,包括自动处理和报告使用 MQL5 处理仓位管理任务时出现的各种错误。
preview
构建一个K线图趋势约束模型(第二部分):融合原生指标

构建一个K线图趋势约束模型(第二部分):融合原生指标

这篇文章的重点在于如何利用MetaTrader 5的内置指标来甄别逆势信号。在上一篇文章的基础上,我们将进一步探讨如何使用MQL5代码将我们的想法最终用代码实现。
preview
龟壳演化算法(TSEA)

龟壳演化算法(TSEA)

这是一种受乌龟壳演化启发的独特优化算法。TSEA算法模拟了角质化皮肤区域的逐渐形成,这些区域代表了一个问题的最优解。最优解会变得更加“坚硬”,并位于更靠近外层表面的位置,而不太理想的解则保持“较软”的状态,并位于内部。该算法通过根据质量和距离对解进行聚类,从而保留了不太理想的选项,并提供了灵活性和适应性。
preview
开发多币种 EA 交易(第 9 部分):收集单一交易策略实例的优化结果

开发多币种 EA 交易(第 9 部分):收集单一交易策略实例的优化结果

让我们来概述一下 EA 开发的主要阶段。首先要做的一件事就是优化所开发交易策略的单个实例。让我们试着在一个地方收集优化过程中测试器通过的所有必要信息。
preview
开发回放系统(第33部分):订单系统(二)

开发回放系统(第33部分):订单系统(二)

今天,我们将继续开发订单系统。正如您将看到的,我们将大规模重用其他文章中已经展示的内容。尽管如此,你还是会在这篇文章中获得一点奖励。首先,我们将开发一个可以与真实交易服务器一起使用的系统,无论是从模拟账户还是从真实账户。我们将广泛使用MetaTrader 5平台,该平台将从一开始就为我们提供所有必要的支持。
preview
暴力方式搜素形态(第 V 部分):全新视角

暴力方式搜素形态(第 V 部分):全新视角

在这篇文章中,我将展示一种完全不同的方式进行算法交易,我经历了很长一段时间后才最终遇到它。当然,这一切所作所为全靠我的暴力程序,其经历了许多更改,令其能够并发解决若干问题。尽管如此,这篇文章明面上仍然比较笼统和尽可能简单,这就是为什么它也适合那些对暴力一无所知的人。
preview
开发回放系统 — 市场模拟(第 04 部分):调整设置(II)

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

我们继续创建系统和控制。 没有掌控服务的能力,就很难向前推进和改进系统。
preview
MQL5 简介(第 5 部分):MQL5 数组函数入门指南

MQL5 简介(第 5 部分):MQL5 数组函数入门指南

在第 5 部分中探索 MQL5 数组的世界,该部分专为绝对初学者设计。本文简化了复杂的编码概念,重点在于清晰性和包容性。加入我们的学习者社区,在这里解决问题,分享知识!
preview
为 MetaTrader 5 开发一款 MQTT 客户端:TDD 方式

为 MetaTrader 5 开发一款 MQTT 客户端:TDD 方式

本文汇报为 MQL5 开发原生 MQTT 客户端的首次尝试。MQTT 是一种客户端-服务器之间发布/订阅消息的传输协议。它轻巧、开放、简单,并且易于实施。这些特性令其非常适合在多种情况下使用。