MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
基于预测的统计套利

基于预测的统计套利

我们将探讨统计套利,使用Python搜索具有相关性和协整性的交易品种,为皮尔逊(Pearson)系数制作一个指标,并编制一个用于交易统计套利的EA,该系统将使用Python和ONNX模型进行预测。
preview
软件开发和 MQL5 中的设计范式(第一部分):创建范式

软件开发和 MQL5 中的设计范式(第一部分):创建范式

有一些方法可以用来解决许多重复性的问题。一旦明白如何运用这些方法,就可助您有效地创建软件,并贯彻 DRY(不要重复自己)的概念。在这种境况下,设计范式的主题就非常好用,因为它们为恰当描述过,且重复的问题提供了解决方案。
preview
数据科学与机器学习(第23部分):为什么LightGBM和XGBoost能超越许多AI模型?

数据科学与机器学习(第23部分):为什么LightGBM和XGBoost能超越许多AI模型?

这些先进的梯度提升决策树技术提供了卓越的性能和灵活性,使其成为金融建模和算法交易的理想选择。了解如何利用这些工具来优化您的交易策略、提高预测准确性,并在金融市场中获得竞争优势。
preview
矩阵分解基础知识

矩阵分解基础知识

由于这里的目标是教学,我们将尽可能简单地进行。也就是说,我们将只实现所需的功能:矩阵乘法。今天您将看到,这足以模拟矩阵标量乘法。许多人在使用矩阵分解实现代码时遇到的最大困难是:与标量分解不同,在标量分解中,几乎所有情况下因子的顺序都不会改变结果,但使用矩阵时情况并非如此。
preview
开发回放系统 — 市场模拟(第 20 部分):外汇(I)

开发回放系统 — 市场模拟(第 20 部分):外汇(I)

本文的最初目标不是涵盖外汇交易的所有可能性,而更是出于适配系统,如此您就至少可以执行一次市场回放。我们把模拟留待其它时刻。不过,如果我们没有跳价而仅有柱线的话,稍加努力,我们就可以模拟外汇市场中可能发生的交易。直到我们研究如何适配模拟器之前,情况一直如此。不经修改就尝试在系统内处理外汇数据会导致一系列错误。
preview
在MQL5中开发马丁格尔(Martingale)区域恢复策略

在MQL5中开发马丁格尔(Martingale)区域恢复策略

本文详细探讨了创建基于区域恢复交易算法的EA需要实施的步骤。这有助于自动化该系统,从而为算法交易者节省时间。
preview
软件开发和 MQL5 中的设计范式(第 3 部分):行为范式 1

软件开发和 MQL5 中的设计范式(第 3 部分):行为范式 1

来自设计范式文献的一篇新文章,我们将看到类型其一,即行为范式,从而理解我们如何有效地在所创建对象之间构建通信方法。通过完成这些行为范式,我们就能够理解创建和构建可重用、可扩展、经过测试的软件。
preview
DoEasy. 控件 (第 23 部分): 改进 TabControl 和 SplitContainer WinForms 对象

DoEasy. 控件 (第 23 部分): 改进 TabControl 和 SplitContainer WinForms 对象

在本文中,我将添加与 WinForms 对象工作区域边界相关的新鼠标事件,并修复 TabControl 和 SplitContainer 控件功能中的一些瑕疵。
preview
威廉·江恩(William Gann)方法(第二部分):创建江恩宫格指标

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

我们将基于“江恩九宫格”创建一个指标,该指标通过时间和价格方格构建而成。我们将提供指标代码,并在平台上针对不同的时间区间,对该指标进行测试。
preview
将您自己的 LLM 集成到 EA 中(第 4 部分):使用 GPU 训练自己的 LLM

将您自己的 LLM 集成到 EA 中(第 4 部分):使用 GPU 训练自己的 LLM

随着当今人工智能的快速发展,语言模型(LLMs)是人工智能的重要组成部分,因此我们应该考虑如何将强大的 LLMs 整合到我们的算法交易中。对于大多数人来说,很难根据他们的需求微调这些强大的模型,在本地部署它们,然后将它们应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
preview
MQL5 中的范畴论 (第 13 部分):数据库制程的日历事件

MQL5 中的范畴论 (第 13 部分):数据库制程的日历事件

本文在 MQL5 中遵循范畴论实现秩序,研究如何在 MQL5 中结合数据库制程进行分类。我们介绍了当辨别交易相关的文本(字符串)信息时,如何把数据库制程概念与范畴论相结合。日历事件是焦点。
preview
开发多币种 EA 交易系统(第 14 部分):风险管理器的适应性交易量变化

开发多币种 EA 交易系统(第 14 部分):风险管理器的适应性交易量变化

之前开发的风险管理器仅包含基本功能,让我们试着探讨其可能的开发方式,使我们能够在不干扰交易策略逻辑的情况下改善交易结果。
preview
开发回放系统 — 市场模拟(第 17 部分):跳价和更多跳价(I)

开发回放系统 — 市场模拟(第 17 部分):跳价和更多跳价(I)

于此,我们将见识到如何实现一些非常有趣的东西,但同时也会因某些可能十分令人困惑的关键点而极其困难。可能发生的最糟糕的事情是,一些自诩专业人士的交易者却对这些概念在资本市场中的重要性一无所知。好吧,尽管我们在这里专注于编程,但理解市场交易中涉及的一些问题,对于我们将要实现的内容至关重要。
preview
如何将聪明资金概念(SMC)与 RSI 指标结合到 EA 中

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

聪明资金概念(结构突破)与 RSI 指标相结合,可根据市场结构做出明智的自动交易决策。
preview
数据科学和机器学习(第 26 部分):时间序列预测的终极之战 — LSTM 对比 GRU 神经网络

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

在上一篇文章中,我们讨论了一个简单的 RNN,尽管它对理解数据中的长期依赖关系无能为力,却仍能制定可盈利策略。在本文中,我们将讨论长-短期记忆(LSTM)、门控递归单元(GRU)。引入这两个是为了克服简单 RNN 的缺点,并令其更聪慧。
preview
使用MQL5开发基于震荡区间突破策略的EA

使用MQL5开发基于震荡区间突破策略的EA

本文概述了如何创建一个基于价格突破震荡区间进行交易的EA。通过识别震荡区间并设定突破水平,交易者可以基于这一策略自动化其交易决策。该EA旨在为交易者提供明确的入场和出场点,同时避免虚假突破。
preview
开发回放系统 — 市场模拟(第 19 部分):必要的调整

开发回放系统 — 市场模拟(第 19 部分):必要的调整

在此,我们要做好准备,如此当我们需要往代码里添加新函数时,就能顺滑轻松地发生。当前代码还不能涵盖或处理那些显著推进过程所必需的事情。我们需要将所有东西都结构化,以便能够以最小的工作量实现某些事情。如果我们正确地做好所有事情,我们就能得到一个真正通用的系统,可以轻松地适应任何需要处理的状况。
preview
交易中的混沌理论(第二部分):深入探索

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

我们继续深入探讨金融市场的混沌理论,这一次我将考虑其对货币和其他资产分析的适用性。
preview
开发回放系统 — 市场模拟(第 27 部分):智能交易系统项目 — C_Mouse 类

开发回放系统 — 市场模拟(第 27 部分):智能交易系统项目 — C_Mouse 类

在本文中,我们将实现 C_Mouse 类。它提供了最高级别的编程能力。不过,说到高级或低级编程语言,并不是在代码中包含污言秽语或行话。它有其它含义。当我们谈论高级或低级编程时,我们意指对于其他程序员来说理解代码是多么容易或困难。
preview
MQL5中的范畴论(第18部分):自然性四边形

MQL5中的范畴论(第18部分):自然性四边形

本文通过介绍自然变换这一主题中的一个关键支柱,继续我们的范畴理论系列。我们研究看似复杂的定义,然后深入研究本系列“面包和黄油”的示例和应用程序;波动性预测。
preview
数据科学和机器学习(第 17 部分):摇钱树?外汇交易中随机森林的艺术与科学

数据科学和机器学习(第 17 部分):摇钱树?外汇交易中随机森林的艺术与科学

探索算法炼金术的秘密,我们将引导您融会贯通如何在解码金融领域时将艺术性和精确性相结合。揭示随机森林如何将数据转化为预测能力,为驾驭股票市场的复杂场景提供独特的视角。加入我们的旅程,进入金融魔法的心脏地带,此处我们会揭开随机森林在塑造市场命运、及解锁赚钱机会之门方面之角色的神秘面纱
preview
开发多币种 EA 交易(第 7 部分):根据前向时间段选择组

开发多币种 EA 交易(第 7 部分):根据前向时间段选择组

在此之前,我们曾对一组交易策略实例的选择进行过评估,目的是改进它们的联合运行结果,但这只是在对单个实例进行优化的同一时间段进行的。让我们拭目以待在前向时间段会发生什么。
preview
DoEasy. 控件(第三十部分):动画态滚动条控件

DoEasy. 控件(第三十部分):动画态滚动条控件

在本文中,我将继续开发滚动条(ScrollBar)控件,并开始实现鼠标交互功能。 此外,我将扩展鼠标状态标志和事件的列表。
preview
研究PrintFormat()并应用现成的示例

研究PrintFormat()并应用现成的示例

这篇文章对初学者和有经验的开发人员都很有用。我们将研究PrintFormat()函数,分析字符串格式的示例,并编写用于在终端日志中显示各种信息的模板。
preview
开发多币种 EA 交易(第 4 部分):虚拟挂单和保存状态

开发多币种 EA 交易(第 4 部分):虚拟挂单和保存状态

在开始开发多币种 EA 后,我们已经取得了一些成果,并成功地进行了多次代码改进迭代。但是,我们的 EA 无法处理挂单,也无法在终端重启后恢复运行。让我们添加这些功能。
preview
如何开发各种类型的追踪止损并将其加入到EA中

如何开发各种类型的追踪止损并将其加入到EA中

在本文中,我们将探讨用于便捷创建各种追踪止损的类,并学习如何将追踪止损加入到EA中。
preview
种群优化算法:社群进化(ESG)

种群优化算法:社群进化(ESG)

我们将研究构造多种群算法的原理。作为该算法类别的一个示例,我们将查看新的自定义算法 — 社群进化(ESG)。我们将分析该算法的基本概念、种群互动机制和优势,并检查其在优化问题中的表现。
DoEasy 函数库中的图形(第九十四部分):移动和删除复合图形对象
DoEasy 函数库中的图形(第九十四部分):移动和删除复合图形对象

DoEasy 函数库中的图形(第九十四部分):移动和删除复合图形对象

在本文中,我将启动开发各种复合图形对象事件。 我们还将部分研究移动和删除复合图形对象。 实际上,在此,我还会把前一篇文章中实现的东西进行微调。
preview
神经网络变得轻松(第五十一部分):行为-指引的扮演者-评论者(BAC)

神经网络变得轻松(第五十一部分):行为-指引的扮演者-评论者(BAC)

最后两篇文章研究了软性扮演者-评论者算法,该算法将熵正则化整合到奖励函数当中。这种方式在环境探索和模型开发之间取得平衡,但它仅适用于随机模型。本文提出了一种替代方式,能适用于随机模型和确定性模型两者。
preview
神经网络变得简单(第 56 部分):利用核范数推动研究

神经网络变得简单(第 56 部分):利用核范数推动研究

强化学习中的环境研究是一个紧迫的问题。我们之前已视察过一些方式。在本文中,我们将讲述另一种基于最大化核范数的方法。它允许智能体识别拥有高度新颖性和多样性的环境状态。
preview
人工电场算法(AEFA)

人工电场算法(AEFA)

本文介绍了一种受库仑静电力定律启发的人工电场算法(AEFA)。该算法通过模拟电学现象,利用带电粒子及其相互作用来解决复杂的优化问题。与其他基于自然法则的算法相比,AEFA具有独特性质。
preview
关于因果网络分析(Causality Network Analysis,CNA)和向量自回归(Vector Autoregression,VAR)模型在市场事件预测中的应用实例

关于因果网络分析(Causality Network Analysis,CNA)和向量自回归(Vector Autoregression,VAR)模型在市场事件预测中的应用实例

本文提供了一个使用因果网络分析(Causality Network Analysis,CNA)和向量自回归(Vector Autoregression,VAR)模型在MQL5中实现复杂交易系统的全面指南。文章涵盖了这些方法的理论背景,详细解释了交易算法中的关键函数,并提供了实现的示例代码。
preview
在 MQL5 中实现广义赫斯特指数和方差比检验

在 MQL5 中实现广义赫斯特指数和方差比检验

在本文中,我们将研究如何利用广义赫斯特指数(Generalized Hurst Exponent)和方差比检验(Variance Ratio Test)来分析 MQL5 中价格序列的行为。
preview
使用PatchTST机器学习算法预测未来24小时的价格走势

使用PatchTST机器学习算法预测未来24小时的价格走势

在本文中,我们将应用2023年发布的一种相对复杂的神经网络算法——PatchTST,来预测未来24小时的价格走势。我们将使用官方仓库的代码,并对其进行一些微小的修改,训练一个针对EURUSD(欧元兑美元)的模型,然后在Python和MQL5环境中应用该模型进行未来预测。
preview
神经网络变得简单(第 96 部分):多尺度特征提取(MSFformer)

神经网络变得简单(第 96 部分):多尺度特征提取(MSFformer)

高效提取与集成长期依赖关系和短期特征,仍然是时间序列分析中的一项重要任务。它们的正确理解及整合,对于创建准确可靠的预测模型是必要的。
preview
使用Python和MQL5进行交易策略的自动参数优化

使用Python和MQL5进行交易策略的自动参数优化

有多种用于交易策略和参数自我优化的算法。这些算法基于历史和当前市场数据自动改进交易策略。在本文中,我们将通过Python和MQL5的示例来探讨其中一种算法。
preview
DoEasy. 控件 (第 20 部分): SplitContainer WinForms 对象

DoEasy. 控件 (第 20 部分): SplitContainer WinForms 对象

在本文中,我将启动开发模拟 MS Visual Studio工具包的 SplitContainer 控件。 此控件由两个垂直或水平可移动隔板分开的面板组成。
preview
获取市场优势的秘诀(第二部分):预测技术指标

获取市场优势的秘诀(第二部分):预测技术指标

你知道吗?与预测交易标的的基础价格相比,我们预测某些技术指标时能获得更高的准确性。加入我们,一起探索如何利用这一想法来制定更好的交易策略。
preview
开发回放系统(第 56 部分):调整模块

开发回放系统(第 56 部分):调整模块

虽然模块之间已经可以正常交互,但在回放服务中尝试使用鼠标指标时会出现错误。在进入下一步之前,我们需要解决这个问题。此外,我们还将修复鼠标指标代码中的一个问题。所以这个版本经过适当的打磨,最终会稳定下来。
preview
神经网络变得简单(第 76 部分):配合多未来变换器探索不同的交互形态

神经网络变得简单(第 76 部分):配合多未来变换器探索不同的交互形态

本文继续探讨预测即将到来的价格走势的主题。我邀请您领略多未来变换器架构。其主要思路是把未来的多模态分布分解为若干个单模态分布,这样就可以有效地模拟场景中个体之间互动的各种模态。