MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
开发回放系统 — 市场模拟(第 08 部分):锁定指标

开发回放系统 — 市场模拟(第 08 部分):锁定指标

在本文中,我们将亲眼见证如何在简单地利用 MQL5 语言锁定指标,我们将以一种非常有趣和迷人的方式做到这一点。
preview
交易中的神经网络:基于双注意力的趋势预测模型

交易中的神经网络:基于双注意力的趋势预测模型

我们继续讨论时间序列的分段线性表示的运用,这在前一篇文章中已经开始。今天,我们要看看如何将该方法与其它时间序列分析方法相结合,从而提高价格趋势预测品质。
preview
MQL5 中的范畴论 (第 2 部分)

MQL5 中的范畴论 (第 2 部分)

范畴论是数学的一个多样化和不断扩展的分支,到目前为止,在 MQL5 社区中还相对难以发现。 这些系列文章旨在介绍和研究其一些概念,其总体目标是建立一个开放的函数库,吸引评论和研讨,同时希望在交易者的策略开发中进一步在运用这一非凡的领域。
preview
MQL5 中的范畴论 (第 6 部分):单态回拉和满态外推

MQL5 中的范畴论 (第 6 部分):单态回拉和满态外推

范畴论是数学的一个多样化和不断扩展的分支,直到最近才在 MQL5 社区中得到一些报道。 这些系列文章旨在探索和验证一些概念和公理,其总体目标是建立一个开放的函数库,提供洞察力,同时也希望进一步在交易者的策略开发中运用这个非凡的领域。
preview
MQL5 中的范畴论 (第 5 部分):均衡器

MQL5 中的范畴论 (第 5 部分):均衡器

范畴论是数学的一个多样化和不断扩展的分支,直到最近才在 MQL5 社区中得到一些报道。 这些系列文章旨在探索和验证一些概念和公理,其总体目标是建立一个开放的函数库,提供洞察力,同时也希望进一步在交易者的策略开发中运用这个非凡的领域。
preview
使用MQL5和Python构建自优化EA(第二部分):调整深度神经网络

使用MQL5和Python构建自优化EA(第二部分):调整深度神经网络

机器学习模型带有各种可调节的参数。在本系列文章中,我们将探讨如何使用SciPy库来定制您的AI模型,使其适应特定的市场。
preview
MQL5自动化交易策略(第十四部分):基于MACD-RSI统计方法的交易分层策略

MQL5自动化交易策略(第十四部分):基于MACD-RSI统计方法的交易分层策略

本文将介绍一种结合MACD和RSI指标与统计方法的交易分层策略,通过MQL5实现动态自动化交易。我们将探讨这种级联式策略的架构设计,通过关键代码段详解其实现方式,并指导读者如何进行回测以优化策略表现。最后,我们将总结该策略的潜力,并为自动化交易的进一步优化奠定基础。
preview
构建K线图的趋势约束模型(第四部分):为各个趋势波段自定义显示样式

构建K线图的趋势约束模型(第四部分):为各个趋势波段自定义显示样式

在本文中,我们将探讨强大的MQL5语言在MetaTrader 5上绘制各种指标样式的能力。我们还将研究脚本及其在模型中的应用。
preview
掌握 MQL5:从入门到精通(第三部分)复杂数据类型和包含文件

掌握 MQL5:从入门到精通(第三部分)复杂数据类型和包含文件

这是描述 MQL5 编程主要方面的系列文章中的第三篇。本文涵盖了上一篇文章中未讨论的复杂数据类型。这些包括结构、联合、类和“函数”数据类型。它还解释了如何使用 #include 预处理器指令为程序添加模块化。
preview
彗星尾算法(CTA)

彗星尾算法(CTA)

在这篇文章中,我们将探讨彗星尾优化算法(CTA),该算法从独特的太空物体——彗星及其接近太阳时形成的壮观尾部中汲取灵感。该算法基于彗星及其尾部运动的概念设计而成,旨在寻找优化问题中的最优解。
preview
价格行为分析工具箱开发(第三部分):分析大师 —EA

价格行为分析工具箱开发(第三部分):分析大师 —EA

从一个简单的交易脚本升级到一个功能完备的智能交易系统(EA),可以极大地提升您的交易体验。想象一下,拥有一个能够自动监控您的图表、在后台执行关键计算,并每隔两小时提供定期更新的系统。这款EA将配备分析关键指标的功能,而这些指标对于做出明智的交易决策至关重要,从而确保您能获取最新信息,以有效地调整您的交易策略。
preview
衡量指标信息

衡量指标信息

机器学习已成为策略制定的流行方法。 虽然人们更强调最大化盈利能力和预测准确性,但处理用于构建预测模型的数据的重要性,仍未受到太多关注。 在本文中,我们研究依据熵的概念来评估预测模型构建的指标的适配性,如 Timothy Masters 的《测试和优调市场交易系统》一书中所述。
preview
量化风险管理方法:应用 VaR 模型优化多货币投资组合(使用 Python 和 MetaTrader 5)

量化风险管理方法:应用 VaR 模型优化多货币投资组合(使用 Python 和 MetaTrader 5)

本文探讨了价值风险(VaR)模型在多货币投资组合优化中的潜力。借助 Python 的强大功能和 MetaTrader 5 的功能,我们展示了如何实施 VaR 分析,以实现高效的资金分配和头寸管理。从理论基础到实际实施,文章涵盖了将 VaR——这一最稳健的风险计算系统之一——应用于算法交易的方方面面。
preview
MQL5 中的高级变量和数据类型

MQL5 中的高级变量和数据类型

不仅在 MQL5 编程中,在任何编程语言中,变量和数据类型都是非常重要的主题。MQL5 变量和数据类型可分为简单类型和高级类型。在这篇文章中,我们将识别并学习高级类型,因为我们在前一篇文章中已经提到过简单类型。
preview
用Python重塑经典策略:移动平均线交叉

用Python重塑经典策略:移动平均线交叉

在本文中,我们重新审视了经典的移动平均线交叉策略,以评估其当前的有效性。鉴于该策略自诞生以来已经过去了很长时间,我们探索了人工智能可能为其带来的潜在增强效果。通过融入人工智能技术,我们旨在利用高级的预测能力来潜在地优化交易的入场和出场点,适应不断变化的市场条件,并与传统方法相比提高整体表现。
preview
神经网络变得简单(第 89 部分):频率增强分解变换器(FEDformer)

神经网络变得简单(第 89 部分):频率增强分解变换器(FEDformer)

到目前为止,我们研究过的所有模型在分析环境状态时都将其当作时间序列。不过,时间序列也能以频率特征的形式表示。在本文中,我将向您介绍一种算法,即利用时间序列的频率分量来预测未来状态。
preview
风险管理(第二部分):在图形界面中实现手数计算

风险管理(第二部分):在图形界面中实现手数计算

在本文中,我们将探讨如何使用强大的 MQL5 图形控件库来改进和更有效地应用上一篇文章中提出的概念。我们将逐步完成创建一个功能齐全的图形用户界面。我将解释它背后的想法,以及所使用的每种方法的目的和操作。此外,在本文的最后,我们将测试我们创建的面板,以确保它正确运行并实现其既定目标。
preview
神经网络变得轻松(第五十四部分):利用随机编码器(RE3)进行高效研究

神经网络变得轻松(第五十四部分):利用随机编码器(RE3)进行高效研究

无论何时我们研究强化学习方法时,我们都会面对有效探索环境的问题。解决这个问题通常会导致算法更复杂性,以及训练额外模型。在本文中,我们将看看解决此问题的替代方法。
preview
同时交易多种工具时平衡风险

同时交易多种工具时平衡风险

本文将帮助初学者从头开始编写一个脚本的实现,用于在同时交易多种工具时平衡风险。此外,它还可以为有经验的用户提供新的思路,使他们可以根据本文提出的方案来实现自己的解决方案。
preview
解构客户端交易策略的示例

解构客户端交易策略的示例

本文使用框图来检查位于终端的 Experts\Free Robots 文件夹中的基于烛形的训练 EA 的逻辑。
preview
神经网络变得轻松(第五十二部分):研究乐观情绪和分布校正

神经网络变得轻松(第五十二部分):研究乐观情绪和分布校正

由于模型是基于经验复现缓冲区进行训练,故当前的扮演者政策会越来越远离存储的样本,这会降低整个模型的训练效率。在本文中,我们将查看一些能在强化学习算法中提升样本使用效率的算法。
preview
构建K线图趋势约束模型(第一部分):针对EA和技术指标

构建K线图趋势约束模型(第一部分):针对EA和技术指标

本文面向初学者和专业的MQL5开发者。它提供了一段代码,用于定义并限制信号生成指标仅在较长的时间框架的趋势中运行。通过这种方式,交易者可以通过融入更广泛的市场视角来增强他们的策略,从而可能产生更稳健和可靠的交易信号。
preview
使用格兹尔算法的循环分析

使用格兹尔算法的循环分析

在本文中,我们介绍了在Mql5中实现格兹尔算法(Goertzel algorithm)的代码实用程序,并探讨了将该技术用于分析报价的两种方法,以制定可能的策略。
preview
在MQL5中实现基于抛物线转向指标(Parabolic SAR)和简单移动平均线(SMA)的快速交易策略算法

在MQL5中实现基于抛物线转向指标(Parabolic SAR)和简单移动平均线(SMA)的快速交易策略算法

在本文中,我们将在MQL5中开发一个快速交易EA,利用抛物线SAR和简单移动平均线(SMA)指标来创建一个响应迅速的交易策略。我们详细介绍了该策略的实施过程,包括指标的使用、信号的生成以及测试和优化过程。
preview
开发具有 RestAPI 集成的 MQL5 强化学习代理(第 4 部分):在 MQL5 中组织类中的函数

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

本文讨论 MQL5 中从面向过程编码向面向对象编程 (OOP) 的过渡,重点是与 REST API 的集成。今天,我们将讨论如何将 HTTP 请求函数(GET 和 POST)组织到类中。我们将仔细研究代码重构,并展示如何用类方法替换孤立的函数。本文包含实用的示例和测试。
preview
矩阵实用工具,扩展矩阵和向量的标准库功能

矩阵实用工具,扩展矩阵和向量的标准库功能

矩阵作为机器学习算法和计算机的基础,因为它们能够有效地处理大型数学运算,标准库拥有所需的一切,但让我们看看如何在实用工具文件中引入若干个函数来扩展它,这些函数在标准库中尚未提供。
preview
离散哈特莱变换

离散哈特莱变换

在本文中,我们将探讨频谱分析和信号处理的方法之一——离散哈特莱变换(discrete Hartley transform,DHT)。它可以过滤信号,分析它们的频谱等等。DHT的性能不亚于离散傅立叶变换(discrete Fourier transform,DFT)。然而,与DFT不同的是,DHT只使用实数,这使得它在实践中更方便实现,并且它的应用结果更直观。
preview
开发具有 RestAPI 集成的 MQL5 强化学习代理(第 1 部分):如何在 MQL5 中使用 RestAPI

开发具有 RestAPI 集成的 MQL5 强化学习代理(第 1 部分):如何在 MQL5 中使用 RestAPI

在本文中,我们将讨论 API(Application Programming Interface,应用程序编程接口)对于不同应用程序和软件系统之间交互的重要性。我们将看到 API 在简化应用程序间交互方面的作用,使它们能够有效地共享数据和功能。
preview
重塑经典策略(第四部分):标普500指数与美国国债

重塑经典策略(第四部分):标普500指数与美国国债

在本系列文章中,我们使用现代算法分析经典交易策略,以确定是否可以利用人工智能改进这些策略。在今天的文章中,我们将重新审视一种利用标普500指数与美国国债之间关系的经典交易方法。
preview
纳什博弈论与隐马尔可夫滤模型在交易中的应用

纳什博弈论与隐马尔可夫滤模型在交易中的应用

这篇文章深入探讨了约翰·纳什的博弈论,特别是纳什均衡,在交易中的应用。文章讨论了交易者如何利用Python脚本和MetaTrader 5,依据纳什的原则来识别并利用市场的无效性。文章还提供了实施这些策略的逐步指南,包括使用隐马尔可夫模型(HMM)和统计分析,以提升交易表现。
preview
MQL5交易策略自动化(第八部分):构建基于蝴蝶谐波形态的智能交易系统(EA)

MQL5交易策略自动化(第八部分):构建基于蝴蝶谐波形态的智能交易系统(EA)

在本文中,我们将构建一个MQL5智能交易系统(EA),用于检测蝴蝶谐波形态。我们会识别关键转折点,并验证斐波那契(Fibonacci)水平以确认该形态。之后,我们会在图表上可视化该形态,并在得到确认时自动执行交易。
preview
开发回放系统 — 市场模拟(第 07 部分):首次改进(II)

开发回放系统 — 市场模拟(第 07 部分):首次改进(II)

在上一篇文章中,我们针对复现系统进行了一些修复并加入了测试,以确保可能的最佳稳定性。 我们还着手为这个系统创建和使用配置文件。
preview
DoEasy. 控件 (第 24 部分): 提示(Hint)辅助 WinForms 对象

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

在本文中,我将修改为所有 WinForms 函数库对象指定基准对象和主对象的逻辑,并开发一个新的提示(Hint)基准对象,及其若干个派生类,用以示意移动隔板的可能方向。
preview
DoEasy. 控件 (第 27 部分): 继续致力 ProgressBar(进度条)WinForms 对象

DoEasy. 控件 (第 27 部分): 继续致力 ProgressBar(进度条)WinForms 对象

在本文中,我将继续开发进度条(ProgressBar)控件。 特别是,我将创建管理进度条和视觉效果的功能。
preview
如何使用MQL5的控件类创建交互式仪表板/面板(第一部分):设置面板

如何使用MQL5的控件类创建交互式仪表板/面板(第一部分):设置面板

在本文中,我们将使用MQL5的控件类创建一个交互式交易仪表板,旨在简化交易操作。该面板包含标题、用于交易、平仓和信息的导航按钮,以及用于执行交易和管理仓位的专用操作按钮。到文章结束时,你将拥有一个基础面板,为未来的扩展做好准备。
preview
Python、ONNX 和 MetaTrader 5:利用 RobustScaler 和 PolynomialFeatures 数据预处理创建 RandomForest 模型

Python、ONNX 和 MetaTrader 5:利用 RobustScaler 和 PolynomialFeatures 数据预处理创建 RandomForest 模型

在本文中,我们将用 Python 创建一个随机森林(random forest)模型,训练该模型,并将其保存为带有数据预处理功能的 ONNX 管道。之后,我们将在 MetaTrader 5 终端中使用该模型。
preview
利用 Python 实现价格走势离散方法

利用 Python 实现价格走势离散方法

我们将考察使用 Python + MQL5 来离散价格的方法。在本文中,我将分享我开发 Python 函数库的实践经验,其以多种方式实现柱线形成 — 从经典的交易量和范围柱线,到更奇特的方法,如 Renko 和 Kagi。我们将研究三线突破蜡烛和范围柱线,分析它们的统计数据,并尝试定义如何将价格以离散化表示。
preview
重构经典策略(第九部分):多时间框架分析(第二部分)

重构经典策略(第九部分):多时间框架分析(第二部分)

在今天的讨论中,我们探讨了多时间框架分析的策略,以确定我们的人工智能(AI)模型在哪个时间框架上表现最优。分析结果表明,在欧元兑美元(EURUSD)货币对上,月度和小时时间框架生成的模型具有相对较低的误差率。我们利用这一优势,开发了一个交易算法,该算法在月度时间框架上进行人工智能预测,并在小时时间框架上执行交易。
preview
多交易品种多周期指标中的 DRAW_ARROW 绘图类型

多交易品种多周期指标中的 DRAW_ARROW 绘图类型

本文将介绍如何绘制多交易品种多周期的箭头指标。我们还将改进类方法,以便正确显示箭头指标的数据,这些数据是根据与当前图表交易品种/周期不一致的交易品种/周期计算的。
preview
种群优化算法:Boids(虚拟生物)算法

种群优化算法:Boids(虚拟生物)算法

本文基于动物集群行为的独特实例,说明Boids算法。反过来说,Boids算法又成为了一整类算法的基础,这类算法统称为“种群智能”。