MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
种群优化算法:二进制遗传算法(BGA)。第 I 部分

种群优化算法:二进制遗传算法(BGA)。第 I 部分

在本文中,我们将探讨二进制遗传和其它种群算法中所用的各种方法。我们将见识到算法的主要组成部分,例如选择、交叠和突变,以及它们对优化的影响。此外,我们还将研究数据表示方法,及其对优化结果的影响。
preview
您应当知道的 MQL5 向导技术(第 28 部分):据入门学习率重新审视 GAN

您应当知道的 MQL5 向导技术(第 28 部分):据入门学习率重新审视 GAN

学习率是许多机器学习算法在训练过程期间,朝向训练目标迈进的步长。我们检验了其众多调度和格式对于生成式对抗网络性能的影响,该神经网络类型我们在早前文章中已检验过。
preview
重塑经典策略(第六部分):多时间框架分析

重塑经典策略(第六部分):多时间框架分析

在这一系列文章中,我们重新审视经典策略,看看是否可以利用人工智能(AI)对其进行改进。在本文中,我们将研究流行的多时间框架分析策略,以判断该策略是否可以通过人工智能得到增强。
preview
从零开始在MQL5中实现移动平均线:简单明了

从零开始在MQL5中实现移动平均线:简单明了

我们将通过简单的示例,探究移动平均线的计算原理,同时了解优化指标计算(包括移动平均线计算)的方法。
preview
价格行为分析工具包开发(第十八部分):四分位理论(3)——四分位看板

价格行为分析工具包开发(第十八部分):四分位理论(3)——四分位看板

本文中,我们在原有四分位脚本的基础上新增 "四分位看板"(Quarters Board) 工具,该工具让您无需返回代码即可直接在图表上切换四分位水平。您可以轻松启用或禁用特定水平,EA还会提供趋势方向注释,帮助您更好地理解市场走势。
preview
MQL5 中的范畴论 (第 17 部分):函子与幺半群

MQL5 中的范畴论 (第 17 部分):函子与幺半群

本文是我们系列文章的最后一篇,将函子作为一个主题来讨论,且把幺半群作为一个范畴来重新审视。幺半群已在我们的系列中多次讲述,于此配合多层感知器帮助确定持仓规模。
preview
跨邻域搜索(ANS)

跨邻域搜索(ANS)

本文揭示了跨邻域搜索(ANS)算法的潜力,作为重要的一步,旨在开发灵活且智能的优化方法,使其能够在搜索空间中考虑问题的具体特性和环境的动态变化。
preview
构建K线图趋势约束模型(第六部分):一体化集成

构建K线图趋势约束模型(第六部分):一体化集成

我们的一个主要挑战是:如何管理运行相同程序但具有不同功能的同一货币对的多个图表窗口。让我们讨论一下如何将多个窗口集成整合到一个主程序中。此外,我们还将分享如何配置程序以将信息打印到日志中,以及在图表界面上对成功发出的信号进行注释的见解。随着本系列文章的推进,您将在本文中找到更多的相关信息。
preview
开发多币种 EA 交易(第 24 部分):添加新策略(一)

开发多币种 EA 交易(第 24 部分):添加新策略(一)

在本文中,我们将研究如何将新策略连接到我们创建的自动优化系统。让我们看看我们需要创建哪些类型的 EA,以及是否可以在不更改 EA 库文件的情况下完成,或者尽量减少必要的更改。
preview
种群优化算法:二进制遗传算法(BGA)。第 II 部分

种群优化算法:二进制遗传算法(BGA)。第 II 部分

在本文中,我们将继续研究二进制遗传算法(BGA),它模拟自然界生物遗传物质中发生的自然过程。
preview
禁忌搜索(TS)

禁忌搜索(TS)

本文讨论了禁忌搜索(Tabu Search)算法,这是一种最早且最为人所知的元启发式方法之一。我们将详细探讨该算法的运行过程,从选择初始解并探索邻近选项开始,重点介绍使用禁忌表。文章涵盖了该算法的关键方面及其特性。
preview
神经网络变得简单(第 95 部分):降低变换器模型中的内存消耗

神经网络变得简单(第 95 部分):降低变换器模型中的内存消耗

基于变换器架构的模型展现出高效率,但由于在训练阶段、及运行期间都资源成本高昂,故它们的使用变得复杂。在本文中,我提议领略那些能够降低此类模型内存占用的算法。
preview
为 MetaTrader 5 开发 MQTT 客户端:TDD 方法 - 最终篇

为 MetaTrader 5 开发 MQTT 客户端:TDD 方法 - 最终篇

本文是介绍我们针对 MQTT 5.0 协议的本机 MQL5 客户端的开发步骤系列文章的最后一部分。尽管该库尚未投入实际使用,但在此部分中,我们将使用我们的客户端来更新来自另一个经纪商的报价(或利率)的自定义交易品种。请参阅本文底部以获取有关该库的当前状态的更多信息、它与 MQTT 5.0 协议完全兼容所缺少的内容、可能的路线图以及如何关注和促进其发展。
preview
智能系统健壮性测试

智能系统健壮性测试

在策略开发中,有许多错综复杂的细节需要考虑,对于初学交易者其中许多都未予重视。如是结果,众多交易者,包括我自己,都不得不历经苦难来学习这些教训。本文基于我观察到的大多数初学交易者在 MQL5 上开发策略时常见的陷阱。它将提供一系列提示、技巧、和示例,帮助辨别不合格的 EA,并以一种易于实现的方式来测试我们自己 EA 的稳健性。目标是教导读者,帮助他们未来购买 EA 时避免遭遇骗局,以及预防他们自己开发策略时的错误。
preview
因果推断中的时间序列聚类

因果推断中的时间序列聚类

在机器学习中,聚类算法是重要的无监督学习算法,它们可以将原始数据划分为具有相似观测值的组。利用这些组,可以分析特定聚类的市场情况,使用新数据寻找最稳定的聚类,并进行因果推断。本文提出了一种在Python中进行时间序列聚类的原创方法。
preview
精通日志记录(第一部分):MQL5中的基础概念与入门步骤

精通日志记录(第一部分):MQL5中的基础概念与入门步骤

欢迎开启另一段探索之旅!本文是一个特别系列的开篇之作,我们将逐步创建一个专为MQL5语言开发者量身定制的日志操作库。
preview
分析交易所价格的二进制代码(第一部分):技术分析的新视角

分析交易所价格的二进制代码(第一部分):技术分析的新视角

本文提出了一种基于将价格波动转换为二进制代码的技术分析创新方法。作者展示了市场行为的各个方面——从简单的价格波动到复杂形态——如何被编码为一系列的0和1。
preview
开发回放系统(第31部分):EA交易项目——C_Mouse类(五)

开发回放系统(第31部分):EA交易项目——C_Mouse类(五)

我们需要一个计时器,它可以显示距离回放/模拟运行结束还有多少时间。乍一看,这可能是一个简单快捷的解决方案。许多人只是尝试适应并使用交易服务器使用的相同系统。但有一件事是很多人在考虑这个解决方案时没有考虑的:对于回放,甚至更多的是模拟,时钟的工作方式不同。所有这些都使创建这样一个系统变得复杂。
preview
开发多币种 EA 交易 (第 5 部分):可变仓位大小

开发多币种 EA 交易 (第 5 部分):可变仓位大小

在前面的部分中,我们正在开发的智能交易系统 (EA) 只能使用固定的仓位大小进行交易。这对于测试来说是可以接受的,但在真实账户交易时并不建议这样做。让我们能够使用可变的仓位大小进行交易。
preview
动物迁徙优化(AMO)算法

动物迁徙优化(AMO)算法

本文介绍了AMO算法,该算法通过模拟动物的季节性迁徙来寻找适合生存和繁殖的最优条件。AMO的主要特点包括使用拓扑邻域和概率更新机制,使得其易于实现,并且能够灵活应用于各种优化任务。
preview
MQL5 简介(第 12 部分):构建自定义指标的初学者指南

MQL5 简介(第 12 部分):构建自定义指标的初学者指南

了解如何在 MQL5 中构建自定义指标。采用基于项目的方法。本初学者指南涵盖指标缓冲区、属性和趋势可视化,让您一步一步地学习。
preview
神经网络变得轻松(第五十五部分):对比内在控制(CIC)

神经网络变得轻松(第五十五部分):对比内在控制(CIC)

对比训练是一种无监督训练方法表象。它的目标是训练一个模型,突显数据集中的相似性和差异性。在本文中,我们将谈论使用对比训练方式来探索不同的扮演者技能。
preview
MQL5自动化交易策略(第十九部分):包络线趋势反弹剥头皮交易——交易执行与风险管理(下篇)

MQL5自动化交易策略(第十九部分):包络线趋势反弹剥头皮交易——交易执行与风险管理(下篇)

我们将为MQL5中的包络线趋势反弹剥头皮策略实现交易执行模块与风险管理功能。我们实现了订单触发逻辑,并构建了包含止损设置与头寸规模计算在内的风险控制体系。最终在第十八部分的基础上完成策略回测与参数优化。
preview
基于Python和MQL5的特征工程(第二部分):价格角度

基于Python和MQL5的特征工程(第二部分):价格角度

在MQL5论坛上,有许多帖子询问如何计算价格变化的斜率。本文将展示一种计算任意交易市场中价格变化所形成角度的可行方法。此外,我们还将探讨为这项新特征工程投入额外精力和时间是否值得。我们将研究价格斜率是否能在预测M1时间框架下的USDZAR货币对时,提高我们人工智能(AI)模型的准确性。
preview
利用Python进行季节性过滤并为EA的ONNX深度学习模型选择时间周期

利用Python进行季节性过滤并为EA的ONNX深度学习模型选择时间周期

在利用Python构建深度学习模型时,我们能否从季节性因素中获益?为ONNX模型过滤数据是否有助于获得更好的结果?我们应该使用哪个时间周期?本文将全面探讨这些问题。
preview
开发多币种 EA 交易(第 20 部分):整理自动项目优化阶段的输送机(一)

开发多币种 EA 交易(第 20 部分):整理自动项目优化阶段的输送机(一)

我们已经创建了不少有助于安排自动优化的组件。在创建过程中,我们遵循了传统的循环结构:从创建最小的工作代码到重构和获得改进的代码。是时候开始清理我们的数据库了,这也是我们正在创建的系统中的一个关键组件。
preview
非平稳过程和伪回归

非平稳过程和伪回归

本文基于蒙特卡洛模拟,展示了回归分析非平稳过程时产生的伪回归现象。
preview
神经网络变得简单(第 94 部分):优化输入序列

神经网络变得简单(第 94 部分):优化输入序列

在处理时间序列时,我们始终按其历史序列使用源数据。但这是最好的选项吗?有一种观点认为,改变输入数据顺序将提高训练模型的效率。在本文中,我邀请您领略其中一种优化输入序列的方法。
preview
为 MetaTrader 5 开发MQTT客户端:TDD方法——第3部分

为 MetaTrader 5 开发MQTT客户端:TDD方法——第3部分

本文是一系列文章的第三部分,介绍了我们为MQTT协议开发本机MQL5客户端的步骤。在这一部分中,我们详细描述了如何使用测试驱动开发来实现CONNECT/CONNACK数据包交换的操作行为部分。在这一步骤结束时,我们的客户端必须能够在处理连接尝试可能产生的任何服务器结果时表现得正常。
preview
MQL5 中的范畴论 (第 16 部分):多层感知器函子

MQL5 中的范畴论 (第 16 部分):多层感知器函子

本文是我们系列文章的第 16 篇,继续考察函子以及如何使用人工神经网络实现它们。我们偏离了迄今为止在该系列中所采用的方式,这涉及预测波动率,并尝试实现自定义信号类来设置入仓和出仓信号。
preview
MQL5交易策略自动化(第二十部分):基于CCI和AO指标的多品种策略

MQL5交易策略自动化(第二十部分):基于CCI和AO指标的多品种策略

在本文中,我们将构建一个基于商品通道指数(CCI)和动量震荡指标(AO)的多品种交易策略,用于识别趋势反转。内容涵盖策略设计、MQL5实现及回测过程。文末还将提供优化策略性能的建议。
preview
S&P 500交易策略在MQL5中的实现(适合初学者)

S&P 500交易策略在MQL5中的实现(适合初学者)

了解如何利用MQL5精准预测标普500指数,结合经典技术分析以增强稳定性,并将算法与经过时间验证的原则相结合,以获得稳健的市场洞察。
preview
使用 Python 分析天气对农业国家货币的影响

使用 Python 分析天气对农业国家货币的影响

天气与外汇之间有什么关系?传统经济理论长期忽视天气对市场行为的影响。但一切都已改变。让我们尝试找出天气条件与农业货币在市场上的走势之间的联系。
preview
交易中的神经网络:运用形态变换器进行市场分析

交易中的神经网络:运用形态变换器进行市场分析

当我们用模型分析市场形势时,我们主要关注蜡烛条。然而,人们早就知道烛条形态能有助于预测未来的价格走势。在本文中,我们将领略一种能将这两种方法集成的方式。
preview
从基础到中级:BREAK 和 CONTINUE 语句

从基础到中级:BREAK 和 CONTINUE 语句

在本文中,我们将学习如何在循环中使用 RETURN、BREAK 和 CONTINUE 语句。了解每个语句在循环执行流程中的作用对于处理更复杂的应用程序非常重要。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
使用 MetaTrader 5 在 Python 中查找自定义货币对形态

使用 MetaTrader 5 在 Python 中查找自定义货币对形态

外汇市场是否存在重复的形态和规律?我决定使用 Python 和 MetaTrader 5 创建自己的形态分析系统。一种数学和编程的共生关系,用于征服外汇。
preview
开发回放系统 — 市场模拟(第 28 部分):智能交易系统项目 — C_Mouse 类 (II)

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

当人们开始创建第一个拥有计算能力的系统时,一切都需要工程师的参与,他们必须非常熟知该项目。我们谈论的是计算机技术的曙光,那个时代甚至没有用于编程的终端。随着它的发展,越来越多的人对能够创造一些东西感兴趣,涌现出新的思路和编程方式,取代了旧式风格的改变连接器位置。这就是第一个终端出现的时刻。
preview
开发多币种 EA 交易(第 21 部分):准备重要实验并优化代码

开发多币种 EA 交易(第 21 部分):准备重要实验并优化代码

为了取得进一步的进展,最好看看我们是否可以通过定期重新运行自动优化并生成新的 EA 来改进结果。关于使用参数优化的许多争论中的绊脚石是,在将盈利能力和回撤保持在指定水平的同时,所获得的参数在未来一段时间内可用于交易的时间有多长。有可能做到这一点吗?
preview
神经网络变得简单(第 69 部分):基于密度的行为政策支持约束(SPOT)

神经网络变得简单(第 69 部分):基于密度的行为政策支持约束(SPOT)

在离线学习中,我们使用固定的数据集,这限制了环境多样性的覆盖范围。在学习过程中,我们的 Agent 能生成超出该数据集之外的动作。如果没有来自环境的反馈,我们如何判定针对该动作的估测是正确的?在训练数据集中维护 Agent 的政策成为确保训练可靠性的一个重要方面。这就是我们将在本文中讨论的内容。
preview
百年数学函数如何革新您的交易策略?

百年数学函数如何革新您的交易策略?

本文聚焦R德马赫(Rademacher)函数与沃尔什(Walsh)函数。探讨如何将这两类诞生于20世纪初的数学工具应用于金融时间序列分析,并揭示其在交易策略中的创新应用场景。