MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
创建动态多货币对EA(第1部分):货币正相关性与负相关性

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

动态多货币对EA利用正负相关性来优化EA的交易表现。通过分析实时市场数据,它识别并利用货币对之间的相关性。
preview
开发回放系统(第 49 部分):事情变得复杂 (一)

开发回放系统(第 49 部分):事情变得复杂 (一)

在本文中,我们将把问题复杂化。通过前面文章中展示的内容,我们将开始打开模板文件,以便用户可以使用自己的模板。不过,我将逐步进行修改,因为我还将改进指标,以减少 MetaTrader 5 的负载。
preview
您应当知道的 MQL5 向导技术(第 24 部分):移动平均

您应当知道的 MQL5 向导技术(第 24 部分):移动平均

移动平均是大多数交易者使用和理解的最常见指标。我们探讨一些在 MQL5 向导组装智能系统时可能不那么常见的可能用例。
preview
重思经典策略(第八部分):基于美元兑加元(USDCAD)探讨外汇市场与贵金属

重思经典策略(第八部分):基于美元兑加元(USDCAD)探讨外汇市场与贵金属

在本系列文章中,我们将重新审视一些广为人知的交易策略,看看是否能够利用人工智能(AI)来改进它们。请加入我们今天的讨论,一起测试贵金属与货币之间是否存在可靠的关系。
preview
开发多币种 EA 交易 (第 13 部分):自动化第二阶段 — 分组选择

开发多币种 EA 交易 (第 13 部分):自动化第二阶段 — 分组选择

我们已经实现了自动化优化的第一阶段。我们根据若干标准对不同的交易品种和时间框架进行优化,并将每次通过的结果信息存储在数据库中。现在我们将从第一阶段找到的参数集中选择最佳组。
preview
通过推送通知监控交易——一个MetaTrader 5服务的示例

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

在本文中,我们将探讨如何创建一个服务应用程序,用于向智能手机发送关于交易结果的通知。我们将学习如何处理标准库对象列表,以便根据所需属性组织对象的选择。
preview
头脑风暴优化算法(第二部分): 多模态

头脑风暴优化算法(第二部分): 多模态

在文章的第二部分,我们将继续讨论BSO算法的实际应用,对测试函数进行测试,并将BSO的效率与其他优化方法进行比较。
preview
交易中的神经网络:层次化向量变换器(HiVT)

交易中的神经网络:层次化向量变换器(HiVT)

我们邀请您来领略层次化矢量转换器(HiVT)方法,其专为快速、准确地预测多模态时间序列而开发。
preview
开发回放系统(第 38 部分):铺路(II)

开发回放系统(第 38 部分):铺路(II)

许多认为自己是 MQL5 程序员的人,其实并不具备我在本文中将要概述的基础知识。许多人认为 MQL5 是一个有限的工具,但实际原因是他们尚未具备所需的知识。所以,如果您有啥不知道,不要为此感到羞愧。最好是因为不去请教而感到羞愧。简单地强制 MetaTrader 5 禁用指标重叠,并不能确保指标和智能系统之间的双向通信。我们离这个目标还很远,但指标在图表上没有重叠的事实给了我们一些信心。
preview
开发回放系统(第 46 部分):Chart Trade 项目(五)

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

厌倦了浪费时间搜索应用程序工作所需的文件吗?在可执行文件中包含所有内容如何?这样,你就不用再去找东西了。我知道很多人都使用这种分发和存储形式,但还有一种更合适的方式。至少在可执行文件的分发和存储方面是这样。这里将介绍的方法非常有用,因为您可以将 MetaTrader 5 本身用作优秀的助手,也可以使用 MQL5。此外,它并不难理解。
preview
因果推断中的时间序列聚类

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

在机器学习中,聚类算法是重要的无监督学习算法,它们可以将原始数据划分为具有相似观测值的组。利用这些组,可以分析特定聚类的市场情况,使用新数据寻找最稳定的聚类,并进行因果推断。本文提出了一种在Python中进行时间序列聚类的原创方法。
preview
您应当知道的 MQL5 向导技术(第 21 部分):配以财经日历数据进行测试

您应当知道的 MQL5 向导技术(第 21 部分):配以财经日历数据进行测试

默认情况下,财经日历数据在策略测试器中不可用于智能系统测试。我们看看数据库能如何提供帮助,绕过这个限制。故此,在本文中,我们会探讨如何使用 SQLite 数据库来存档财经日历新闻,如此这般,由向导组装的智能系统就可以用它来生成交易信号。
preview
开发回放系统(第 58 部分):重返服务工作

开发回放系统(第 58 部分):重返服务工作

在回放/模拟器服务的开发和改进暂停之后,我们正在恢复该工作。现在我们已经放弃使用终端全局变量等资源,我们将不得不完全重组其中的一些部分。别担心,我们会详细解释这个过程,这样每个人都可以关注我们服务的发展。
preview
从基础到中级:操作符

从基础到中级:操作符

在本文中,我们将介绍主要的操作符。虽然这个主题很容易理解,但在代码格式中包含数学表达式时,有一些要点非常重要。如果不充分了解这些细节,经验很少或没有经验的程序员最终会放弃尝试创建自己的解决方案。
preview
基于MQL5和Python的自优化EA(第六部分):利用深度双重下降算法

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

传统的机器学习教导从业者要警惕不要使模型陷入过度拟合。然而,这种观念正受到哈佛大学研究人员最新发表的学术见解的挑战。他们发现,看似过拟合的情形在某些情况下可能是由于提前终止训练过程导致的。我们将展示如何利用研究论文中发表的观点,来改进我们使用人工智能预测市场行为的方式。
preview
神经网络变得简单(第 72 部分):噪声环境下预测轨迹

神经网络变得简单(第 72 部分):噪声环境下预测轨迹

预测未来状态的品质在“目标条件预测编码”方法中扮演着重要角色,我们曾在上一篇文章中讨论过。在本文中,我想向您介绍一种算法,它可以显著提高随机环境(例如金融市场)中的预测品质。
preview
动物迁徙优化(AMO)算法

动物迁徙优化(AMO)算法

本文介绍了AMO算法,该算法通过模拟动物的季节性迁徙来寻找适合生存和繁殖的最优条件。AMO的主要特点包括使用拓扑邻域和概率更新机制,使得其易于实现,并且能够灵活应用于各种优化任务。
preview
头脑风暴优化算法(第一部分):聚类

头脑风暴优化算法(第一部分):聚类

在本文中,我们将探讨一种受自然现象“头脑风暴”启发的新型优化方法——头脑风暴优化(Brain Storm Optimization,简称BSO)。我们还将讨论BSO方法所应用的一种解决多模态优化问题的新方法。该方法能够在无需预先确定子种群数量的情况下,找到多个最优解。此外,我们还会考虑K-Means和K-Means++聚类方法。
preview
开发回放系统(第 43 部分):Chart Trade 项目(II)

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

大多数想要或梦想学习编程的人实际上并不知道自己在做什么。他们的活动包括试图以某种方式创造事物。然而,编程并不是为了定制合适的解决方案。这样做会产生更多的问题而不是解决方案。在这里,我们将做一些更高级、更与众不同的事情。
preview
数据科学和机器学习(第 30 部分):预测股票市场的幂对、卷积神经网络(CNN)、和递归神经网络(RNN)

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

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

交易中的神经网络:点云分析(PointNet)

直接分析点云避免了不必要的数据增长,并改进了模型在分类和任务分段时的性能。如此方式对于原始数据中的扰动展现出高性能和稳健性。
preview
神经网络变得简单(第 80 部分):图形变换器生成式对抗模型(GTGAN)

神经网络变得简单(第 80 部分):图形变换器生成式对抗模型(GTGAN)

在本文中,我将领略 GTGAN 算法,该算法于 2024 年 1 月推出,是为解决依据图形约束生成架构布局的复杂问题。
preview
开发回放系统(第 52 部分):事情变得复杂(四)

开发回放系统(第 52 部分):事情变得复杂(四)

在本文中,我们将修改鼠标指针,以实现与控制指标的交互,确保可靠、稳定地运行。
preview
随机数生成器质量对优化算法效率的影响

随机数生成器质量对优化算法效率的影响

在这篇文章中,我们将探讨梅森旋转算法(Mersenne Twister)随机数生成器,并将其与MQL5中的标准随机数生成器进行比较。此外,我们还将研究随机数生成器的质量对优化算法结果的影响。
preview
数据科学和机器学习(第 21 部分):解锁神经网络,优化算法揭秘

数据科学和机器学习(第 21 部分):解锁神经网络,优化算法揭秘

深入神经网络的心脏,我们将揭秘神经网络内部所用的优化算法。在本文中,探索解锁神经网络全部潜力的关键技术,把您的模型准确性和效率推向新的高度。
preview
探索 MQL5 中的密码学:深入浅出的方法阐述

探索 MQL5 中的密码学:深入浅出的方法阐述

本文探讨了在 MQL5 中整合密码学技术,以增强交易算法的安全性和功能性。文章将涵盖关键的密码学方法及其在自动化交易中的实际应用。
preview
神经网络实践:直线函数

神经网络实践:直线函数

在本文中,我们将快速了解一些方法,以获得可以在数据库中表示数据的函数。我不会详细介绍如何使用统计和概率研究来解释结果。让我们把它留给那些真正想深入研究数学方面的人。探索这些问题对于理解研究神经网络所涉及的内容至关重要。在这里,我们将非常冷静地探讨这个问题。
preview
分歧问题:深入探讨人工智能的复杂性可解释性

分歧问题:深入探讨人工智能的复杂性可解释性

在这篇文章中,我们将探讨理解人工智能如何工作的挑战。人工智能模型经常会以难以解释的方式做出决策,这就是所谓的 "分歧问题"。这个问题是提高人工智能透明度和可信度的关键。
preview
为 Metatrader 5 开发 MQTT 客户端:TDD 方法 - 第 5 部分

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

本文是系列文章的第五部分,介绍了我们为 MQTT 5.0 协议开发本地 MQL5 客户端的步骤。在这一部分中,我们将介绍 PUBLISH 数据包的结构、如何设置其发布标志(Publish Flag)、如何对主题名称(Topic Name)字符串进行编码,以及在需要时如何设置数据包标识符(Packet Identifier)。
preview
基于套接字(Sockets)的Twitter情绪分析

基于套接字(Sockets)的Twitter情绪分析

这种创新的交易机器人将 MetaTrader 5 与 Python 结合,利用实时社交媒体情绪分析为自动化交易决策提供支持。通过分析与特定金融工具相关的 Twitter 情绪,该机器人将社交媒体趋势转化为可操作的交易信号。它采用客户端-服务器架构,并通过套接字通信实现无缝交互,将 MT5 的交易能力与 Python 的数据处理能力完美结合。该系统展示了将量化金融与自然语言处理相结合的潜力,提供了一种利用替代数据源的尖端算法交易方法。尽管显示出巨大潜力,但该机器人也突显了未来改进的方向,包括采用更先进的情绪分析技术以及改进风险管理策略。
preview
交易中的神经网络:点云的层次化特征学习

交易中的神经网络:点云的层次化特征学习

我们继续研究从点云提取特征的算法。在本文中,我们将领略提升 PointNet 方法效率的机制。
preview
让新闻交易轻松上手(第五部分):执行交易(2)

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

本文将扩展交易管理类,以包含用于交易新闻事件的买入止损(buy-stop)和卖出止损(sell-stop)订单,并为这些订单添加过期时间限制,以防止隔夜交易。在EA中嵌入一个滑点函数,以尝试防止或最小化在交易中使用止损订单时可能发生的滑点,特别是在新闻事件期间。
preview
神经网络实践:割线

神经网络实践:割线

正如理论部分已经解释的那样,在使用神经网络时,我们需要使用线性回归和导数。为什么呢?原因是线性回归是现存最简单的公式之一。从本质上讲,线性回归只是一种仿射函数。然而,当我们谈论神经网络时,我们对直接线性回归的影响并不感兴趣。我们感兴趣的是生成这条直线的方程。我们对创建出的线并不感兴趣。你知道我们需要理解的主要方程吗?如果没有,我建议您阅读这篇文章来了解它。
preview
基于人工生态系统的优化(AEO)算法

基于人工生态系统的优化(AEO)算法

本文探讨了一种元启发式算法——基于人工生态系统的优化(Artificial Ecosystem-based Optimization, AEO)算法。该算法通过生成初始解种群并应用自适应更新策略,模拟生态系统各组成部分之间的相互作用。文中详细阐述了AEO算法的运行阶段,包括消耗阶段与分解阶段,以及不同智能体的行为策略。文章还介绍了该算法的特点和优势。
preview
种群优化算法:改变概率分布的形状和位移,并基于智能头足类生物(SC)进行测试

种群优化算法:改变概率分布的形状和位移,并基于智能头足类生物(SC)进行测试

本文研究了改变概率分布形状对优化算法性能的影响。我们将进行的实验,会用到智能头足类生物(SC)测试算法,从而评估优化问题背景下各种概率分布的效能。
preview
Connexus的头(第三部分):掌握HTTP请求头的使用方法

Connexus的头(第三部分):掌握HTTP请求头的使用方法

我们继续开发Connexus库。在本章中,我们探讨HTTP协议中请求头的概念,解释它们是什么、它们的用途以及如何在请求中使用它们。我们将涵盖用于与API通信的主要头信息,并展示了如何在库中配置它们的实例。
preview
如何使用 Controls 类创建交互式 MQL5 仪表盘/面板(第 2 部分):添加按钮响应。

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

在本文中,我们将聚焦于实现按钮的响应,把静态的 MQL5 面板转变为一个交互式工具。我们将探讨如何自动化 GUI 组件的功能,确保它们能够恰当地响应用户的点击操作。最终,我们将建立一个动态界面,提升交互性和交易体验。
preview
您应当知道的 MQL5 向导技术(第 12 部分):牛顿多项式

您应当知道的 MQL5 向导技术(第 12 部分):牛顿多项式

牛顿多项式,其依据一组少量点创建二次方程,是一种古老但有趣的时间序列观察方式。在本文中,我们尝试探讨这种方式在哪些方面对交易者有用,并解决其局限性。
preview
使用图表可视化交易(第一部分):选择分析时段

使用图表可视化交易(第一部分):选择分析时段

在这里,我们将从头开始编写一个脚本,以简化卸载交易截图用于分析交易入场点的过程。能够方便地将所有关于单个交易的必要信息展示在一个图表上,并且该图表可以根据不同时间周期绘制。
preview
基于Python和MQL5的特征工程(第二部分):价格角度

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

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