MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
数据处理的分组方法:在MQL5中实现组合算法

数据处理的分组方法:在MQL5中实现组合算法

在本文中,我们将继续探索数据处理家族分组算法,在MQL5中实现组合算法(Combinatorial Algorithm)及其优化版本——组合选择算法(Combinatorial Selective Algorithm)。
preview
Connexus客户端(第七部分):添加客户端层

Connexus客户端(第七部分):添加客户端层

在本文中,我们将继续开发connexus库。在本章节中,我们将构建CHttpClient类,该类负责发送请求并接收指令。我们还将介绍模拟对象(mocks)的概念,让该库与WebRequest函数解耦,从而为用户提供更强大的灵活性。
preview
您应当知道的 MQL5 向导技术(第 18 部分):配合本征向量进行神经架构搜索

您应当知道的 MQL5 向导技术(第 18 部分):配合本征向量进行神经架构搜索

神经架构搜素,是一种判定理想神经网络设置的自动化方式,在面对许多选项和大型测试数据集时可能是一个加分项。我们试验了当本征向量搭配时,如何令这个过程更加高效。
preview
使用MQL5和Python构建自优化的EA(第四部分):模型堆叠

使用MQL5和Python构建自优化的EA(第四部分):模型堆叠

今天,我们将展示如何构建能够从自身错误中学习的AI驱动的交易应用程序。我们将展示一种称为堆叠(stacking)的技术,我们使用2个模型来做出1个预测。第一个模型通常是较弱的学习器,而第二个模型通常是更强大的模型,它学习较弱学习器的残差。我们的目标是创建一个模型集成,以期获得更高的准确性。
preview
外汇投资组合优化:风险价值理论与马科维茨理论的融合

外汇投资组合优化:风险价值理论与马科维茨理论的融合

外汇市场中的投资组合交易是如何运作的?我们如何将用于优化投资组合权重的马科维茨投资组合理论与用于优化投资组合风险的VaR模型结合起来?我们基于投资组合理论创建一个EA,一方面,我们将获得低风险;另一方面,获得可接受的长期盈利能力。
preview
ALGLIB 库优化方法(第二部分)

ALGLIB 库优化方法(第二部分)

在本文中,我们将继续研究ALGLIB库中剩余的优化方法,并特别关注它们在复杂多维函数上的测试表现。这样我们不仅能够评估每种算法的效率,还能在不同条件下比较出它们的优势与不足。
preview
将 MQL5 与数据处理包集成(第 3 部分):增强的数据可视化

将 MQL5 与数据处理包集成(第 3 部分):增强的数据可视化

在本文中,我们将通过结合交互性、分层数据和动态元素等功能,超越基本图表,实现增强的数据可视化,使交易者能够更有效地探索趋势、形态和相关性。
preview
细菌趋化优化(BCO)

细菌趋化优化(BCO)

本文介绍了细菌趋化优化(Bacterial Chemotaxis Optimization,简称 BCO)算法的原始版本及其改进版本。我们将详细探讨所有不同之处,特别关注 BCOm 的新版本,该版本简化了细菌的移动机制,减少了对位置历史的依赖,并且使用了比原始版本计算量更小的数学方法。我们还将进行测试并总结结果。
preview
开发回放系统(第 62 部分):玩转服务(三)

开发回放系统(第 62 部分):玩转服务(三)

在本文中,我们将开始解决在使用真实数据时可能影响应用程序性能的分时报价过量问题。这种过量通常会干扰在相应窗口构建一分钟柱形所需的正确时间。
preview
神经网络变得简单(第 91 部分):频域预测(FreDF)

神经网络变得简单(第 91 部分):频域预测(FreDF)

我们继续探索时间序列在频域中的分析和预测。在本文中,我们将领略一种在频域中预测数据的新方法,它可被加到我们之前研究过的众多算法当中。
preview
神经网络变得简单(第 80 部分):图形变换器生成式对抗模型(GTGAN)

神经网络变得简单(第 80 部分):图形变换器生成式对抗模型(GTGAN)

在本文中,我将领略 GTGAN 算法,该算法于 2024 年 1 月推出,是为解决依据图形约束生成架构布局的复杂问题。
preview
创建 MQL5-Telegram 集成 EA 交易(第 4 部分):模块化代码函数以增强可重用性

创建 MQL5-Telegram 集成 EA 交易(第 4 部分):模块化代码函数以增强可重用性

在本文中,我们将现有的用于从 MQL5 向 Telegram 发送消息和截图的代码重构为可重复使用的模块化函数。这将简化流程,实现跨多个实例的更高效执行和更轻松的代码管理。
preview
市场模拟(第四部分):创建 C_Orders 类(一)

市场模拟(第四部分):创建 C_Orders 类(一)

在本文中,我们将开始创建 C_Orders 类,以便能够向交易服务器发送订单。我们将循序渐进地进行,目标是通过消息系统详细说明这一过程的具体实现方式。
preview
分析交易所价格的二进制代码(第二部分):转换为 BIP39 并编写 GPT 模型

分析交易所价格的二进制代码(第二部分):转换为 BIP39 并编写 GPT 模型

继续尝试破译价格走势……我们将通过将二进制价格代码转换为 BIP39 来获得一个“市场词典”,那么,对这个词典进行语言学分析又如何呢?在本文中,我们将深入探讨一种创新的交易所数据分析方法,并研究如何将现代自然语言处理技术应用于市场语言。
preview
重构经典策略(第十四部分):高胜率交易形态

重构经典策略(第十四部分):高胜率交易形态

高胜率交易形态在交易圈内广为人知,但遗憾的是,其定义始终缺乏明确标准。本文将通过实证研究与算法建模,为高胜率形态构建量化定义框架,并探索其识别与运用方法。借助梯度提升树模型,我们演示如何系统性优化任意交易策略的性能,同时以更精准、可解释的方式向计算机传达交易指令的核心逻辑。
preview
HTTP和Connexus(第2部分):理解HTTP架构和库设计

HTTP和Connexus(第2部分):理解HTTP架构和库设计

本文探讨了HTTP协议的基础知识,涵盖了主要方法(GET、POST、PUT、DELETE)、状态码以及URL的结构。此外,还介绍了Conexus库的构建起点,以及CQueryParam和CURL类,这些类用于在HTTP请求中操作URL和查询参数。
preview
开发回放系统(第 51 部分):事情变得复杂(三)

开发回放系统(第 51 部分):事情变得复杂(三)

在本文中,我们将研究 MQL5 编程领域最困难的问题之一:如何正确获取图表 ID,以及为什么对象有时不会绘制在图表上。此处提供的材料仅用于教学目的,在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
交易中的神经网络:对比形态变换器

交易中的神经网络:对比形态变换器

对比变换器在设计上基于单根烛条水平和整个形态来分析行情。这有助于提升行情趋势建模的品质。甚至,运用对比学习来统调烛条和形态的表示、促进自我调节,并提升预测的准确性。
preview
数据科学和机器学习(第 32 部分):保持您的 AI 模型更新,在线学习

数据科学和机器学习(第 32 部分):保持您的 AI 模型更新,在线学习

在瞬息万变的交易世界中,适应市场变化不仅是一种选择 — 而且是一种必要。每天都有新的形态和趋势出现,即使是最先进的机器学习模型,也难以面对不断变化的条件保持有效。在本文中,我们将探讨如何通过自动重训练,令您的模型保持相关性、及对新市场数据的响应能力。
preview
交易中的神经网络:具有相对编码的变换器

交易中的神经网络:具有相对编码的变换器

自我监督学习是分析大量无标签数据的有效方法。通过令模型适应金融市场的特定特征来提供效率,这有助于提升传统方法的有效性。本文讲述了一种替代的注意力机制,它参考输入之间的相对依赖关系。
preview
开发回放系统(第 61 部分):玩转服务(二)

开发回放系统(第 61 部分):玩转服务(二)

在本文中,我们将研究使回放/模拟系统更高效、更安全地运行的修改。我也不会对那些想要充分利用这些类的人置之不理。此外,我们将探讨 MQL5 中的一个特定问题,即在使用类时降低代码性能,并解释如何解决它。
preview
构建MQL5自优化智能交易系统(EA)(第四部分):动态头寸规模调整

构建MQL5自优化智能交易系统(EA)(第四部分):动态头寸规模调整

成功运用算法交易需要持续的跨学科学习。然而,无限的可能性可能会耗费数年努力,却无法取得切实成果。为解决这一问题,我们提出一个循序渐进增加复杂性的框架,让交易者能够迭代优化策略,而非将无限时间投入不确定的结果中。
preview
种群优化算法:改变概率分布的形状和位移,并基于智能头足类生物(SC)进行测试

种群优化算法:改变概率分布的形状和位移,并基于智能头足类生物(SC)进行测试

本文研究了改变概率分布形状对优化算法性能的影响。我们将进行的实验,会用到智能头足类生物(SC)测试算法,从而评估优化问题背景下各种概率分布的效能。
preview
交易中的神经网络:广义 3D 引用表达分段

交易中的神经网络:广义 3D 引用表达分段

在分析市场状况时,我们将其切分为不同的段落,标识关键趋势。然而,传统的分析方法往往只关注一个层面,从而限制了正确的感知。在本文中,我们将学习一种方法,可选择多个对象,以确保对形势进行更全面、及多层次的理解。
preview
您应当知道的 MQL5 向导技术(第 49 部分):搭配近端政策优化的强化学习

您应当知道的 MQL5 向导技术(第 49 部分):搭配近端政策优化的强化学习

近端政策优化是强化学习中的另一种算法,通常以网络形式以非常小的增量步幅更新政策,以便确保模型的稳定性。我们以向导汇编的智能系统来试验其作用,如同我们之前的文章一样。
preview
神经网络实践:直线函数

神经网络实践:直线函数

在本文中,我们将快速了解一些方法,以获得可以在数据库中表示数据的函数。我不会详细介绍如何使用统计和概率研究来解释结果。让我们把它留给那些真正想深入研究数学方面的人。探索这些问题对于理解研究神经网络所涉及的内容至关重要。在这里,我们将非常冷静地探讨这个问题。
preview
价格行为分析工具包开发(第十六部分):引入四分之一理论(2)—— 侵入探测器智能交易系统(EA)

价格行为分析工具包开发(第十六部分):引入四分之一理论(2)—— 侵入探测器智能交易系统(EA)

在前一篇文章中,我们介绍了一个名为“四分位绘图脚本”的简单脚本。现在,我们在此基础上更进一步,创建一个用于监控的智能交易系统(EA),以跟踪这些四分位水平,并对这些价位可能引发的市场反应进行监督。请随我们一同探索在本篇文章中开发区域检测工具的过程。
preview
从基础到中级:IF ELSE

从基础到中级:IF ELSE

在本文中,我们将讨论如何使用 IF 操作符及其伴随者 ELSE。这个语句是所有编程语言中最为重要且最有意义的语句。然而,尽管它易于使用,但如果我们没有使用它的经验以及与之相关的概念,它有时会令人困惑。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
您应当知道的 MQL5 向导技术(第 14 部分):以 STF 进行多意向时间序列预测

您应当知道的 MQL5 向导技术(第 14 部分):以 STF 进行多意向时间序列预测

“时空融合”就是在数据建模中同时使用“空间”和“时间”度量值,主要用在遥感,和一系列其它基于视觉的活动,以便更好地了解我们的周边环境。归功于一篇已发表的论文,我们通过验证它对交易者的潜力,采取一种新颖的方式来运用它。
preview
您应当知道的 MQL5 向导技术(第 20 部分):符号回归

您应当知道的 MQL5 向导技术(第 20 部分):符号回归

符号回归是一种回归形式,它从最小、甚或没有假设开始,而底层模型看起来应当映射所研究数据集。尽管它可以通过贝叶斯(Bayesian)方法、或神经网络来实现,但我们看看如何使用遗传算法实现,从而有助于在 MQL5 向导中使用自定义的智能信号类。
preview
将 MQL5 与数据处理包集成(第 4 部分):大数据处理

将 MQL5 与数据处理包集成(第 4 部分):大数据处理

本部分探讨了将 MQL5 与强大的数据处理工具集成的高级技术,重点是高效处理大数据,以增强交易分析和决策。
preview
开发回放系统(第 50 部分):事情变得复杂 (二)

开发回放系统(第 50 部分):事情变得复杂 (二)

我们将解决图表 ID 问题,同时开始为用户提供使用个人模板对所需资产进行分析和模拟的能力。此处提供的材料仅用于教学目的,不应被视为除学习和掌握所提供概念以外的任何目的的应用。
preview
神经网络变得简单(第 87 部分):时间序列补片化

神经网络变得简单(第 87 部分):时间序列补片化

预测在时间序列分析中扮演重要角色。在新文章中,我们将谈谈时间序列补片化的益处。
preview
神经网络实践:第一个神经元

神经网络实践:第一个神经元

在本文中,我们将开始构建一些简单而不起眼的东西:神经元。我们将使用非常少量的 MQL5 代码对其进行编程。神经元在我的测试中表现良好。让我们回到这一系列关于神经网络的文章中,了解一下我在说什么。
preview
您应当知道的 MQL5 向导技术(第 30 部分):聚焦机器学习中的批量归一化

您应当知道的 MQL5 向导技术(第 30 部分):聚焦机器学习中的批量归一化

批量归一化是把数据投喂给机器学习算法(如神经网络)之前对数据进行预处理。始终要留意算法所用的激活类型,完成该操作。因此,我们探索在向导组装的智能系统帮助下,能够采取的不同方式,并从中受益。
preview
交易中的神经网络:时间序列的分段线性表示

交易中的神经网络:时间序列的分段线性表示

这篇文章与我以前发表的有些不同。在本文中,我们将谈谈时间序列的另类表示。时间序列的分段线性表示是一种利用涵盖小间隔的线性函数逼近时间序列的方法。
preview
从基础到中级:联合(一)

从基础到中级:联合(一)

在这篇文章中,我们将探讨什么是联合。在这里,通过实验,我们将分析可以使用联合的第一种构造。然而,这里展示的只是后续文章将涵盖的一组概念和信息的核心部分。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
从基础到中级:联合(二)

从基础到中级:联合(二)

今天我们有一篇非常有趣的文章。我们将研究联合并尝试解决之前讨论的问题。我们还将探讨在应用程序中使用联合时可能出现的一些不寻常的情况。此处提供的材料仅用于教学目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
为 Metatrader 5 开发 MQTT 客户端:TDD 方法 - 第 5 部分

为 Metatrader 5 开发 MQTT 客户端:TDD 方法 - 第 5 部分

本文是系列文章的第五部分,介绍了我们为 MQTT 5.0 协议开发本地 MQL5 客户端的步骤。在这一部分中,我们将介绍 PUBLISH 数据包的结构、如何设置其发布标志(Publish Flag)、如何对主题名称(Topic Name)字符串进行编码,以及在需要时如何设置数据包标识符(Packet Identifier)。
preview
经济预测:探索 Python 的潜力

经济预测:探索 Python 的潜力

如何使用世界银行的经济数据进行预测?当你将人工智能模型和经济学结合起来时会发生什么?