MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
精通模型解释:从您的机器学习模型中获取深入见解

精通模型解释:从您的机器学习模型中获取深入见解

机器学习对于任何经验的人来说都是一个复杂而回报的领域。在本文中,我们将深入探讨为您所构建模型提供动力的内在机制,我们探索的错综复杂的世界,涵盖特征、预测和化解复杂性的有力决策,并牢牢把握模型解释。学习驾驭权衡、强化预测、特征重要性排位的艺术,同时确保做出稳健的决策。这篇基本读物可帮助您从机器学习模型中获得更高的性能,并为运用机器学习方法提取更多价值。
preview
两样本Kolmogorov-Smirnov检验作为时间序列非平稳性的指标

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

本文探讨了最著名的非参数同质性检验之一——两样本柯尔莫哥洛夫-斯米尔诺夫(Kolmogorov-Smirnov)检验。文章对模型数据和实际价格都进行了分析。此外,本文还给出了构建非平稳性指标(iSmirnovDistance)的一个示例。
preview
您应当知道的 MQL5 向导技术(第 40 部分):抛物线止损和反转(PSAR)

您应当知道的 MQL5 向导技术(第 40 部分):抛物线止损和反转(PSAR)

抛物线止损和反转(PSAR) 是趋势确认、和趋势终结点的指标。因为它在识别趋势方面滞后,所以它的主要目的是为持仓定位尾随止损。然而,我们要探索它是否真的可以当作智能系统的交易信号,这要归功于由向导汇编智能系统的自定义信号类。
preview
为 Metatrader 5 开发 MQTT 客户端:TDD 方法 - 第 6 部分

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

本文是介绍我们针对 MQTT 5.0 协议的本地 MQL5 客户端的开发步骤的系列文章的第六部分。在本部分中,我们会讨论我们第一次重构中的主要变化,我们如何为我们的数据包构建类得出可行的蓝图,我们如何构建 PUBLISH 和 PUBACK 数据包,以及 PUBACK 原因代码背后的语义。
preview
神经网络变得简单(第 84 部分):可逆归一化(RevIN)

神经网络变得简单(第 84 部分):可逆归一化(RevIN)

我们已经知晓,输入数据的预处理对于模型训练的稳定性扮演重要角色。为了在线处理 “原始” 输入数据,我们往往会用到批量归一化层。但有时我们需要一个逆过程。在本文中,我们将讨论解决该问题的可能方式之一。
preview
您应当知道的 MQL5 向导技术(第 22 部分):条件化生成式对抗网络(cGAN)

您应当知道的 MQL5 向导技术(第 22 部分):条件化生成式对抗网络(cGAN)

生成式对抗网络是一对神经网络,它们彼此相互训练,以便结果更精准。我们采用这些网络的条件化类型,作为我们正在寻找的可选项,应用于智能信号类之内预测金融时间序列。
preview
为 Metatrader 5 开发MQTT客户端:TDD方法——第4部分

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

本文是一系列文章的第四部分,介绍了我们为 MQTT 协议开发本机 MQL5 客户端的步骤。在这一部分中,我们将描述什么是 MQTT v5.0 属性,它们的语义,以及我们如何阅读其中的一些属性,并提供一个如何使用属性来扩展协议的简短示例。
preview
您应当知道的 MQL5 向导技术(第 10 部分):非常规 RBM

您应当知道的 MQL5 向导技术(第 10 部分):非常规 RBM

限制性玻尔兹曼(Boltzmann)机处于基本等级,是一个两层神经网络,擅长通过降维进行无监督分类。我们取其基本原理,并检验如果我们重新设计和训练它,我们是否可以得到一个实用的信号滤波器。
preview
开发回放系统(第 35 部分):进行调整 (一)

开发回放系统(第 35 部分):进行调整 (一)

在向前迈进之前,我们需要解决几个问题。这些实际上并不是必需的修正,而是对类的管理和使用方式的改进。原因是系统内的某些相互作用导致了故障的发生。尽管我们试图找出这些故障的原因以消除它们,但所有这些尝试都没有成功。其中有些情况完全不合理,例如,当我们在 C/C++ 中使用指针或递归时,程序就会崩溃。
preview
开发多币种 EA 交易 (第 5 部分):可变仓位大小

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

在前面的部分中,我们正在开发的智能交易系统 (EA) 只能使用固定的仓位大小进行交易。这对于测试来说是可以接受的,但在真实账户交易时并不建议这样做。让我们能够使用可变的仓位大小进行交易。
preview
大气云模型优化(ACMO):理论

大气云模型优化(ACMO):理论

本文致力于介绍一种元启发式算法——大气云模型优化(ACMO)算法,该算法通过模拟云层的行为来解决优化问题。该算法利用云层的生成、移动和传播的原理,适应解空间中的“天气条件”。本文揭示了该算法如何通过气象模拟在复杂的可能性空间中找到最优解,并详细描述了ACMO运行的各个阶段,包括“天空”准备、云层的生成、云层的移动以及水的集中。
preview
开发回放系统(第 39 部分):铺平道路(三)

开发回放系统(第 39 部分):铺平道路(三)

在进入开发的第二阶段之前,我们需要修正一些想法。您知道如何让 MQL5 满足您的需求吗?您是否尝试过超出文档所包含的范围?如果没有,那就做好准备吧。因为我们将做一些大多数人通常不会做的事情。
preview
掌握 MQL5:从入门到精通(第五部分):基本控制流操作符

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

本文探讨了用于修改程序执行流程的关键操作符:条件语句、循环和 switch 语句。利用这些操作符将使我们创建的函数表现得更加“智能”。
preview
数据科学和机器学习(第 30 部分):预测股票市场的幂对、卷积神经网络(CNN)、和递归神经网络(RNN)

数据科学和机器学习(第 30 部分):预测股票市场的幂对、卷积神经网络(CNN)、和递归神经网络(RNN)

在本文中,我们会探讨卷积神经网络(CNN)和递归神经网络(RNN)在股票市场预测中的动态集成。借力 CNN 提取形态的能力,以及 RNN 的精练度,来处理序列数据。我们看看这个强大的组合如何强化交易算法的准确性和效率。
preview
神经网络变得简单(第 77 部分):交叉协方差变换器(XCiT)

神经网络变得简单(第 77 部分):交叉协方差变换器(XCiT)

在我们的模型中,我们经常使用各种关注度算法。而且,可能我们最常使用变换器。它们的主要缺点是资源需求。在本文中,我们将研究一种新算法,它可以帮助降低计算成本,而不会降低品质。
preview
使用MQL5经济日历进行交易(第一部分):精通MQL5经济日历的功能

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

在本文中,我们首先要了解其核心功能,探讨如何使用MQL5经济日历进行交易。然后,我们在MQL5中实现经济日历的关键功能,以提取与交易决策相关的新闻数据。最后,我们进行总结,展示如何利用这些信息来有效增强交易策略。
preview
S&P 500交易策略在MQL5中的实现(适合初学者)

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

了解如何利用MQL5精准预测标普500指数,结合经典技术分析以增强稳定性,并将算法与经过时间验证的原则相结合,以获得稳健的市场洞察。
preview
重塑经典策略(第六部分):多时间框架分析

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

在这一系列文章中,我们重新审视经典策略,看看是否可以利用人工智能(AI)对其进行改进。在本文中,我们将研究流行的多时间框架分析策略,以判断该策略是否可以通过人工智能得到增强。
preview
利用Python进行季节性过滤并为EA的ONNX深度学习模型选择时间周期

利用Python进行季节性过滤并为EA的ONNX深度学习模型选择时间周期

在利用Python构建深度学习模型时,我们能否从季节性因素中获益?为ONNX模型过滤数据是否有助于获得更好的结果?我们应该使用哪个时间周期?本文将全面探讨这些问题。
preview
Connexus入门(第一部分):如何使用WebRequest函数?

Connexus入门(第一部分):如何使用WebRequest函数?

本文是‘Connexus’库开发系列的开篇之作,旨在为MQL5环境下的HTTP请求提供便利支持。该项目的目的是为终端用户提供这个机会,并展示如何使用这个辅助库。我打算尽可能地简化,以便于学习,从而为进一步开发提供可能性。
preview
开发先进的 ICT 交易系统:在指标中实现订单区块

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

在本文中,我们将学习如何创建一个指标来检测、绘制订单区块并提醒订单块的缓解。我们还将详细研究如何在图表上识别这些区块,设置准确的提醒,并使用矩形可视化它们的位置,以更好地了解价格行为。该指标将成为遵循聪明钱概念和内圈交易者(ICT,Inner Circle Trader)方法的交易者的关键工具。
preview
开发回放系统(第 36 部分):进行调整(二)

开发回放系统(第 36 部分):进行调整(二)

让我们的程序员生活举步维艰的原因之一就是做出假设。在本文中,我将向您展示假设是多么危险:例如在 MQL5 编程中假设类型将具有某个特定值,或是在 MetaTrader 5 中假设不同服务器的工作方式相同。
preview
构建K线图趋势约束模型(第六部分):一体化集成

构建K线图趋势约束模型(第六部分):一体化集成

我们的一个主要挑战是:如何管理运行相同程序但具有不同功能的同一货币对的多个图表窗口。让我们讨论一下如何将多个窗口集成整合到一个主程序中。此外,我们还将分享如何配置程序以将信息打印到日志中,以及在图表界面上对成功发出的信号进行注释的见解。随着本系列文章的推进,您将在本文中找到更多的相关信息。
preview
在 MQL5 中创建每日回撤限制器 EA

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

本文从详细的角度讨论了如何基于交易算法实现 EA 交易系统的创建。这有助于在 MQL5 中实现系统自动化,并控制每日回撤。
preview
MQL5 简介(第 9 部分):理解和使用 MQL5 中的对象

MQL5 简介(第 9 部分):理解和使用 MQL5 中的对象

学习使用当前和历史数据在 MQL5 中创建和自定义图表对象。本基于项目的指南可帮助您可视化交易并实际应用 MQL5 概念,从而更容易构建适合您交易需求的工具。
preview
DoEasy. 控件 (第 17 部分): 裁剪对象不可见部分、辅助箭头按钮 WinForms 对象

DoEasy. 控件 (第 17 部分): 裁剪对象不可见部分、辅助箭头按钮 WinForms 对象

在本文中,我将创建一种功能,可隐藏超出其容器之外的对象部分。 此外,我亦将创建辅助箭头按钮对象,作为其它 WinForms 对象的一部分。
preview
在 MQL5 中创建交易管理员面板(第五部分):双因素认证(2FA)

在 MQL5 中创建交易管理员面板(第五部分):双因素认证(2FA)

今天,我们将讨论如何增强当前正在开发的交易管理员面板的安全性。我们将探讨如何在新的安全策略中实施 MQL5,并将 Telegram API 集成到双因素认证(2FA)中。本次讨论将提供有关 MQL5 在加强安全措施方面的应用的宝贵见解。此外,我们还将研究 MathRand 函数,重点关注其功能以及如何在我们构建的安全框架中有效利用它。继续阅读以了解更多信息!
preview
神经网络变得简单(第 93 部分):频域和时域中的自适应预测(终篇)

神经网络变得简单(第 93 部分):频域和时域中的自适应预测(终篇)

在本文中,我们继续实现 ATFNet 模型的方式,其在时间序列预测内可自适应地结合 2 个模块(频域和时域)的结果。
preview
通过推送通知监控交易——一个MetaTrader 5服务的示例

通过推送通知监控交易——一个MetaTrader 5服务的示例

在本文中,我们将探讨如何创建一个服务应用程序,用于向智能手机发送关于交易结果的通知。我们将学习如何处理标准库对象列表,以便根据所需属性组织对象的选择。
preview
开发回放系统(第 44 部分):Chart Trader 项目(三)

开发回放系统(第 44 部分):Chart Trader 项目(三)

在上一篇文章中,我介绍了如何操作模板数据以便在 OBJ_CHART 中使用。在那篇文章中,我只是概述了这一主题,并没有深入探讨细节,因为在那个版本中,这项工作是以非常简单的方式完成的。这样做是为了更容易解释内容,因为尽管很多事情表面上很简单,但其中有些并不那么明显,如果不了解最简单、最基本的部分,就无法真正理解全局。
preview
开发具有 RestAPI 集成的 MQL5 强化学习代理(第 2 部分):用于与井字游戏 RestAPI 进行 HTTP 交互的 MQL5 函数

开发具有 RestAPI 集成的 MQL5 强化学习代理(第 2 部分):用于与井字游戏 RestAPI 进行 HTTP 交互的 MQL5 函数

在本文中,我们将讨论 MQL5 如何与 Python 和 FastAPI 交互,使用 MQL5 中的 HTTP 调用与 Python 开发的井字游戏交互。这篇文章讨论了使用 FastAPI 为这种集成创建一个 API,并提供了一个 MQL5 测试脚本,突出了 MQL5 的多功能性、Python 的简易性以及 FastAPI 在连接不同技术以创建创新解决方案方面的效果。
preview
神经网络实践:伪逆 (二)

神经网络实践:伪逆 (二)

由于这些文章本质上是教育性的,并不打算展示特定功能的实现,因此我们在本文中将做一些不同的事情。我们将重点介绍伪逆的因式分解,而不是展示如何应用因式分解来获得矩阵的逆。原因是,如果我们能以一种特殊的方式来获得一般系数,那么展示如何获得一般系数就没有意义了。更好的是,读者可以更深入地理解为什么事情会以这种方式发生。那么,现在让我们来弄清楚为什么随着时间的推移,硬件正在取代软件。
preview
创建动态多货币对EA(第1部分):货币正相关性与负相关性

创建动态多货币对EA(第1部分):货币正相关性与负相关性

动态多货币对EA利用正负相关性来优化EA的交易表现。通过分析实时市场数据,它识别并利用货币对之间的相关性。
preview
开发具有 RestAPI 集成的 MQL5 强化学习代理(第 3 部分):在 MQL5 中创建自动移动和测试脚本

开发具有 RestAPI 集成的 MQL5 强化学习代理(第 3 部分):在 MQL5 中创建自动移动和测试脚本

本文讨论在 Python 中实现井字游戏中的自动移动,并与 MQL5 函数和单元测试集成。目标是通过在 MQL5 中进行测试,提高游戏的互动性并确保系统的可靠性。本文内容包括游戏逻辑开发、集成和实际测试,最后将介绍动态游戏环境和强大集成系统的创建。
preview
您应当知道的 MQL5 向导技术(第 08 部分):感知器

您应当知道的 MQL5 向导技术(第 08 部分):感知器

感知器,单隐藏层网络,对于任何精熟基本自动交易,并希望涉足神经网络的人来说都是一个很好的切入点。我们查看这是如何在一个信号类当中一步一步组装实现的,其是 MQL5 向导类中用于智能交易系统的部分。
preview
构建K线趋势约束模型(第五部分):通知系统(第三部分)

构建K线趋势约束模型(第五部分):通知系统(第三部分)

本系列文章的这一部分专门介绍如何将WhatsApp与MetaTrader 5集成以实现通知功能。我们包含一张流程图以简化理解,并将讨论在集成过程中安全措施的重要性。指标的主要目的是通过自动化的简化分析过程,并且它们应包含通知方法,以便在满足特定条件时向用户发出警报。欲了解更多信息,请阅读本文。
preview
用Python和MQL5进行投资组合优化

用Python和MQL5进行投资组合优化

本文探讨了使用Python和MQL5结合MetaTrader 5进行高级投资组合优化的技术。文章展示了如何开发用于数据分析、资产配置和交易信号生成的算法,强调了在现代金融管理和风险缓解中数据驱动决策的重要性。
preview
数据科学和机器学习(第 19 部分):利用 AdaBoost 为您的 AI 模型增压

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

AdaBoost,一个强力的提升算法,设计用于提升 AI 模型的性能。AdaBoost 是 Adaptive Boosting 的缩写,是一种复杂的融合学习技术,可无缝集成较弱的学习器,增强它们的集体预测强度。
preview
基于Python和MQL5的特征工程(第二部分):价格角度

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

在MQL5论坛上,有许多帖子询问如何计算价格变化的斜率。本文将展示一种计算任意交易市场中价格变化所形成角度的可行方法。此外,我们还将探讨为这项新特征工程投入额外精力和时间是否值得。我们将研究价格斜率是否能在预测M1时间框架下的USDZAR货币对时,提高我们人工智能(AI)模型的准确性。
preview
神经网络变得简单(第 63 部分):决策转换器无监督预训练(PDT)

神经网络变得简单(第 63 部分):决策转换器无监督预训练(PDT)

我们将继续讨论决策转换器方法系列。从上一篇文章中,我们已经注意到,训练这些方法架构下的转换器是一项相当复杂的任务,需要一个大型标记数据集进行训练。在本文中,我们将观看到一种使用未标记轨迹进行初步模型训练的算法。