MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
构建蜡烛图趋势约束模型(第7部分):为EA开发优化我们的模型

构建蜡烛图趋势约束模型(第7部分):为EA开发优化我们的模型

在本文中,我们将详细探讨为开发专家顾问(EA)所准备的指标的相关内容。我们不仅会讨论如何对当前版本的指标进行进一步改进,以提升其准确性和功能,还会引入全新的功能来标记退出点,以弥补之前版本仅具备识别入场点功能的不足。
preview
流动性攫取交易策略

流动性攫取交易策略

流动性攫取交易策略是智能资金概念(SMC)的核心组成部分,旨在识别并利用市场中机构投资者的操作行为。该策略聚焦于高流动性区域(如支撑位或阻力位),在这些区域,大额订单可引发价格波动,随后市场恢复原有趋势。本文将详细阐释流动性攫取的概念,并概述如何在MQL5中开发流动性攫取交易策略的智能交易系统(EA)。
preview
S&P 500交易策略在MQL5中的实现(适合初学者)

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

了解如何利用MQL5精准预测标普500指数,结合经典技术分析以增强稳定性,并将算法与经过时间验证的原则相结合,以获得稳健的市场洞察。
preview
禁忌搜索(TS)

禁忌搜索(TS)

本文讨论了禁忌搜索(Tabu Search)算法,这是一种最早且最为人所知的元启发式方法之一。我们将详细探讨该算法的运行过程,从选择初始解并探索邻近选项开始,重点介绍使用禁忌表。文章涵盖了该算法的关键方面及其特性。
preview
基于三维反转形态的算法交易

基于三维反转形态的算法交易

在三维K线上探索自动化交易的新世界。基于多维价格K线的交易机器人是什么样的?三维K线中的“黄色”簇群能否预测趋势反转?多维交易是什么样的?
preview
DoEasy. 控件 (第 19 部分): 在 TabControl 中滚动选项卡、WinForms 对象事件

DoEasy. 控件 (第 19 部分): 在 TabControl 中滚动选项卡、WinForms 对象事件

在本文中,我将创建的功能是利用滚动按钮在 TabControl 中滚动选项卡标题。 该功能旨在将选项卡标题从控件的任一侧拖放到单行之中。
preview
一种采用纯MQL5语言实现的基于能量学习的特征选择算法

一种采用纯MQL5语言实现的基于能量学习的特征选择算法

本文介绍了一种在学术论文《FREL:一种稳定的特征选择算法》中描述的特征选择算法的实现,该算法被称为基于正则化能量的特征加权学习。
preview
让新闻交易轻松上手(第五部分):执行交易(2)

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

本文将扩展交易管理类,以包含用于交易新闻事件的买入止损(buy-stop)和卖出止损(sell-stop)订单,并为这些订单添加过期时间限制,以防止隔夜交易。在EA中嵌入一个滑点函数,以尝试防止或最小化在交易中使用止损订单时可能发生的滑点,特别是在新闻事件期间。
preview
群体优化算法:抵抗陷入局部极值(第一部分)

群体优化算法:抵抗陷入局部极值(第一部分)

本文介绍了一个独特的实验,旨在研究群体优化算法在群体多样性较低时有效逃脱局部最小值并达到全局最大值的能力。朝着这个方向努力将进一步了解哪些特定算法可以使用用户设置的坐标作为起点成功地继续搜索,以及哪些因素会影响它们的成功。
preview
基于Python与MQL5的多模块交易机器人(第一部分):构建基础架构与首个模块

基于Python与MQL5的多模块交易机器人(第一部分):构建基础架构与首个模块

我们将开发一个模块化交易系统,该系统结合了 Python 进行数据分析,并使用 MQL5 执行交易。四个独立模块并行监控市场的不同方面:成交量、套利、经济指标和风险,并使用包含400棵树的随机森林( RandomForest )。特别强调风险管理,因为即使是最先进的交易算法,如果没有适当的风险管理,也是毫无用处的。
preview
如何使用 Controls 类创建交互式 MQL5 仪表盘/面板(第 2 部分):添加按钮响应。

如何使用 Controls 类创建交互式 MQL5 仪表盘/面板(第 2 部分):添加按钮响应。

在本文中,我们将聚焦于实现按钮的响应,把静态的 MQL5 面板转变为一个交互式工具。我们将探讨如何自动化 GUI 组件的功能,确保它们能够恰当地响应用户的点击操作。最终,我们将建立一个动态界面,提升交互性和交易体验。
preview
开发回放系统(第 45 部分):Chart Trade 项目(四)

开发回放系统(第 45 部分):Chart Trade 项目(四)

本文的主要目的是介绍和解释 C_ChartFloatingRAD 类。我们有一个 Chart Trade 指标,它的工作方式非常有趣。您可能已经注意到了,图表上的对象数量仍然很少,但我们却获得了预期的功能。指标中的数值是可以编辑的。问题是,这怎么可能呢?这篇文章将使答案变得更加清晰。
preview
神经网络变得简单(第 57 部分):随机边际扮演者-评论者(SMAC)

神经网络变得简单(第 57 部分):随机边际扮演者-评论者(SMAC)

在此,我将研究相当新颖的随机边际扮演者-评论者(SMAC)算法,该算法允许在熵值最大化的框架内构建潜在变量政策。
preview
您应当知道的 MQL5 向导技术(第 44 部分):平均真实范围(ATR)技术指标

您应当知道的 MQL5 向导技术(第 44 部分):平均真实范围(ATR)技术指标

ATR 振荡指标是一款非常流行的指标,权当波动率代表,尤其是在交易量数据稀缺的外汇市场当中。我们以形态为基础来验证这一点,就如我们对先前指标所做那样,并分享策略和测试报告,致谢 MQL5 向导库的类和汇编。
preview
分析交易所价格的二进制代码(第一部分):技术分析的新视角

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

本文提出了一种基于将价格波动转换为二进制代码的技术分析创新方法。作者展示了市场行为的各个方面——从简单的价格波动到复杂形态——如何被编码为一系列的0和1。
preview
卡尔曼滤波器在外汇均值回归策略中的应用

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

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

让手动回测变得简单:为MQL5策略测试器构建自定义工具包

在本文中,我们设计了一个自定义的MQL5工具包,用于在策略测试器中轻松进行手动回测。我们将解释其设计与实现方案,重点介绍交互式交易控制功能。然后,我们将展示如何使用它来有效地测试交易策略。
preview
DoEasy.服务功能(第 2 部分):孕线形态

DoEasy.服务功能(第 2 部分):孕线形态

本文将继续探讨 DoEasy 库中的价格形态。我们还将创建价格行为形态中的 "孕线"(Inside Bar)形态类。
preview
使用 Python 分析天气对农业国家货币的影响

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

天气与外汇之间有什么关系?传统经济理论长期忽视天气对市场行为的影响。但一切都已改变。让我们尝试找出天气条件与农业货币在市场上的走势之间的联系。
preview
从Python到MQL5:量子启发式交易系统的探索之旅

从Python到MQL5:量子启发式交易系统的探索之旅

本文探讨了量子启发式交易系统的开发过程,该系统从Python原型过渡到MQL5实现,以应用于现实世界的交易中。该系统运用了量子计算原理(如叠加态和纠缠态)来分析市场状态,尽管这是在经典计算机上使用量子模拟器运行的。该系统的关键特性包括:采用三量子比特系统,可同时分析八种市场状态;设置24小时的回溯观察期;并运用七种技术指标进行市场分析。尽管准确率看似一般,但若结合恰当的风险管理策略,该系统仍能提供显著的优势。
preview
精通日志记录(第一部分):MQL5中的基础概念与入门步骤

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

欢迎开启另一段探索之旅!本文是一个特别系列的开篇之作,我们将逐步创建一个专为MQL5语言开发者量身定制的日志操作库。
preview
开发回放系统(第 41 部分):启动第二阶段(二)

开发回放系统(第 41 部分):启动第二阶段(二)

如果到目前为止,你觉得一切都很好,那就说明你在开始开发应用程序时,并没有真正考虑到长远的问题。随着时间的推移,你将不再需要为新的应用程序编程,只需让它们协同工作即可。让我们看看如何完成鼠标指标的组装。
preview
掌握 MQL5:从入门到精通(第五部分):基本控制流操作符

掌握 MQL5:从入门到精通(第五部分):基本控制流操作符

本文探讨了用于修改程序执行流程的关键操作符:条件语句、循环和 switch 语句。利用这些操作符将使我们创建的函数表现得更加“智能”。
preview
使用MQL5经济日历进行交易(第二部分):创建新闻交易面板

使用MQL5经济日历进行交易(第二部分):创建新闻交易面板

在本文中,我们使用MQL5经济日历创建了一个实用的新闻交易面板,来增强我们的交易策略。我们首先设计布局,重点关注事件名称、重要性和时间等关键元素,然后在MQL5中进行设置。最后,我们实现了一个过滤系统,只显示相关性最强的新闻,为交易者快速提供有影响力的经济事件。
preview
开发回放系统(第 75 部分):新 Chart Trade(二)

开发回放系统(第 75 部分):新 Chart Trade(二)

在本文中,我们将讨论 C_ChartFloatingRAD 类。这就是 Chart Trade 发挥作用的原因。然而,解释并未就此结束,我们将在下一篇文章中完成它,因为这篇文章的内容相当广泛,需要深入理解。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
基于Python和MQL5的特征工程(第二部分):价格角度

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

在MQL5论坛上,有许多帖子询问如何计算价格变化的斜率。本文将展示一种计算任意交易市场中价格变化所形成角度的可行方法。此外,我们还将探讨为这项新特征工程投入额外精力和时间是否值得。我们将研究价格斜率是否能在预测M1时间框架下的USDZAR货币对时,提高我们人工智能(AI)模型的准确性。
preview
种群优化算法:二进制遗传算法(BGA)。第 II 部分

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

在本文中,我们将继续研究二进制遗传算法(BGA),它模拟自然界生物遗传物质中发生的自然过程。
preview
神经网络变得简单(第 95 部分):降低变换器模型中的内存消耗

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

基于变换器架构的模型展现出高效率,但由于在训练阶段、及运行期间都资源成本高昂,故它们的使用变得复杂。在本文中,我提议领略那些能够降低此类模型内存占用的算法。
preview
重塑经典策略(第六部分):多时间框架分析

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

在这一系列文章中,我们重新审视经典策略,看看是否可以利用人工智能(AI)对其进行改进。在本文中,我们将研究流行的多时间框架分析策略,以判断该策略是否可以通过人工智能得到增强。
preview
神经网络实践:最小二乘法

神经网络实践:最小二乘法

在本文中,我们将探讨一些想法,包括数学公式在外观上怎么会比用代码实现时更复杂。此外,我们还将考虑如何设置图表的象限,以及 MQL5 代码中可能出现的一个有趣问题。不过,说实话,我还是不太明白该如何解释。总之,我会告诉你如何用代码解决这个问题。
preview
JSON 从入门到精通: 创建自己的 MQL5 版本 JSON 解读器

JSON 从入门到精通: 创建自己的 MQL5 版本 JSON 解读器

体验分步指南,创建自定义的 MQL5 版本 JSON 解析器,囊括对象和数组处理、错误检查、及序列化。通过这款灵活的解决方案,在 MetaTrader 5 中处理 JSON,获取桥接交易逻辑与结构化数据的实用见解。
preview
开发多币种 EA 交易 (第 5 部分):可变仓位大小

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

在前面的部分中,我们正在开发的智能交易系统 (EA) 只能使用固定的仓位大小进行交易。这对于测试来说是可以接受的,但在真实账户交易时并不建议这样做。让我们能够使用可变的仓位大小进行交易。
preview
因果推断中的时间序列聚类

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

在机器学习中,聚类算法是重要的无监督学习算法,它们可以将原始数据划分为具有相似观测值的组。利用这些组,可以分析特定聚类的市场情况,使用新数据寻找最稳定的聚类,并进行因果推断。本文提出了一种在Python中进行时间序列聚类的原创方法。
preview
开发多币种 EA 交易(第 20 部分):整理自动项目优化阶段的输送机(一)

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

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

交易中的趋势准则

趋势是许多交易策略的重要组成部分。在本文中,我们将考察一些用来识别趋势及其特征的工具。理解并正确解释趋势,能够显著提升交易效率,并将风险最小化。
preview
基于MQL5和Python的自优化EA(第六部分):利用深度双重下降算法

基于MQL5和Python的自优化EA(第六部分):利用深度双重下降算法

传统的机器学习教导从业者要警惕不要使模型陷入过度拟合。然而,这种观念正受到哈佛大学研究人员最新发表的学术见解的挑战。他们发现,看似过拟合的情形在某些情况下可能是由于提前终止训练过程导致的。我们将展示如何利用研究论文中发表的观点,来改进我们使用人工智能预测市场行为的方式。
preview
精通 MQL5 文件操作:从基础 I/O 到构建自定义 CSV 读取器

精通 MQL5 文件操作:从基础 I/O 到构建自定义 CSV 读取器

本文聚焦于 MQL5 文件处理的核心技术,涵盖交易日志、CSV 处理以及外部数据集成。它既提供概念性理解,也包含实用的编程指导。读者将逐步学习如何构建一个自定义的 CSV 导入器类,从而掌握适用于实际应用的实用技能。
preview
从基础到中级:定义(一)

从基础到中级:定义(一)

在这篇文章中,我们将做一些许多人会觉得奇怪和完全脱离上下文的事情,但如果使用得当,这将使你的学习更加有趣:我们将能够根据这里显示的内容构建非常有趣的东西。这将使您更好地理解 MQL5 语言的语法。此处提供的材料仅用于教育目的。它不应以任何方式被视为最终应用程序。其目的不是探索所提出的概念。
preview
数据科学和机器学习(第 19 部分):利用 AdaBoost 为您的 AI 模型增压

数据科学和机器学习(第 19 部分):利用 AdaBoost 为您的 AI 模型增压

AdaBoost,一个强力的提升算法,设计用于提升 AI 模型的性能。AdaBoost 是 Adaptive Boosting 的缩写,是一种复杂的融合学习技术,可无缝集成较弱的学习器,增强它们的集体预测强度。
preview
在 MQL5 中创建每日回撤限制器 EA

在 MQL5 中创建每日回撤限制器 EA

本文从详细的角度讨论了如何基于交易算法实现 EA 交易系统的创建。这有助于在 MQL5 中实现系统自动化,并控制每日回撤。