MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
开发回放系统 — 市场模拟(第 20 部分):外汇(I)

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

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

市场模拟(第七部分):套接字(一)

套接字,你知道它们在 MetaTrader 5 中的用途或使用方法吗?如果答案是否定的,那么让我们从研究它们开始。在今天的文章中,我们将介绍一些基础知识。由于有几种方法可以做同样的事情,而且我们总是对结果感兴趣,我想证明确实有一种简单的方法可以将数据从 MetaTrader 5 传输到其他程序,如 Excel。然而,主要目的不是将数据从 MetaTrader 5 传输到 Excel,而是相反,即将数据从 Excel 或任何其他程序传输到 MetaTrader 5。
preview
创建一个基于日波动区间突破策略的 MQL5 EA

创建一个基于日波动区间突破策略的 MQL5 EA

在本文中,我们将创建一个基于日波动区间突破策略的 MQL5 EA。我们阐述该策略的关键概念,设计EA框架蓝图,并在 MQL5 语言中实现突破策略逻辑。最后,我们将探讨用于回测和优化EA的技术,以最大限度地提高其有效性。
preview
使用MQL5经济日历进行交易(第一部分):精通MQL5经济日历的功能

使用MQL5经济日历进行交易(第一部分):精通MQL5经济日历的功能

在本文中,我们首先要了解其核心功能,探讨如何使用MQL5经济日历进行交易。然后,我们在MQL5中实现经济日历的关键功能,以提取与交易决策相关的新闻数据。最后,我们进行总结,展示如何利用这些信息来有效增强交易策略。
preview
CatBoost 模型中的交叉验证和因果推理基础及导出为 ONNX 格式

CatBoost 模型中的交叉验证和因果推理基础及导出为 ONNX 格式

本文提出了使用机器学习创建 EA 交易的方法。
preview
价格行为分析工具包开发(第十五部分):引入四分位理论(1)——四分位绘图脚本

价格行为分析工具包开发(第十五部分):引入四分位理论(1)——四分位绘图脚本

支撑位与阻力位是预示潜在趋势反转和延续的关键价位。尽管识别这些价位颇具挑战性,但一旦精准定位,您便能从容应对市场波动。如需进一步辅助,请参阅本文介绍的四分位绘图工具,该工具可帮助您识别主要及次要支撑位与阻力位。
preview
DoEasy.控件(第 33 部分):垂直滚动条

DoEasy.控件(第 33 部分):垂直滚动条

在本文中,我们将继续开发 DoEasy 库的图形元素,并添加表单对象控件的垂直滚动功能,以及将来需要的一些实用函数和方法。
preview
神经网络变得简单(第 56 部分):利用核范数推动研究

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

强化学习中的环境研究是一个紧迫的问题。我们之前已视察过一些方式。在本文中,我们将讲述另一种基于最大化核范数的方法。它允许智能体识别拥有高度新颖性和多样性的环境状态。
preview
将您自己的 LLM 集成到 EA 中(第 3 部分):使用 CPU 训练自己的 LLM

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

在人工智能飞速发展的今天,大语言模型(LLM)是人工智能的重要组成部分,所以我们应该思考如何将强大的 LLM 融入到我们的算法交易中。对于大多数人来说,很难根据他们的需求微调这些强大的模型,在本地部署它们,然后将它们应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
preview
从基础到中级:变量(I)

从基础到中级:变量(I)

许多初学者很难理解为什么他们的代码没有按他们预期的方式运行。让代码真正发挥作用的因素有很多。代码能够正常运行,不仅仅是因为它包含了一系列不同的函数和操作。今天,我邀请您学习如何正确地编写真正的代码,而不是简单地复制粘贴代码段。这里呈现的材料仅供教学目的。在任何情况下,这些应用不应该被用于学习和掌握所介绍概念之外的其他目的。
preview
种群优化算法:进化策略,(μ,λ)-ES 和 (μ+λ)-ES

种群优化算法:进化策略,(μ,λ)-ES 和 (μ+λ)-ES

本文研究一套称为进化策略(ES)的优化算法。它们是最早使用进化原理来寻找最优解的种群算法之一。我们将针对传统的 ES 变体实现变更,并修改算法的测试函数和测试台方法。
preview
DoEasy. 控件 (第 23 部分): 改进 TabControl 和 SplitContainer WinForms 对象

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

在本文中,我将添加与 WinForms 对象工作区域边界相关的新鼠标事件,并修复 TabControl 和 SplitContainer 控件功能中的一些瑕疵。
preview
最负盛名的人工协作搜索算法的改进版本(AXSm)

最负盛名的人工协作搜索算法的改进版本(AXSm)

在这里,我们将探讨 ACS 算法的演变:三种修改旨在改善收敛特性和算法效率。对最领先的优化算法之一进行修订改版。从数据矩阵修改到种群形成的革命性方法。
preview
将人工智能(AI)模型集成到已有的MQL5交易策略中

将人工智能(AI)模型集成到已有的MQL5交易策略中

本主题聚焦于将训练好的人工智能(AI)模型(如长短期记忆网络(LSTM)等强化学习模型,或基于机器学习的预测模型)集成到现有的MQL5交易策略中。
preview
用于时间序列挖掘的数据标签(第 6 部分):使用 ONNX 在 EA 中应用和测试

用于时间序列挖掘的数据标签(第 6 部分):使用 ONNX 在 EA 中应用和测试

本系列文章介绍了几种时间序列标注方法,可以创建符合大多数人工智能模型的数据,根据需要进行有针对性的数据标注可以使训练好的人工智能模型更符合预期的设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
结合基本面和技术分析策略在MQL5中的实现(适合初学者)

结合基本面和技术分析策略在MQL5中的实现(适合初学者)

在本文中,我们将讨论如何将趋势跟踪和基本面原则无缝整合到一个EA中,以构建一个更加稳健的交易策略。本文将展示任何人都可以轻松上手,使用MQL5构建定制化交易算法的过程。
preview
交易中的神经网络:使用语言模型进行时间序列预测

交易中的神经网络:使用语言模型进行时间序列预测

我们继续研究时间序列预测模型。在本文中,我们领略一种建立在预训练语言模型基础上的复杂算法。
preview
卡尔曼滤波器在外汇均值回归策略中的应用

卡尔曼滤波器在外汇均值回归策略中的应用

卡尔曼滤波器是一种递归算法,在算法交易中用于通过滤除价格走势中的噪声来估计金融时间序列的真实状态。它能够根据新的市场数据动态更新预测,这使得它在均值回归等自适应策略中极具价值。本文首先介绍卡尔曼滤波器,涵盖其计算方法和实现方式。接下来,我们以外汇领域一个经典的均值回归策略为例,应用该滤波器。最后,我们通过将卡尔曼滤波器与移动平均线(MA)在外汇不同货币对上进行比较,开展各种统计分析。
preview
DoEasy. 控件(第三十部分):动画态滚动条控件

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

在本文中,我将继续开发滚动条(ScrollBar)控件,并开始实现鼠标交互功能。 此外,我将扩展鼠标状态标志和事件的列表。
preview
种群优化算法:细菌觅食优化 — 遗传算法(BFO-GA)

种群优化算法:细菌觅食优化 — 遗传算法(BFO-GA)

本文释义了一种解决优化问题的新方式,即把细菌觅食优化(BFO)算法和遗传算法(GA)中所用的技术结合到混合型 BFO-GA 算法当中。它用细菌群落来全局搜索最优解,并用遗传运算器来优调局部最优值。与原始的 BFO 不同,细菌现在可以突变,并继承基因。
preview
MQL5中的范畴论(第18部分):自然性四边形

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

本文通过介绍自然变换这一主题中的一个关键支柱,继续我们的范畴理论系列。我们研究看似复杂的定义,然后深入研究本系列“面包和黄油”的示例和应用程序;波动性预测。
preview
两样本Kolmogorov-Smirnov检验作为时间序列非平稳性的指标

两样本Kolmogorov-Smirnov检验作为时间序列非平稳性的指标

本文探讨了最著名的非参数同质性检验之一——两样本柯尔莫哥洛夫-斯米尔诺夫(Kolmogorov-Smirnov)检验。文章对模型数据和实际价格都进行了分析。此外,本文还给出了构建非平稳性指标(iSmirnovDistance)的一个示例。
preview
MQL5自动化交易策略(第二部分):基于一目均衡表与动量震荡器的云突破交易系统

MQL5自动化交易策略(第二部分):基于一目均衡表与动量震荡器的云突破交易系统

在本文中,我们将创建一个智能交易系统(EA),利用一目均衡表指标与动量震荡器,实现云图突破策略的自动化交易。我们将逐步解析以下核心流程:指标句柄初始化、突破条件检测和自动化交易执行。此外,我们还实现追踪止损机制与动态仓位管理,以提升EA的盈利能力及对市场波动的适应性。
preview
MQL5 交易工具包(第 3 部分):开发挂单管理 EX5 库

MQL5 交易工具包(第 3 部分):开发挂单管理 EX5 库

了解如何在 MQL5 代码或项目中开发和实现全面的挂单 EX5库。本文将向您展示如何创建一个全面的挂单管理 EX5 库,并通过构建交易面板或图形用户界面(GUI)来指导您导入和实现它。EA 交易订单面板将允许用户直接从图表窗口上的图形界面打开、监控和删除与指定幻数相关的挂单。
preview
在MQL5中创建交易管理员面板(第四部分):登录安全层

在MQL5中创建交易管理员面板(第四部分):登录安全层

想象一下,一个恶意入侵者潜入了交易管理员房间,获取了用于向全球数百万交易者传递有价值信息的计算机和管理员面板的访问权限。这种入侵可能导致灾难性后果,例如未经授权发送误导性信息或随意点击按钮触发意外操作。在本次讨论中,我们将探究MQL5中的安全措施以及在管理员面板中实施的新安全功能,以防范这些威胁。通过增强安全协议,我们旨在保护通信渠道并维护全球交易社区的可信度。在本文的讨论中了解更多见解。
preview
开发回放系统 — 市场模拟(第 17 部分):跳价和更多跳价(I)

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

于此,我们将见识到如何实现一些非常有趣的东西,但同时也会因某些可能十分令人困惑的关键点而极其困难。可能发生的最糟糕的事情是,一些自诩专业人士的交易者却对这些概念在资本市场中的重要性一无所知。好吧,尽管我们在这里专注于编程,但理解市场交易中涉及的一些问题,对于我们将要实现的内容至关重要。
preview
重构经典策略(第七部分):基于USDJPY的外汇市场与主权债务分析

重构经典策略(第七部分):基于USDJPY的外汇市场与主权债务分析

在今天的文章中,我们将分析汇率走势与政府债券之间的关系。债券是固定收益证券中最受欢迎的形式之一,将成为我们讨论的重点。加入我们,一起探索是否可以利用人工智能技术改进一种经典策略。
preview
MetaTrader 中的 Multibot(第二部分):改进的动态模板

MetaTrader 中的 Multibot(第二部分):改进的动态模板

在开发上一篇文章的主题时,我决定创建一个更灵活、功能更强大的模板,该模板具有更大的功能,可以有效地用于自由职业,也可以作为开发多货币和多时段 EA 的基础,并能够与外部解决方案集成。
preview
MQL5交易管理面板开发(第九部分):代码组织(4):交易管理面板类

MQL5交易管理面板开发(第九部分):代码组织(4):交易管理面板类

本文探讨我们在New_Admin_Panel智能交易系统(EA)中更新交易管理面板(TradeManagementPanel)。此次更新通过引入内置类组件,显著提升了面板的用户友好性,为交易者提供了直观的交易管理界面。其内置交易按钮,可一键开仓,并提供管理现有持仓与挂单的控制选项。核心亮点是集成的风险管理功能——可直接在界面内设置止损与止盈值。此次更新优化了大型程序的代码组织方式,并简化了对终端中常见繁杂订单管理工具的访问。
preview
软件开发和 MQL5 中的设计范式(第 4 部分):行为范式 2

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

在本文中,我们将终结有关设计范式主题的系列文章,我们提到有三种类型的设计范式:创建型、结构型、和行为型。我们将终结行为类型的其余范式,其可以帮助设置对象之间的交互方法,令我们的代码更整洁。
preview
您应当知道的 MQL5 向导技术(第 11 部分):数字墙

您应当知道的 MQL5 向导技术(第 11 部分):数字墙

数字墙(Number Walls)是线性回移寄存器的一种变体,其通过检查收敛性来预筛选序列来达到可预测性。我们看看这些思路如何运用在 MQL5。
preview
MQL5自动化交易策略(第四部分):构建多层级区域恢复系统

MQL5自动化交易策略(第四部分):构建多层级区域恢复系统

本文将介绍如何在MQL5中开发一个基于相对强弱指数(RSI)生成交易信号的多层级区域恢复(反转)系统(Multi-Level Zone Recovery System)。该系统通过动态数组结构管理多个信号实例,使区域恢复逻辑能够同时处理多重交易信号。通过这种设计,我们展示了如何在保持代码可扩展性和健壮性的前提下,有效应对复杂的交易管理场景。
preview
开发回放系统 — 市场模拟(第 19 部分):必要的调整

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

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

GIT:它是什么?

在本文中,我将为开发人员介绍一个非常重要的工具。如果您不熟悉 GIT,请阅读本文,以了解它是什么以及如何在 MQL5 中使用它。
preview
DoEasy. 控件 (第 20 部分): SplitContainer WinForms 对象

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

在本文中,我将启动开发模拟 MS Visual Studio工具包的 SplitContainer 控件。 此控件由两个垂直或水平可移动隔板分开的面板组成。
preview
重塑经典策略(第三部分):预测新高与新低

重塑经典策略(第三部分):预测新高与新低

在系列文章的第三部分中,我们将通过实证分析经典交易策略,探讨如何利用人工智能进行优化。本次研究聚焦于运用线性判别分析模型(LDA)预测价格走势中的更高高点与更低低点。
preview
化学反应优化 (CRO) 算法(第二部分):汇编和结果

化学反应优化 (CRO) 算法(第二部分):汇编和结果

在第二部分中,我们将把化学运算符整合到一个算法中,并对其结果进行详细分析。让我们来看看化学反应优化 (CRO) 方法是如何解决测试函数的复杂问题的。
preview
人工蜂巢算法(ABHA):测试与结果

人工蜂巢算法(ABHA):测试与结果

在本文中,我们将继续深入探索人工蜂巢算法(ABHA),通过深入研究代码并探讨其余的方法。正如您可能还记得的那样,模型中的每只蜜蜂都被表示为一个独立的智能体,其行为取决于内部和外部信息以及动机状态。我们将在各种函数上测试该算法,并通过在评分表中呈现结果来总结测试效果。
preview
让新闻交易轻松上手(第六部分):执行交易(3)

让新闻交易轻松上手(第六部分):执行交易(3)

在本文中,将实现基于新闻事件ID对单个新闻事件进行新闻筛选。此外,还将对先前的SQL查询进行改进,以提供更多信息或减少查询运行时间。另外,还将使前几篇文章中构建的代码具备实际功能。
preview
MQL5中的自动化交易策略(第七部分):构建具备仓位动态调整功能的网格交易EA

MQL5中的自动化交易策略(第七部分):构建具备仓位动态调整功能的网格交易EA

在本文中,我们将在 MQL5 中构建一个使用动态仓位缩放的网格交易EA。我们将涵盖策略设计、代码实现和回测过程。最后,我们将分享用于优化该自动化交易系统的关键方案和最佳实践。