MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
开发回放系统(第 44 部分):Chart Trader 项目(三)

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

在上一篇文章中,我介绍了如何操作模板数据以便在 OBJ_CHART 中使用。在那篇文章中,我只是概述了这一主题,并没有深入探讨细节,因为在那个版本中,这项工作是以非常简单的方式完成的。这样做是为了更容易解释内容,因为尽管很多事情表面上很简单,但其中有些并不那么明显,如果不了解最简单、最基本的部分,就无法真正理解全局。
preview
从新手到专家:使用 MQL5 制作动画新闻标题(六)—— 新闻交易的挂单策略

从新手到专家:使用 MQL5 制作动画新闻标题(六)—— 新闻交易的挂单策略

在本文中,我们将重点转移到整合新闻驱动的订单执行逻辑 —— 使 EA 能够采取行动,而不仅仅是提供信息。加入我们,一起探索如何在 MQL5 中实现自动交易执行,并将 News Headline EA 扩展为一个完全响应式的交易系统。由于 EA 交易支持多种功能,因此为算法开发人员提供了显著优势。到目前为止,我们一直专注于构建新闻和日历事件展示工具,其中包含集成的 AI 洞察通道和技术指标洞察。
preview
自适应社会行为优化(ASBO):Schwefel函数与Box-Muller方法

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

本文深入探讨了生物体的社会行为及其对新型数学模型——自适应社会行为优化(ASBO)创建的影响,为我们呈现了一个引人入胜的世界。我们将研究生物社会中观察到的领导、近邻和合作原则如何激发创新优化算法的开发。
preview
神经网络变得简单(第 81 部分):上下文引导运动分析(CCMR)

神经网络变得简单(第 81 部分):上下文引导运动分析(CCMR)

在以前的工作中,我们总是评估环境的当前状态。与此同时,指标变化的动态始终保持在“幕后”。在本文中,我打算向您介绍一种算法,其允许您评估 2 个连续环境状态数据之间的直接变化。
preview
DoEasy.服务函数(第 3 部分):外包线形态

DoEasy.服务函数(第 3 部分):外包线形态

在本文中,我们将开发 DoEasy 库中的外包线(Outside Bar)价格行为形态,并优化访问价格形态管理的方法。此外,我们将修复在库测试中发现的错误和缺点。
preview
为 Metatrader 5 开发 MQTT 客户端:TDD 方法 - 第 6 部分

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

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

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

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

细菌趋化优化(BCO)

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

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

在本文中,我们将了解如何正确有效地使用 CustomBookAdd 函数。尽管它看起来很简单,但它有许多细微差别。例如,它允许您告诉鼠标指标自定义交易品种是否正在竞价、交易或市场是否关闭。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
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
您应当知道的 MQL5 向导技术(第 21 部分):配以财经日历数据进行测试

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

默认情况下,财经日历数据在策略测试器中不可用于智能系统测试。我们看看数据库能如何提供帮助,绕过这个限制。故此,在本文中,我们会探讨如何使用 SQLite 数据库来存档财经日历新闻,如此这般,由向导组装的智能系统就可以用它来生成交易信号。
preview
价格行为分析工具包开发(第二十六部分):针形线、吞没形态与RSI背离(多模式)工具

价格行为分析工具包开发(第二十六部分):针形线、吞没形态与RSI背离(多模式)工具

与我们开发实用型价格行为工具的初衷相一致,本文将探讨如何开发一款 EA。该 EA 能够识别 Pin Bar 和吞没形态,并利用 RSI 背离作为确认信号,仅在条件满足时生成交易提示。
preview
您应当知道的 MQL5 向导技术(第 19 部分):贝叶斯(Bayesian)推理

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

贝叶斯(Bayesian)推理是运用贝叶斯定理,在获得新信息时更新概率假设。这在直观上倾向于时间序列分析中的适应性,那么我们来看看如何运用它来构建自定义类,不仅针对信号,还有资金管理、和尾随破位。
preview
非洲水牛优化(ABO)

非洲水牛优化(ABO)

本文介绍了非洲水牛优化(ABO)算法,这是一种于2015年开发的元启发式方法,基于这些动物的独特行为。文章详细描述了算法实现的各个阶段及其在解决复杂问题时的效率,这使得它成为优化领域中一个有价值的工具。
preview
从基础到中级:Include 指令

从基础到中级:Include 指令

在今天的文章中,我们将讨论一个在 MQL5 中可以找到的各种代码中广泛使用的编译指令。虽然这里对这个指令的解释相当肤浅,但重要的是你要开始了解如何使用它,因为随着你进入更高层次的编程,它很快就会变得不可或缺。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
迁移至 MQL5 Algo Forge(第 3 部分):在您自己的项目中使用外部仓库

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

让我们探索如何开始将 MQL5 Algo Forge 存储中任何仓库的外部代码集成到您自己的项目中。在本文中,我们最后转向这个有前景但更复杂的任务:如何在 MQL5 Algo Forge 中实际连接和使用来自第三方仓库的库。
preview
为 Metatrader 5 开发MQTT客户端:TDD方法——第4部分

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

本文是一系列文章的第四部分,介绍了我们为 MQTT 协议开发本机 MQL5 客户端的步骤。在这一部分中,我们将描述什么是 MQTT v5.0 属性,它们的语义,以及我们如何阅读其中的一些属性,并提供一个如何使用属性来扩展协议的简短示例。
preview
在MQL5中创建交易管理面板(第九部分):代码组织(5):分析面板(AnalyticsPanel)类

在MQL5中创建交易管理面板(第九部分):代码组织(5):分析面板(AnalyticsPanel)类

在本文中,我们将探讨如何获取实时市场数据和交易账户信息,执行各种计算,并将结果展示在自定义面板上。为此,我们将深入开发一个分析面板(AnalyticsPanel)类,该类封装了所有这些功能,包括面板创建功能。这项工作是我们正在进行的新建管理面板智能交易系统(EA)扩展工作的一部分,旨在运用模块化设计原则和代码组织的最佳实践来引入高级功能。
preview
种群优化算法:模拟退火(SA)。第 1 部分

种群优化算法:模拟退火(SA)。第 1 部分

模拟退火算法是受到金属退火工艺启发的一种元启发式算法。在本文中,我们将对算法进行全面分析,并揭示围绕这种广为人知的优化方法的一些常见信仰和神话。本文的第二部分将研究自定义模拟各向同性退火(SIA)算法。
preview
交易中的神经网络:点云变换器(Pointformer)

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

在本文中,我们将说道有关使用注意力方法解决点云中物体检测问题的算法。点云中的物体检测对于很多现世应用都很重要。
preview
交易中的神经网络:广义 3D 引用表达分段

交易中的神经网络:广义 3D 引用表达分段

在分析市场状况时,我们将其切分为不同的段落,标识关键趋势。然而,传统的分析方法往往只关注一个层面,从而限制了正确的感知。在本文中,我们将学习一种方法,可选择多个对象,以确保对形势进行更全面、及多层次的理解。
preview
您应当知道的 MQL5 向导技术(第 50 部分):动量振荡器

您应当知道的 MQL5 向导技术(第 50 部分):动量振荡器

动量振荡器是另一个用于衡量动量的比尔·威廉姆斯(Bill Williams)指标。它能生成多个信号,因此我们像之前的文章一样,利用 MQL5 向导类和汇编,在形态基础上审查这些信号。
preview
使用 Python 创建波动率预测指标

使用 Python 创建波动率预测指标

在本文中,我们将使用二元分类来预测未来的极端波动。此外,我们将利用机器学习开发极端波动预测指标。
preview
DoEasy. 控件 (第 22 部分): SplitContainer。 修改已创建对象的属性

DoEasy. 控件 (第 22 部分): SplitContainer。 修改已创建对象的属性

在本文中,我将实现更改新近创建的 SplitContainer 控件的属性和外观的功能。
preview
神经网络变得简单(第 97 部分):搭配 MSFformer 训练模型

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

在探索各种模型架构设计时,我们往往对模型训练过程的关注投入不足。在本文中,我旨在弥补这一差距。
preview
开发回放系统(第 43 部分):Chart Trade 项目(II)

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

大多数想要或梦想学习编程的人实际上并不知道自己在做什么。他们的活动包括试图以某种方式创造事物。然而,编程并不是为了定制合适的解决方案。这样做会产生更多的问题而不是解决方案。在这里,我们将做一些更高级、更与众不同的事情。
preview
开发回放系统(第 49 部分):事情变得复杂 (一)

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

在本文中,我们将把问题复杂化。通过前面文章中展示的内容,我们将开始打开模板文件,以便用户可以使用自己的模板。不过,我将逐步进行修改,因为我还将改进指标,以减少 MetaTrader 5 的负载。
preview
交易中的神经网络:具有相对编码的变换器

交易中的神经网络:具有相对编码的变换器

自我监督学习是分析大量无标签数据的有效方法。通过令模型适应金融市场的特定特征来提供效率,这有助于提升传统方法的有效性。本文讲述了一种替代的注意力机制,它参考输入之间的相对依赖关系。
preview
大气云模型优化(ACMO):实战

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

在本文中,我们将继续深入研究大气云模型优化(ACMO)算法的实现。特别是,我们将讨论两个关键方面:云向低压区域的移动以及降雨模拟,包括液滴的初始化及其在云中的分布。我们还将研究其他在管理云的状态以及确保它们与环境相互作用方面发挥重要作用的方法。
preview
交易中的神经网络:搭配预测编码的混合交易框架(终篇)

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

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

MQL5交易工具(第三部分):构建用于策略交易的多时间周期扫描仪表盘

在本文中,我们将使用MQL5构建一个多时间周期扫描仪表盘,用于展示实时交易信号。我们设计了一个交互式网格界面,利用多种指标实现信号计算,并添加了关闭按钮。文章结尾将介绍回测结果以及该仪表盘在策略交易中的优势。
preview
从基础到中级:数组(三)

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

在本文中,我们将介绍如何在 MQL5 中使用数组,包括如何使用数组在函数和过程之间传递信息。目的是为您准备在本系列后续材料中演示和解释的内容。因此,我强烈建议您仔细研究本文将展示的内容。
preview
神经Boid优化算法2(NOA2)

神经Boid优化算法2(NOA2)

新型专有优化算法NOA2融合了种群智能原理与神经控制机制。NOA2将神经Boid的运动机制与自适应神经系统结合,使智能体在搜索最优解的过程中能够自我修正其行为。该算法目前正处于积极开发阶段,展现出对于解决复杂优化问题的潜力。
preview
循环孤雌生殖算法(CPA)

循环孤雌生殖算法(CPA)

本文提出了一种新的群体优化算法——循环孤雌生殖算法(CPA),其灵感源自蚜虫独特的生殖策略。该算法融合了两种生殖机制:孤雌生殖(无性繁殖)与有性生殖,并借助蚜虫的群体结构以及群体间的迁徙能力。算法的核心特点包括:在不同生殖策略之间自适应切换和通过“迁飞”机制实现群体间的信息交换。
preview
在 MetaTrader 5 中交易的可视评估和调整

在 MetaTrader 5 中交易的可视评估和调整

策略测试器允许您所做的不光是优化交易机器人的参数。我将展示如何在事后评估您账户的交易历史,并通过在测试器中更改持仓的止损来调整您的交易。
preview
突破机器学习的局限(第一部分):缺乏可互操作的度量指标

突破机器学习的局限(第一部分):缺乏可互操作的度量指标

无论以何种形式构建可靠的人工智能(AI)交易策略,都有一种强大且普遍存在的力量,正悄然地侵蚀着我们社区的集体努力,本文提到,我们所面临的部分问题,源于对“最优实践”的盲目遵循。通过为读者提供基于现实市场的简单证据,我们说明为何必须摒弃这种做法,转而采用特定领域内的最优实践,这样一来,我们的社区才有可能重振AI的潜在力量。
preview
神经网络变得简单(第 91 部分):频域预测(FreDF)

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

我们继续探索时间序列在频域中的分析和预测。在本文中,我们将领略一种在频域中预测数据的新方法,它可被加到我们之前研究过的众多算法当中。
preview
特征向量和特征值:MetaTrader 5 中的探索性数据分析

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

在这篇文章中,我们将探索特征向量和特征值在探索性数据分析中的不同应用方式,以揭示数据中的独特关系。
preview
您应当知道的 MQL5 向导技术(第 51 部分):配以 SAC 的强化学习

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

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

数据科学和机器学习(第 38 部分):外汇市场中的 AI 迁移学习

从 ChatGPT 到自动驾驶汽车,这些占据头条的 AI 突破并非基于孤立模型,而是从各种模型或共同领域积累的知识转化而成。现在,同样“学一次,随处应用”的方式也可帮助我们在算法交易中变换人工智能模型。在本文中,我们会将探讨如何利用从各种工具获取的信息,帮助提升迁移学习的预测效果。