MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
群体优化算法:混合蛙跳算法(SFL)

群体优化算法:混合蛙跳算法(SFL)

本文详细描述了混合蛙跳(Shuffled Frog-Leaping,SFL)算法及其在求解优化问题中的能力。SFL算法的灵感来源于青蛙在自然环境中的行为,为函数优化提供了一种新的方法。SFL算法是一种高效灵活的工具,能够处理各种数据类型并实现最佳解决方案。
preview
DoEasy. 控件 (第 24 部分): 提示(Hint)辅助 WinForms 对象

DoEasy. 控件 (第 24 部分): 提示(Hint)辅助 WinForms 对象

在本文中,我将修改为所有 WinForms 函数库对象指定基准对象和主对象的逻辑,并开发一个新的提示(Hint)基准对象,及其若干个派生类,用以示意移动隔板的可能方向。
preview
群体优化算法:螺旋动态优化 (SDO) 算法

群体优化算法:螺旋动态优化 (SDO) 算法

文章介绍了一种基于自然界螺旋轨迹构造模式(如软体动物贝壳)的优化算法 - 螺旋动力学优化算法(Spiral Dynamics Optimization,SDO)。我对作者提出的算法进行了彻底的修改和完善,本文将探讨这些修改的必要性。
preview
种群优化算法:鸟群算法(BSA)

种群优化算法:鸟群算法(BSA)

本文探讨了受自然界鸟类集群行为启发而产生的基于鸟群的算法(BSA)。BSA中的个体采用不同的搜索策略,包括在飞行、警戒和觅食行为之间的切换,使得该算法具有多面性。它利用鸟类集群、交流、适应性、领导与跟随等规则来高效地找到最优解。
preview
MQL5 中的范畴论 (第 8 部分):幺半群(Monoids)

MQL5 中的范畴论 (第 8 部分):幺半群(Monoids)

本文是以 MQL5 实现范畴论系列的延续。 本期,我们引入幺半群作为域(集合),通过包含规则和幺元,将范畴论自其它数据分类方法分离开来。
preview
开发具有 RestAPI 集成的 MQL5 强化学习代理(第 4 部分):在 MQL5 中组织类中的函数

开发具有 RestAPI 集成的 MQL5 强化学习代理(第 4 部分):在 MQL5 中组织类中的函数

本文讨论 MQL5 中从面向过程编码向面向对象编程 (OOP) 的过渡,重点是与 REST API 的集成。今天,我们将讨论如何将 HTTP 请求函数(GET 和 POST)组织到类中。我们将仔细研究代码重构,并展示如何用类方法替换孤立的函数。本文包含实用的示例和测试。
preview
频域中的滤波和特征提取

频域中的滤波和特征提取

在本文中,我们探索了在时间序列由数字滤波器在频域上进行表达的应用,如此即可提取也许对预测模型有用的独特特征。
preview
神经网络变得轻松(第四十七部分):连续动作空间

神经网络变得轻松(第四十七部分):连续动作空间

在本文中,我们扩展了代理者的任务范围。训练过程将包括一些资金和风险管理等方面,这是任何交易策略不可或缺的部分。
preview
您应当知道的 MQL5 向导技术(第 17 部分):多币种交易

您应当知道的 MQL5 向导技术(第 17 部分):多币种交易

当经由向导组装一款智能系统时,默认情况下,跨多币种交易不可用。我们研究了 2 种可能采取的技巧,可令交易者在同一时间据多个品种测试他们的思路。
preview
MQL5 Algo Forge 入门

MQL5 Algo Forge 入门

我们正在推出 MQL5 Algo Forge —— 一个专为算法交易开发人员设计的门户网站。它将 Git 的强大功能与直观的界面相结合,用于管理和组织 MQL5 生态系统内的项目。在这里,您可以关注有趣的作者,组建团队,并在算法交易项目上进行协作。
preview
神经网络变得简单(第 58 部分):决策转换器(DT)

神经网络变得简单(第 58 部分):决策转换器(DT)

我们继续探索强化学习方法。在本文中,我将专注于一种略有不同的算法,其参考智能体政策构造一连串动作的范式。
preview
使用PSAR、Heiken Ashi和深度学习进行交易

使用PSAR、Heiken Ashi和深度学习进行交易

本项目探索深度学习与技术分析的融合,用于在外汇市场测试交易策略。使用Python脚本进行快速实验,结合ONNX模型和传统指标(如PSAR、SMA和RSI)来预测欧元/美元(EUR/USD )的走势。之后,MQL5脚本将此策略引入实时环境,利用历史数据和技术分析帮助交易者做出明智的交易决策。回测结果表明,该策略秉持保守且稳健的运作理念,始终将风险管控置于首位,追求持续稳定的收益增长模式,摒弃激进逐利的行为。
preview
MQL5中的替代风险回报标准

MQL5中的替代风险回报标准

在这篇文章中,我们介绍了几种被称为夏普比率(Sharpe ratio)替代品的风险回报标准的实现,并检查了假设的权益曲线以分析其特征。
preview
软件开发和 MQL5 中的设计模式(第 2 部分):结构模式

软件开发和 MQL5 中的设计模式(第 2 部分):结构模式

在了解了设计模式适用于 MQL5 和其他编程语言,并且对于开发人员开发可扩展、可靠的应用程序有多么重要之后,我们将在本文中继续介绍设计模式。我们将学习另一种类型的设计模式,即结构模式,了解如何利用我们所拥有的类组成更大的结构来设计系统。
preview
数据科学和机器学习(第 28 部分):使用 AI 预测 EURUSD 的多个期货

数据科学和机器学习(第 28 部分):使用 AI 预测 EURUSD 的多个期货

众多人工智能模型的惯常做法是预测单一未来值。不过,在本文中,我们将钻研运用机器学习模型的更强大技术,即预测多个未来值。这种方式被称为多步预测,它令我们不仅能够预测明天的收盘价,还可以预测后天、及更久的收盘价。通过掌握多步骤预测,交易者和数据科学家能够获得更深入的见解,并制定更明智的决策,从而显著增强他们的预测能力和策略计划。
preview
创建 MQL5-Telegram 集成 EA 交易 (第二部分):从 MQL5 发送信号到 Telegram

创建 MQL5-Telegram 集成 EA 交易 (第二部分):从 MQL5 发送信号到 Telegram

在本文中,我们创建了一个 MQL5-Telegram 集成 EA 交易,将移动平均线交叉信号发送到 Telegram。我们详细介绍了从移动平均线交叉生成交易信号的过程,在 MQL5 中实现必要的代码,并确保集成无缝工作。结果是系统可以直接向您的 Telegram 群聊提供实时交易提醒。
preview
创建一个基于日波动区间突破策略的 MQL5 EA

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

在本文中,我们将创建一个基于日波动区间突破策略的 MQL5 EA。我们阐述该策略的关键概念,设计EA框架蓝图,并在 MQL5 语言中实现突破策略逻辑。最后,我们将探讨用于回测和优化EA的技术,以最大限度地提高其有效性。
preview
神经网络变得简单(第 62 部分):在层次化模型中运用决策转换器

神经网络变得简单(第 62 部分):在层次化模型中运用决策转换器

在最近的文章中,我们已看到了运用决策转换器方法的若干选项。该方法不仅可以分析当前状态,还可以分析先前状态的轨迹,以及在其中执行的动作。在本文中,我们将专注于在层次化模型中运用该方法。
preview
DoEasy. 控件 (第 14 部分): 命名图形元素的新算法。 继续操控 TabControl WinForms 对象

DoEasy. 控件 (第 14 部分): 命名图形元素的新算法。 继续操控 TabControl WinForms 对象

在本文中,我将创建一个新算法来为构建自定义图形的所有图形元素命名,并继续开发 TabControl WinForms 对象。
preview
DoEasy. 控件(第 16 部分):TabControl WinForms 对象 — 多行选项卡标题,拉伸标题适配容器

DoEasy. 控件(第 16 部分):TabControl WinForms 对象 — 多行选项卡标题,拉伸标题适配容器

在本文中,我将继续开发 TabControl,并针对设置标题大小的所有模式,实现选项卡标题在控件所有四个侧边的排列:正常、固定、和靠右填充。
preview
MQL5 简介(第 6 部分):MQL5 中的数组函数新手指南 (二)

MQL5 简介(第 6 部分):MQL5 中的数组函数新手指南 (二)

开始我们 MQL5 旅程的下一阶段。在这篇深入浅出、适合初学者的文章中,我们将探讨其余的数组函数,揭开复杂概念的神秘面纱,让您能够制定高效的交易策略。我们将讨论 ArrayPrint、ArrayInsert、ArraySize、ArrayRange、ArrarRemove、ArraySwap、ArrayReverse 和 ArraySort。利用这些基本的数组函数,提升您的算法交易专业知识。加入我们的精通 MQL5 之路吧!
preview
开发先进的 ICT 交易系统:在订单块指标中实现信号

开发先进的 ICT 交易系统:在订单块指标中实现信号

在本文中,您将学习如何基于订单簿交易量(市场深度)开发订单块(Order Blocks)指标,并使用缓冲区对其进行优化以提高准确性。这结束了项目的当前阶段,并为下一阶段做准备,下一阶段将包括实施风险管理类和使用指标生成的信号的交易机器人。
preview
开发多币种 EA 交易(第 17 部分):为真实交易做进一步准备

开发多币种 EA 交易(第 17 部分):为真实交易做进一步准备

目前,我们的 EA 使用数据库来获取交易策略单个实例的初始化字符串。然而,这个数据库相当大,包含许多实际 EA 操作不需要的信息。让我们尝试在不强制连接到数据库的情况下确保 EA 的功能。
preview
通过成交量洞察交易:趋势确认

通过成交量洞察交易:趋势确认

增强型趋势确认技术结合了价格行为、成交量分析和机器学习,用以识别真实的市场行情。该技术要求价格突破和成交量激增(高于平均值50%)这两个条件同时满足以验证交易信号,同时使用一个LSTM神经网络进行附加确认。该系统采用基于ATR(平均真实波幅)的仓位调整和动态风险管理,使其能够适应不同的市场条件,同时过滤掉虚假信号。
preview
价格行为分析工具包开发(第十四部分):抛物线转向与反转工具

价格行为分析工具包开发(第十四部分):抛物线转向与反转工具

采用技术指标分析价格行为是一种强有力的方法。这些指标通常突出显示反转和回调的关键水平,为揭示市场动态提供了宝贵的信息。在本文中,我们演示了如何开发一个使用抛物线转向(Parabolic SAR)指标生成信号的自动化交易程序。
preview
DoEasy. C控件(第 7 部分):文本标签控件

DoEasy. C控件(第 7 部分):文本标签控件

在本文中,我将创建 WinForms 文本标签控件的对象类。 这样的对象能够将其容器放置在任何位置,而其自身的功能将重现 MS Visual Studio 文本标签的功能。 我们能够为欲显示的文本设置字体参数。
preview
DoEasy. 控件 (第 8 部分): 基准 WinForms 对象类别,GroupBox 和 CheckBox 控件

DoEasy. 控件 (第 8 部分): 基准 WinForms 对象类别,GroupBox 和 CheckBox 控件

本文研究创建 “GroupBox” 和 “CheckBox” WinForms 对象,以及开发 WinForms 对象类别的基准对象。 所有已创建对象仍然是静态的,即,它们无法与鼠标交互。
preview
神经网络变得简单(第 64 部分):保守加权行为克隆(CWBC)方法

神经网络变得简单(第 64 部分):保守加权行为克隆(CWBC)方法

据前几篇文章中所执行测试的结果,我们得出的结论是,训练策略的最优性很大程度上取决于所采用的训练集。在本文中,我们将熟悉一种相当简单,但有效的方法来选择轨迹,并据其训练模型。
preview
MQL5 简介(第 10 部分):MQL5 中使用内置指标的初学者指南

MQL5 简介(第 10 部分):MQL5 中使用内置指标的初学者指南

本文介绍如何使用 MQL5 中的内置指标,重点介绍如何使用基于项目的方法创建基于 RSI 的 EA 交易。您将学习获取和利用 RSI 值、处理流动性清扫以及使用图表对象增强交易可视化。此外,本文强调了有效的风险管理,包括设定基于百分比的风险、实施风险回报率以及应用风险修改来确保利润。
preview
改编版 MQL5 网格对冲 EA(第 IV 部分):优化简单网格策略(I)

改编版 MQL5 网格对冲 EA(第 IV 部分):优化简单网格策略(I)

在第四篇中,我们重新审视了之前开发的“简单对冲”和“简单网格”智能系统(EA)。我们的专注点转移到通过数学分析和暴力方式完善简单网格 EA,旨在优化策略用法。本文深入策略的数学优化,为在以后文章中探索未来基于编码的优化奠定了基础。
preview
开发回放系统 — 市场模拟(第 09 部分):自定义事件

开发回放系统 — 市场模拟(第 09 部分):自定义事件

在此,我们将见到自定义事件是如何被触发的,以及指标如何报告回放/模拟服务的状态。
preview
种群优化算法:模拟各向同性退火(SIA)算法。第 II 部分

种群优化算法:模拟各向同性退火(SIA)算法。第 II 部分

第一部分专注于众所周知、且流行的算法 — 模拟退火。我们已经通盘研究了它的利弊。本文的第二部分专注于算法的彻底变换,将其转变为一种新的优化算法 — 模拟各向同性退火(SIA)。
preview
数据科学和机器学习(第 16 部分):全新面貌的决策树

数据科学和机器学习(第 16 部分):全新面貌的决策树

在我们的数据科学和机器学习系列的最新一期中,深入到错综复杂的决策树世界。本文专为寻求策略洞察的交易者量身定制,全面回顾了决策树在分析市场趋势中所发挥的强大作用。探索这些算法树的根和分支,解锁它们的潜力,从而强化您的交易决策。加入我们,以全新的视角审视决策树,并探索它们如何在复杂的金融市场航行中成为您的盟友。
preview
时间序列挖掘的数据标签(第3部分):使用标签数据的示例

时间序列挖掘的数据标签(第3部分):使用标签数据的示例

本系列文章介绍了几种时间序列标记方法,这些方法可以创建符合大多数人工智能模型的数据,而根据需要进行有针对性的数据标记可以使训练后的人工智能模型更符合预期设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
一个基于新指标和条件长短期记忆网络(LSTM)的实例

一个基于新指标和条件长短期记忆网络(LSTM)的实例

本文探讨了一种用于自动化交易的EA的开发,该EA结合了技术分析和深度学习预测。
preview
使用MQL5经济日历进行交易(第一部分):精通MQL5经济日历的功能

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

在本文中,我们首先要了解其核心功能,探讨如何使用MQL5经济日历进行交易。然后,我们在MQL5中实现经济日历的关键功能,以提取与交易决策相关的新闻数据。最后,我们进行总结,展示如何利用这些信息来有效增强交易策略。
preview
DoEasy 函数库中的时间序列(第五十三部分):抽象基准指标类

DoEasy 函数库中的时间序列(第五十三部分):抽象基准指标类

本文研究创建一个抽象指标,其将进一步用作创建函数库标准指标和自定义指标对象的基类。
preview
借助成交量精准洞悉交易动态:超越传统OHLC图表

借助成交量精准洞悉交易动态:超越传统OHLC图表

一种将成交量分析与机器学习技术(特别是LSTM神经网络)相结合的算法交易系统。与主要关注价格波动的传统交易方法不同,该系统强调成交量模式及其衍生指标,以预测市场走势。该方法包含三个主要组成部分:成交量衍生指标分析(一阶和二阶导数)、基于LSTM的成交量模式预测,以及传统技术指标。
preview
MQL5 简介(第 17 部分):构建趋势反转 EA 交易

MQL5 简介(第 17 部分):构建趋势反转 EA 交易

本文教初学者如何在 MQL5 中构建一个基于图表形态识别的 EA 交易系统,该系统利用趋势线突破和反转进行交易。通过学习如何动态检索趋势线值并将其与价格走势进行比较,读者将能够开发出能够识别和交易图表形态(如上升和下降趋势线、通道、楔形、三角形等)的 EA 交易。
preview
MQL5自优化智能交易系统(第九部分):双移动平均线交叉

MQL5自优化智能交易系统(第九部分):双移动平均线交叉

本文将介绍双移动平均线交叉策略的设计思路:利用更高的时间框架(日线D1)的信号指导更低的时间框架(15分钟M15)的入场,并通过中间风险周期(4小时H4)计算止损位。本文将讲解系统常量、自定义枚举,以及趋势跟踪和均值回归模式的逻辑,同时强调代码模块化与未来遗传算法优化的扩展性。该方法支持灵活的入场/出场条件,通过让较低的时间框架入场与较高的时间框架趋势保持一致,减少信号滞后、优化交易时机。