MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
群体优化算法:粒子群(PSO)

群体优化算法:粒子群(PSO)

在本文中,我将研究流行的粒子群优化(PSO)算法。 之前,我们曾讨论过优化算法的重要特征,如收敛性、收敛率、稳定性、可伸缩性,并开发了一个测试台,并研究了最简单的 RNG 算法。
preview
神经网络变得轻松(第二十三部分):构建迁移学习工具

神经网络变得轻松(第二十三部分):构建迁移学习工具

在本系列文章中,我们已经不止一次提到了迁移学习。 然而,都只是提及而已。 在本文中,我建议填补这一空白,并仔细研究迁移学习。
preview
混沌博弈优化(CGO)

混沌博弈优化(CGO)

本文提出了一种新型元启发式算法——混沌博弈优化算法(CGO),该算法在处理高维问题时展现出独特的保持高效率的能力。与大多数优化算法不同,CGO在问题规模扩大时不仅不会降低性能,有时甚至还会提升性能,这便是其关键特性。
preview
群体优化算法:智能水滴(IWD)算法

群体优化算法:智能水滴(IWD)算法

文章探讨了一种源自无生命自然的有趣算法 - 模拟河床形成过程的智能水滴(IWD,Intelligent Water Drops)。这种算法的理念大大改进了之前的评级领先者 - SDS。与往常一样,新的领先者(修改后的 SDSm)可在附件中找到。
DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件
DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件

DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件

在本文中,我将创建一些跟踪图表对象事件的功能 — 添加/删除品种图表和图表子窗口,以及添加/删除/更改图表窗口中的指标。
preview
如何将“聪明钱”概念(OB)与斐波那契指标相结合,实现最优进场策略

如何将“聪明钱”概念(OB)与斐波那契指标相结合,实现最优进场策略

SMC(订单块)是机构交易者发起大规模买入或卖出的关键区域。当价格出现显著波动后,借助斐波那契数字可识别从近期波段高点至波段低点的潜在回撤,从而锁定最佳进场位。
preview
数据科学和机器学习(第 14 部分):运用 Kohonen 映射在市场中寻找出路

数据科学和机器学习(第 14 部分):运用 Kohonen 映射在市场中寻找出路

您是否正在寻找一种可以帮助您驾驭复杂且不断变化的市场的尖端交易方法? Kohonen 映射是一种创新的人工神经网络形式,可以帮助您发现市场数据中隐藏的形态和趋势。 在本文中,我们将探讨 Kohonen 映射的工作原理,以及如何运用它们来开发更智能、更有效的交易策略。 无论您是经验丰富的交易者,还是刚刚起步,您都不想错过这种令人兴奋的新交易方式。
preview
数据科学与机器学习(第 07 部分):多项式回归

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

与线性回归不同,多项式回归是一种很灵活的模型,旨在更好地执行线性回归模型无法处理的任务,我们来找出如何在 MQL5 中制作多项式模型,并据其做出积极东西。
preview
如何使用抛物线转向(Parabolic SAR)指标设置跟踪止损(Trailing Stop)

如何使用抛物线转向(Parabolic SAR)指标设置跟踪止损(Trailing Stop)

在创建交易策略时,我们需要测试多种多样的保护性止损。这时,一个随着价格变动而动态调整止损位的想法浮现在我的脑海中。抛物线转向(Parabolic SAR)指标无疑是最佳选择。很难想到有比这更简单且视觉上更清晰的指标了。
preview
DoEasy 函数库中的时间序列(第五十七部分):指标缓冲区数据对象

DoEasy 函数库中的时间序列(第五十七部分):指标缓冲区数据对象

在本文中,开发一个对象,其中包含一个指标的一个缓冲区的所有数据。 这些对象对于存储指标缓冲区的数据序列将是必需的。 在其的辅助下,才有可能对任何指标的缓冲区数据,以及其他类似数据进行排序和比较。
preview
使用凯利准则与蒙特卡洛模拟的投资组合风险模型

使用凯利准则与蒙特卡洛模拟的投资组合风险模型

几十年来,交易员们一直使用凯利准则公式来确定投资或赌注的最优资本配置比例,其目标是在最大化长期增长的同时,最小化破产风险。然而,对于个人交易者而言,盲目地依据单次回测的结果来遵循凯利准则往往是危险的,因为在实盘交易中,交易优势会随着时间的推移而减弱,并且过往业绩并不能保证未来的结果。在本文中,我将提出一种在 MetaTrader 5 平台中,为一个或多个智能交易系统进行风险分配的现实方法,该方法将融合来自 Python 的蒙特卡洛模拟结果。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 2 部分):指标信号:多时间帧抛物线 SAR 指标

如何利用 MQL5 创建简单的多币种智能交易系统(第 2 部分):指标信号:多时间帧抛物线 SAR 指标

本文中的多币种智能交易系统是智能交易系统或交易机器人,它仅在一个品种图表上就能交易(开单、平单、和管理订单,例如:尾随停损和止盈)超过 1 个交易品种对。这次我们只用 1 个指标,即抛物线 SAR 或 iSAR, 将其应用在 PERIOD_M15 到 PERIOD_D1 的多个时间帧。
preview
使用MQL5与Python构建自我优化的智能交易系统

使用MQL5与Python构建自我优化的智能交易系统

在本文中,我们将讨论如何构建能够根据当前市场条件自主选择和更改交易策略的EA。我们将学习马尔可夫链(Markov Chains)以及它们如何帮助我们作为算法交易者。
preview
如何将 MetaTrader 5 与 PostgreSQL 连接

如何将 MetaTrader 5 与 PostgreSQL 连接

本文讲述了将 MQL5 代码与 Postgres 数据库连接的四种方法,并提供了一个分步教程,指导如何使用 Windows 子系统 Linux (WSL) 为 REST API 设置一个开发环境。 所提供 API 的演示应用程序,配以插入数据并查询相应数据表的 MQL5 代码,以及消化此数据的演示智能系统。
preview
神经网络变得轻松(第四十部分):在大数据上运用 Go-Explore

神经网络变得轻松(第四十部分):在大数据上运用 Go-Explore

本文讨论 Go-Explore 算法覆盖长周期训练的运用,因为随着训练时间的增加,随机动作选择策略也许不会导致可盈利验算。
preview
种群优化算法:鱼群搜索(FSS)

种群优化算法:鱼群搜索(FSS)

鱼群搜索(FSS)是一种新的优化算法,其灵感来自鱼群中鱼的行为,其中大多数(高达 80%)游弋在有组织的亲属群落中。 经证明,鱼类的聚集在觅食效率和保护捕食者方面起着重要作用。
preview
开发回放系统 — 市场模拟(第 05 部分):加入预览

开发回放系统 — 市场模拟(第 05 部分):加入预览

我们已设法开发了一套以逼真和可访问的方式来实现市场回放的系统。 现在,我们继续我们的项目,并添加数据,从而提升回放行为。
preview
DoEasy. 控件(第 4 部分):面板控件,Padding(填充)和 Dock(驻靠)参数

DoEasy. 控件(第 4 部分):面板控件,Padding(填充)和 Dock(驻靠)参数

在本文中,我将实现处理 Padding(填充,元素所有侧边的内部缩进/边距)和 Dock(驻靠)参数(对象在其容器中的定位方式)。
preview
价格走势模型及其主要规定。(第 3 部分):计算股票证券博弈的最优参数

价格走势模型及其主要规定。(第 3 部分):计算股票证券博弈的最优参数

在作者基于概率论开发的工程方式框架内,找到了开立盈利仓位的条件,并计算了最优(利润最大化)止盈和止损值。
preview
交易事务. 请求和响应结构、描述和记录

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

本文探讨了处理交易请求结构,即创建请求、将其发送到服务器之前的初步验证、服务器对交易请求的响应以及交易交易的结构。我们将创建简单方便的函数,将交易订单发送到服务器,并根据所讨论的内容,创建EA来通知交易事务。
preview
经典策略重塑(第12部分):欧元兑美元(EURUSD)突破交易策略

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

今天,我们将挑战在MQL5中构建一套盈利的突破交易系统。我们选择欧元兑美元(EURUSD)货币对,尝试在H1(1小时)时间框架下捕捉价格的突破行情。初期挑战:系统难以区分假突破与真实趋势的开端,导致亏损较多。我们给系统叠加了多层过滤器,旨在把亏损压到最低,同时把盈利抬到最高。最终,我们成功地让系统实现盈利,并大幅降低假突破带来的风险。
preview
构建K线趋势约束模型(第九部分):多策略智能交易系统(EA)(三)

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

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

StringFormat(). 回顾和现成的例子

本文继续介绍PrintFormat()函数。我们将简要介绍使用StringFormat()格式化字符串及其在程序中的进一步使用。我们还将编写模板,在终端日志中显示交易品种数据。这篇文章对初学者和有经验的开发人员都很有用。
preview
神经网络实验(第 5 部分):常规化传输到神经网络的输入参数

神经网络实验(第 5 部分):常规化传输到神经网络的输入参数

神经网络是交易者工具包中的终极工具。 我们来检查一下这个假设是否成立。 在交易中运用神经网络,MetaTrader 5 是最接近自给自足的媒介。 为此提供了一个简单的解释。
preview
DoEasy 函数库中的时间序列(第五十五部分):指标集合类

DoEasy 函数库中的时间序列(第五十五部分):指标集合类

本文继续开发指标对象类及其集合。 为每个指标对象创建其描述和正确的集合类,从而实现无错存储,并从集合列表中获取指标对象。
preview
使用MQL5和Python集成经纪商API与智能交易系统

使用MQL5和Python集成经纪商API与智能交易系统

在本文中,我们将探讨如何将MQL5与Python相结合,以执行与经纪商相关的操作。想象一下,您有一个持续运行的智能交易系统(EA),它托管在虚拟专用服务器(VPS)上,并代表您执行交易。在某个阶段,EA 管理资金的能力变得至关重要。这包括为您的交易账户入金和发起出金等操作。在本文中,我们将阐明这些功能的优势和具体实现方法,从而确保将资金管理无缝地集成到您的交易策略中。敬请关注!
preview
MQL5自动化交易策略(第十一部分):开发多层级网格交易系统

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

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

模式搜索的暴力方法(第六部分):循环优化

在这篇文章中,我将展示改进的第一部分,这些改进不仅使我能够使MetaTrader 4和5交易的整个自动化链闭环,而且还可以做一些更有趣的事情。从现在起,这个解决方案使我能够完全自动化创建EA和优化,并最大限度地降低寻找有效交易配置的劳动力成本。
preview
时间序列挖掘的数据标签(第4部分):使用标签数据的可解释性分解

时间序列挖掘的数据标签(第4部分):使用标签数据的可解释性分解

本系列文章介绍了几种时间序列标记方法,这些方法可以创建符合大多数人工智能模型的数据,而根据需要进行有针对性的数据标记可以使训练后的人工智能模型更符合预期设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
威廉·江恩(William Gann)方法(第二部分):创建江恩宫格指标

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

我们将基于“江恩九宫格”创建一个指标,该指标通过时间和价格方格构建而成。我们将提供指标代码,并在平台上针对不同的时间区间,对该指标进行测试。
preview
逆公允价值缺口(IFVG)交易策略

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

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

用于预测波动性的计量经济学工具:GARCH模型

文章描述了条件异方差非线性模型(GARCH)的特性。在GARCH模型的基础上,构建了iGARCH指标来预测未来一步的波动性。该模型参数的估计使用了ALGLIB数值分析库。
preview
在您的 MQL 项目中使用 JSON 数据 API

在您的 MQL 项目中使用 JSON 数据 API

想象一下,您可以使用 MetaTrader 中没有的数据,您只能通过价格分析和技术分析从指标中获得数据。现在想象一下,您可以访问数据,这将使你的交易能力更高。如果您通过 API(应用程序编程接口)数据混合其他软件、宏观分析方法和超高级工具的输出,您就可以倍增 MetaTrader 软件的力量。在本文中,我们将教您如何使用 API,并介绍有用和有价值的 API 数据服务。
preview
MQL5中的结构及其数据打印方法

MQL5中的结构及其数据打印方法

在本文中,我们将研究MqlDateTime、MqlTick、MqlRates和MqlBookInfo结构,以及从它们打印数据的方法。为了打印结构的所有字段,有一个标准的ArrayPrint()函数,它以方便的表格格式显示数组中包含的数据以及处理结构的类型。
群体优化算法
群体优化算法

群体优化算法

这是一篇关于优化算法(OA)分类的介绍性文章。 本文尝试创建一个测试基台(一组函数),用于比较 OA,并可识别所有广为人知的算法中最通用的算法。
preview
从头开始开发智能交易系统(第 30 部分):CHART TRADE 当作指标?

从头开始开发智能交易系统(第 30 部分):CHART TRADE 当作指标?

今天我们将再次用到 Chart Trade,但这回它作为一个图表上的指标,或许也可能不在图表上出现。
preview
将您自己的 LLM 集成到 EA 中(第 4 部分):使用 GPU 训练自己的 LLM

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

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

种群优化算法:类电磁算法(EM - ElectroMagnetism)

本文讲述在各种优化问题中采用电磁算法(EM - ElectroMagnetism)的原理、方法和可能性。 EM 算法是一种高效的优化工具,能够处理大量数据和多维函数。
DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象
DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象

DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象

在本文中,我将开发单个的动画框,及其衍生类。 该类允许绘制造型,同时维护,并恢复它们得下层背景。
preview
在类中包装 ONNX 模型

在类中包装 ONNX 模型

面向对象编程可以创建更紧凑、易于阅读和修改的代码。 在此,我们将会看到三个 ONNX 模型的示例。