MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
DoEasy. 控件 (第 17 部分): 裁剪对象不可见部分、辅助箭头按钮 WinForms 对象

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

在本文中,我将创建一种功能,可隐藏超出其容器之外的对象部分。 此外,我亦将创建辅助箭头按钮对象,作为其它 WinForms 对象的一部分。
preview
为 Metatrader 5 开发MQTT客户端:TDD方法——第4部分

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

本文是一系列文章的第四部分,介绍了我们为 MQTT 协议开发本机 MQL5 客户端的步骤。在这一部分中,我们将描述什么是 MQTT v5.0 属性,它们的语义,以及我们如何阅读其中的一些属性,并提供一个如何使用属性来扩展协议的简短示例。
preview
迁移至 MQL5 Algo Forge(第 3 部分):在您自己的项目中使用外部仓库

迁移至 MQL5 Algo Forge(第 3 部分):在您自己的项目中使用外部仓库

让我们探索如何开始将 MQL5 Algo Forge 存储中任何仓库的外部代码集成到您自己的项目中。在本文中,我们最后转向这个有前景但更复杂的任务:如何在 MQL5 Algo Forge 中实际连接和使用来自第三方仓库的库。
preview
自适应社会行为优化(ASBO):Schwefel函数与Box-Muller方法

自适应社会行为优化(ASBO):Schwefel函数与Box-Muller方法

本文深入探讨了生物体的社会行为及其对新型数学模型——自适应社会行为优化(ASBO)创建的影响,为我们呈现了一个引人入胜的世界。我们将研究生物社会中观察到的领导、近邻和合作原则如何激发创新优化算法的开发。
preview
开发回放系统(第 39 部分):铺平道路(三)

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

在进入开发的第二阶段之前,我们需要修正一些想法。您知道如何让 MQL5 满足您的需求吗?您是否尝试过超出文档所包含的范围?如果没有,那就做好准备吧。因为我们将做一些大多数人通常不会做的事情。
preview
开发具有 RestAPI 集成的 MQL5 强化学习代理(第 3 部分):在 MQL5 中创建自动移动和测试脚本

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

本文讨论在 Python 中实现井字游戏中的自动移动,并与 MQL5 函数和单元测试集成。目标是通过在 MQL5 中进行测试,提高游戏的互动性并确保系统的可靠性。本文内容包括游戏逻辑开发、集成和实际测试,最后将介绍动态游戏环境和强大集成系统的创建。
preview
创建 MQL5-Telegram 集成 EA 交易(第 4 部分):模块化代码函数以增强可重用性

创建 MQL5-Telegram 集成 EA 交易(第 4 部分):模块化代码函数以增强可重用性

在本文中,我们将现有的用于从 MQL5 向 Telegram 发送消息和截图的代码重构为可重复使用的模块化函数。这将简化流程,实现跨多个实例的更高效执行和更轻松的代码管理。
preview
交易中的神经网络:对比形态变换器(终章)

交易中的神经网络:对比形态变换器(终章)

在本系列的上一篇文章中,我们考察了“原子-基序对比变换器”(AMCT)框架,其用对比学习来发现各个级别的关键形态,从基本元素到复杂结构。在本文中,我们将继续利用 MQL5 实现 AMCT 方式。
preview
外汇掉期套利:构建合成投资组合,创造持续稳定的掉期收益流

外汇掉期套利:构建合成投资组合,创造持续稳定的掉期收益流

您想利用利率差异获利吗?本文将探讨如何通过外汇掉期套利实现每晚稳定盈利,并构建抗市场波动的投资组合。
preview
神经网络变得简单(第 97 部分):搭配 MSFformer 训练模型

神经网络变得简单(第 97 部分):搭配 MSFformer 训练模型

在探索各种模型架构设计时,我们往往对模型训练过程的关注投入不足。在本文中,我旨在弥补这一差距。
preview
构建MQL5自优化智能交易系统(EA)(第四部分):动态头寸规模调整

构建MQL5自优化智能交易系统(EA)(第四部分):动态头寸规模调整

成功运用算法交易需要持续的跨学科学习。然而,无限的可能性可能会耗费数年努力,却无法取得切实成果。为解决这一问题,我们提出一个循序渐进增加复杂性的框架,让交易者能够迭代优化策略,而非将无限时间投入不确定的结果中。
preview
您应当知道的 MQL5 向导技术(第 12 部分):牛顿多项式

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

牛顿多项式,其依据一组少量点创建二次方程,是一种古老但有趣的时间序列观察方式。在本文中,我们尝试探讨这种方式在哪些方面对交易者有用,并解决其局限性。
preview
您应当知道的 MQL5 向导技术(第 21 部分):配以财经日历数据进行测试

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

默认情况下,财经日历数据在策略测试器中不可用于智能系统测试。我们看看数据库能如何提供帮助,绕过这个限制。故此,在本文中,我们会探讨如何使用 SQLite 数据库来存档财经日历新闻,如此这般,由向导组装的智能系统就可以用它来生成交易信号。
preview
细菌趋化优化(BCO)

细菌趋化优化(BCO)

本文介绍了细菌趋化优化(Bacterial Chemotaxis Optimization,简称 BCO)算法的原始版本及其改进版本。我们将详细探讨所有不同之处,特别关注 BCOm 的新版本,该版本简化了细菌的移动机制,减少了对位置历史的依赖,并且使用了比原始版本计算量更小的数学方法。我们还将进行测试并总结结果。
preview
开发回放系统(第 69 部分):取得正确的时间(二)

开发回放系统(第 69 部分):取得正确的时间(二)

今天我们将看看为什么我们需要 iSpread 功能。同时,我们将了解当没有可用的分时报价时,系统如何通知我们柱形的剩余时间。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
从基础到中级:数组(三)

从基础到中级:数组(三)

在本文中,我们将介绍如何在 MQL5 中使用数组,包括如何使用数组在函数和过程之间传递信息。目的是为您准备在本系列后续材料中演示和解释的内容。因此,我强烈建议您仔细研究本文将展示的内容。
preview
开发回放系统(第 72 部分):异常通信(一)

开发回放系统(第 72 部分):异常通信(一)

我们今天创造的东西将很难理解。因此,在这篇文章中,我将只谈论初始阶段。请仔细阅读这篇文章,这是我们继续下一步的重要前提。本材料的目的纯粹是教学性的,因为我们只会学习和掌握所提出的概念,而没有实际应用。
preview
神经网络实践:割线

神经网络实践:割线

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

交易中的神经网络:点云变换器(Pointformer)

在本文中,我们将说道有关使用注意力方法解决点云中物体检测问题的算法。点云中的物体检测对于很多现世应用都很重要。
preview
价格行为分析工具包开发(第九部分):外部数据流

价格行为分析工具包开发(第九部分):外部数据流

本文将利用专为高级分析而设计的外部库,探索一个全新的分析维度。这些库(如pandas)提供了强大的工具,用于处理和解读复杂数据,使交易者能够更深入地洞察市场动态。通过整合此类技术,我们能够整合原始数据与可执行策略之间的差距。加入我们,共同为这一创新方法奠定基础,并释放技术与交易专业知识相结合的潜力。
preview
开发回放系统(第 35 部分):进行调整 (一)

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

在向前迈进之前,我们需要解决几个问题。这些实际上并不是必需的修正,而是对类的管理和使用方式的改进。原因是系统内的某些相互作用导致了故障的发生。尽管我们试图找出这些故障的原因以消除它们,但所有这些尝试都没有成功。其中有些情况完全不合理,例如,当我们在 C/C++ 中使用指针或递归时,程序就会崩溃。
preview
特征向量和特征值:MetaTrader 5 中的探索性数据分析

特征向量和特征值:MetaTrader 5 中的探索性数据分析

在这篇文章中,我们将探索特征向量和特征值在探索性数据分析中的不同应用方式,以揭示数据中的独特关系。
preview
MQL5交易管理面板开发(第十二部分):汇率计算器的集成

MQL5交易管理面板开发(第十二部分):汇率计算器的集成

精准计算核心交易价值,是每位交易者必不可少的日常工作。本文介绍如何将汇率计算器集成至交易管理面板,以此拓展多面板交易管理系统的功能。在执行交易时,快速确定风险敞口、头寸规模及潜在盈利至关重要,这一新功能旨在使面板内参数的计算过程更高效、更直观。让我们共同探索MQL5在构建高级交易面板中的实战应用。
preview
神经网络变得简单(第 72 部分):噪声环境下预测轨迹

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

预测未来状态的品质在“目标条件预测编码”方法中扮演着重要角色,我们曾在上一篇文章中讨论过。在本文中,我想向您介绍一种算法,它可以显著提高随机环境(例如金融市场)中的预测品质。
preview
经典策略重构(第14部分):多策略分析

经典策略重构(第14部分):多策略分析

在本文中,我们继续探讨如何构建多策略组合体系,并使用 MT5 遗传算法优化器对策略参数进行调优。本次我们使用 Python 对数据进行分析,结果表明:我们的模型能更准确地预判哪一个策略会表现更优,其预测精度高于直接预测市场收益率。然而,当我们使用这些统计模型对应用程序进行测试时,性能却大幅下滑。我们随后发现,遗憾的是,遗传优化器偏向了高度相关的策略,这促使我们修改方案:将投票权重固定,转而让优化器专注于优化指标参数。
preview
Connexus的头(第三部分):掌握HTTP请求头的使用方法

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

我们继续开发Connexus库。在本章中,我们探讨HTTP协议中请求头的概念,解释它们是什么、它们的用途以及如何在请求中使用它们。我们将涵盖用于与API通信的主要头信息,并展示了如何在库中配置它们的实例。
preview
使用 MQL5 经济日历进行交易(第三部分):添加货币、重要性和时间过滤器

使用 MQL5 经济日历进行交易(第三部分):添加货币、重要性和时间过滤器

在本文中,我们将在 MQL5 经济日历仪表板中添加过滤器,以便通过货币、重要性和时间来细化新闻事件的显示。我们首先为每个类别建立过滤标准,然后将这些标准集成到仪表板中,以仅显示相关事件。最后,我们确保每个过滤器都能动态更新,为交易者提供专注的、实时的经济信息。
preview
您应当知道的 MQL5 向导技术(第 52 部分):加速器振荡器

您应当知道的 MQL5 向导技术(第 52 部分):加速器振荡器

加速器振荡指标是另一款比尔·威廉姆斯(Bill Williams)指标,它跟踪价格动量的加速,而不光是其速度。尽管很像我们在最近的一篇文章中回顾的动量(Awesome)振荡器,但它更专注于加速度,而不仅是速度,来寻求避免滞后效应。我们一如既往地验证我们可从中获得哪些形态,以及每种形态由向导汇编到智能交易系统后,在交易中具有的意义。
preview
神经网络变得简单(第 91 部分):频域预测(FreDF)

神经网络变得简单(第 91 部分):频域预测(FreDF)

我们继续探索时间序列在频域中的分析和预测。在本文中,我们将领略一种在频域中预测数据的新方法,它可被加到我们之前研究过的众多算法当中。
preview
交易中的神经网络:搭配预测编码的混合交易框架(终篇)

交易中的神经网络:搭配预测编码的混合交易框架(终篇)

我们继续研习 StockFormer 混合交易系统,其结合了预测编码和强化学习算法,来分析金融时间序列。该系统基于三个变换器分支,搭配多样化多头注意力(DMH-Attn)机制,能够捕获资产之间的复杂形态、和相互依赖关系。之前,我们已领略了该框架的理论层面,并实现了 DMH-Attn 机制。今天,我们就来聊聊模型架构和训练。
preview
开发回放系统(第 36 部分):进行调整(二)

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

让我们的程序员生活举步维艰的原因之一就是做出假设。在本文中,我将向您展示假设是多么危险:例如在 MQL5 编程中假设类型将具有某个特定值,或是在 MetaTrader 5 中假设不同服务器的工作方式相同。
preview
您应当知道的 MQL5 向导技术(第 51 部分):配以 SAC 的强化学习

您应当知道的 MQL5 向导技术(第 51 部分):配以 SAC 的强化学习

柔性参与者评论者是一种利用 3 个神经网络的强化学习算法。一名参与者网络和 2 个评论者网络。这些机器学习模型按主从伙伴关系配对,其中所建模评论者能提升参与者网络的预测准确性。在这些序列中引入 ONNX 的同时,我们探讨了如何将这些思路作为由向导汇编的智能系统的自定义信号,推进测试。
preview
金融建模中合成数据的生成式对抗网络(GAN)(第 1 部分):金融建模中的 GAN 与合成数据概述

金融建模中合成数据的生成式对抗网络(GAN)(第 1 部分):金融建模中的 GAN 与合成数据概述

本文向交易者介绍产生合成金融数据的生成式对抗网络(GAN),解决模型训练中的数据限制。它涵盖了 GAN 基础知识、python 和 MQL5 代码实现,以及实际的金融应用,令交易者能够通过合成数据强化模型的准确性和健壮性。
preview
开发回放系统(第 50 部分):事情变得复杂 (二)

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

我们将解决图表 ID 问题,同时开始为用户提供使用个人模板对所需资产进行分析和模拟的能力。此处提供的材料仅用于教学目的,不应被视为除学习和掌握所提供概念以外的任何目的的应用。
preview
开发回放系统(第 52 部分):事情变得复杂(四)

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

在本文中,我们将修改鼠标指针,以实现与控制指标的交互,确保可靠、稳定地运行。
preview
您应当知道的 MQL5 向导技术(第 19 部分):贝叶斯(Bayesian)推理

您应当知道的 MQL5 向导技术(第 19 部分):贝叶斯(Bayesian)推理

贝叶斯(Bayesian)推理是运用贝叶斯定理,在获得新信息时更新概率假设。这在直观上倾向于时间序列分析中的适应性,那么我们来看看如何运用它来构建自定义类,不仅针对信号,还有资金管理、和尾随破位。
preview
您应当知道的 MQL5 向导技术(第 20 部分):符号回归

您应当知道的 MQL5 向导技术(第 20 部分):符号回归

符号回归是一种回归形式,它从最小、甚或没有假设开始,而底层模型看起来应当映射所研究数据集。尽管它可以通过贝叶斯(Bayesian)方法、或神经网络来实现,但我们看看如何使用遗传算法实现,从而有助于在 MQL5 向导中使用自定义的智能信号类。
preview
交易中的神经网络:时间序列的分段线性表示

交易中的神经网络:时间序列的分段线性表示

这篇文章与我以前发表的有些不同。在本文中,我们将谈谈时间序列的另类表示。时间序列的分段线性表示是一种利用涵盖小间隔的线性函数逼近时间序列的方法。
preview
大气云模型优化(ACMO):实战

大气云模型优化(ACMO):实战

在本文中,我们将继续深入研究大气云模型优化(ACMO)算法的实现。特别是,我们将讨论两个关键方面:云向低压区域的移动以及降雨模拟,包括液滴的初始化及其在云中的分布。我们还将研究其他在管理云的状态以及确保它们与环境相互作用方面发挥重要作用的方法。
preview
开发回放系统(第 38 部分):铺路(II)

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

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