MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
价格行为分析工具包开发(第 35 部分):预测模型训练与部署

价格行为分析工具包开发(第 35 部分):预测模型训练与部署

历史行情数据绝非 “无用糟粕”,而是所有稳健市场分析的根基。本文将带您循序渐进,从历史数据采集入手,利用数据训练预测模型,最终完成模型部署,实盘价格预测落地应用。继续往下阅读,掌握完整实现流程!
preview
从基础到中级:事件(一)

从基础到中级:事件(一)

鉴于目前所展示的一切,我认为我们现在可以开始实现某种应用程序,以便直接在图表上运行某些交易品种。然而,首先我们需要讨论一个对初学者来说可能相当困惑的概念。也就是说,在 MQL5 中开发并用于在图表上显示的应用程序的创建方式与我们迄今为止看到的不同。在本文中,我们将开始更好地理解这一点。
preview
MQL5 简介(第 14 部分):构建自定义指标的初学者指南(三)

MQL5 简介(第 14 部分):构建自定义指标的初学者指南(三)

学习如何使用图表对象在 MQL5 中构建谐波形态指标。了解如何检测波动点、应用斐波那契回撤线以及自动识别形态。
preview
价格行为分析工具包开发(第三十三部分):K线区间理论工具

价格行为分析工具包开发(第三十三部分):K线区间理论工具

提升您对市场的解读能力,这款适用于MetaTrader 5的K线区间理论套件是完全原生的MQL5解决方案,能将原始K线数据转化为实时波动率情报。轻量级的CRangePattern库会将每根K线的真实波幅与自适应ATR进行基准对比,并在K线收盘的瞬间完成形态分类;CRT指标随后会将这些分类结果以清晰的彩色矩形和箭头形式呈现在图表上,实时揭示市场的缩量盘整、强势突破以及全区间吞没形态。
preview
从基础到中级:递归

从基础到中级:递归

在本文中,我们将探讨一个非常有趣且颇具挑战性的编程概念,尽管应该非常谨慎地对待它,因为它的误用或误解会将相对简单的程序变成不必要的复杂程序。但是,当正确使用并完全适应同样合适的情况时,递归成为解决问题的绝佳盟友,否则这些问题会更加费力和耗时。此处提供的材料仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
在交易图表上通过资源驱动的双三次插值图像缩放技术创建动态 MQL5 图形界面

在交易图表上通过资源驱动的双三次插值图像缩放技术创建动态 MQL5 图形界面

本文探讨了动态 MQL5 图形界面,利用双三次插值技术在交易图表上实现高质量的图像缩放。我们详细介绍了灵活的定位选项,支持通过自定义偏移量实现动态居中或位置定位。
preview
从基础到中级:指标(二)

从基础到中级:指标(二)

在本文中,我们将研究如何实现移动平均值计算,以及在执行此计算时应该采取哪些预防措施。我们还将讨论如何重载 OnCalculate 函数,以便了解何时以及如何使用不同的模型。
preview
计算机视觉在MQL5中的集成(第一部分):构建基础函数

计算机视觉在MQL5中的集成(第一部分):构建基础函数

基于计算机视觉与深度学习的欧元兑美元(EURUSD)汇率预测系统。探索卷积神经网络(CNN)如何识别外汇市场中的复杂价格形态,并实现最高达54%的汇率波动预测准确率。本文将分享一种突破传统技术指标的算法设计方法 —— 通过人工智能(AI)技术对K线图进行可视化分析。作者演示了将价格数据转换为“图像”的过程、神经网络的处理流程,以及通过激活热力图和注意力热图窥视AI“思维”的独特机会。通过基于MetaTrader 5库的Python实践代码,读者可完整复现系统并将其应用于自身的交易中。
preview
在训练中激活神经元的函数:快速收敛的关键?

在训练中激活神经元的函数:快速收敛的关键?

本文研究了在神经网络训练背景下,不同激活函数与优化算法之间的相互作用。我们特别关注了经典的 ADAM 算法及其种群版本在处理多种激活函数(包括振荡的 ACON 和 Snake 函数)时的表现。通过使用一个极简的 MLP (1-1-1) 架构和单个训练样本,我们将激活函数对优化的影响与其他因素隔离开来。文章提出了一种通过激活函数边界来管理网络权重的方法,以及一种权重反射机制,这有助于避免训练中的饱和和停滞问题。
preview
精通日志记录(第五部分):通过缓存和轮转优化处理程序

精通日志记录(第五部分):通过缓存和轮转优化处理程序

本文通过为处理器添加格式化器、引入用于管理执行周期的 CIntervalWatcher 类、以及采用缓存和文件轮转进行优化,并辅以性能测试和实际示例,从而改进了该日志库。通过这些改进,我们确保了一个高效、可扩展且能适应不同开发场景的日志系统。
preview
您应当知道的 MQL5 向导技术(第 58 部分):配以移动平均和随机振荡器形态的强化学习(DDPG)

您应当知道的 MQL5 向导技术(第 58 部分):配以移动平均和随机振荡器形态的强化学习(DDPG)

移动平均线和随机振荡器是十分常用的指标,我们在前一篇文章中探讨了它们的共通形态,并通过监督学习网络,见识了哪些“形态能粘附”。我们自该文加以分析,进一步研究当使用该已训练网络时,强化学习的效能。读者应当注意,我们的测试时间窗口非常有限。无论如何,我们在展示这一点时,会继续追求由 MQL5 向导提供最低编码需求。
preview
神经网络实践:绘制神经元

神经网络实践:绘制神经元

在本文中,我们将构建一个基本神经元。虽然它看起来很简单,许多人可能会认为这段代码完全微不足道,毫无意义,但我希望你在学习这个简单的神经元草图时能玩得开心。不要害怕修改代码,完全理解它才是目标。
preview
混沌优化算法(COA):续篇

混沌优化算法(COA):续篇

我们继续对混沌优化算法进行讲解。本文第二部分将介绍该算法实现的实操细节、测试过程及相关结论。
preview
MQL5自优化智能交易系统(第八部分):多策略分析(3)—— 加权投票机制

MQL5自优化智能交易系统(第八部分):多策略分析(3)—— 加权投票机制

本文将探讨如何确定集成策略中最优的策略数量 —— 这是一个复杂问题,而借助MetaTrader 5的遗传算法优化器可以轻松解决。同时,我们也会使用MQL5云端计算作为核心资源,加速回测与优化过程。具体而言,本篇内容将为后续开发统计评估模型奠定基础,用于基于初始集成结果评估并改进交易策略。
preview
日志记录精通指南(第三部分):探索日志处理器(Handlers)实现方案

日志记录精通指南(第三部分):探索日志处理器(Handlers)实现方案

在本文中,我们将探索日志库中"处理器"(handlers)的概念,理解其工作原理,并创建三种基础实现:控制台、数据库和文件。我们将覆盖从处理器的基本结构到实际测试,为后续文章中的完整功能实现奠定基础。
preview
成功餐饮经营者算法(SRA)

成功餐饮经营者算法(SRA)

成功餐饮经营者算法(SRA)是一种受餐饮业管理原则启发的创新优化方法。与传统方法不同,SRA不会直接淘汰劣质解,而是通过融合优质解的元素对其进行改进。该算法在优化问题中展现出极具竞争力的表现,并为平衡探索与利用提供了全新视角。
preview
您应当知道的 MQL5 向导技术(第 55 部分):配备优先经验回放的 SAC

您应当知道的 MQL5 向导技术(第 55 部分):配备优先经验回放的 SAC

强化学习中的回放缓冲区对于像 DQN 或 SAC 这样的无政策算法尤为重要。这样就会聚光在该记忆缓冲区的抽样过程。举例,SAC 默认选项从该缓冲区随机选择,而优先经验回放缓冲区则基于 TD 分数从缓冲区中抽样对其优调。我们回顾强化学习的重要性,并一如既往,在由向导汇编的智能系统中验证这一假设(而‘非交叉验证)。
preview
人工部落算法(ATA)

人工部落算法(ATA)

文章提供了 ATA 优化算法关键组成部分和创新的详细讨论,其为一种进化方法,具有独特的双重行为系统,可根据状况进行调整。ATA 结合了个体和社会学习,同时使用交叉进行探索和迁徙,从而在陷入局部最优时找到解。
preview
纯 MQL5 货币对强弱指标

纯 MQL5 货币对强弱指标

我们将在 MQL5 中开发货币强势分析的专业指标。这本分步指南将向你展示如何为 MetaTrader 5 开发一款功能强大的交易工具,该工具带有可视化仪表板。您将学习如何计算多个时间周期(H1、H4、D1)内货币对的强度,实现动态数据更新,并创建用户友好的界面。
preview
开发多币种 EA 交易(第 22 部分):开始向设置的热插拔过渡

开发多币种 EA 交易(第 22 部分):开始向设置的热插拔过渡

如果要自动进行周期性优化,我们需要考虑自动更新交易账户上已经运行的 EA 设置。这样一来,我们就可以在策略测试器中运行 EA,并在单次运行中更改其设置。
preview
交易中的神经网络:配备概念强化的多智代系统(FinCon)

交易中的神经网络:配备概念强化的多智代系统(FinCon)

我们邀您探索 FinCon 框架,这是一款基于大语言模型(LLM)的多智代系统。该框架利用概念性词汇强化来提升决策制定和风险管理,能在多种金融任务中有高效表现。
preview
交易中的神经网络:层次化双塔变换器(终篇)

交易中的神经网络:层次化双塔变换器(终篇)

我们继续构建 Hidformer 层次化双塔变换器模型,专为分析和预测复杂多变量时间序列而设计。在本文中,我们会把早前就开始的工作推向逻辑结局 — 我们将在真实历史数据上测试模型。
preview
您应当知道的 MQL5 向导技术(第 62 部分):结合 ADX 与 CCI 形态的强化学习 TRPO

您应当知道的 MQL5 向导技术(第 62 部分):结合 ADX 与 CCI 形态的强化学习 TRPO

ADX 振荡器和 CCI 振荡器是趋势跟踪和动量指标,可在开发智能系统时配对。我们延续上一篇文章未竟的话题,实证如何得益于强化学习来实际运用训练、并更新我们已开发的模型。我们正在使用的算法尚未在本系列中涵盖,其称为可信区域政策优化。一如既往,由 MQL5 向导汇编的智能系统令我们能够更快地搭建测试模型,且可配合不同类型信号进行测试、并派发。
preview
皇冠同花顺优化(RFO)

皇冠同花顺优化(RFO)

最初的皇冠同花顺优化算法提供了一种解决优化问题的新方法,受到扑克牌原则启发,以基于扇区的方式取代了传统的遗传二进制编码算法。RFO 展现出简化的基本原理如何带来高效、且实用的优化方法。文章呈现了一份详细的算法分析和测试结果。
preview
MQL5经济日历交易指南(第九部分):通过动态滚动条与界面优化提升新闻交互体验

MQL5经济日历交易指南(第九部分):通过动态滚动条与界面优化提升新闻交互体验

本文中,我们为MQL5经济日历添加了动态滚动条功能,使用户直观快速浏览新闻事件。确保事件展示界面无卡顿且数据更新高效。并通过测试验证滚动条的响应性与仪表盘的美观度。
preview
从基础到中级:模板和类型名称(四)

从基础到中级:模板和类型名称(四)

在本文中,我们将非常仔细地研究如何解决上一篇文章末尾提出的问题。尝试创建这种类型的模板,以便能够创建数据联合的模板。
preview
MQL5中用于预测与分类评估的重采样技术

MQL5中用于预测与分类评估的重采样技术

本文将探讨并实现一种方法:利用单一数据集同时作为训练集和验证集,来评估模型质量。
preview
市场模拟(第 11 部分):套接字(五)

市场模拟(第 11 部分):套接字(五)

我们开始实现 Excel 和 MetaTrader 5 之间的连接,但首先我们需要了解一些关键点。这样,你就不必绞尽脑汁去弄清楚为什么有些东西有效或无效。在您对集成 Python 和 Excel 的前景感到沮丧之前,让我们看看如何(在某种程度上)使用 xlwings 通过 Excel 控制 MetaTrader 5。我们在这里展示的内容将主要集中在教育目标上。但是,不要以为我们只能做这里涵盖的事情。
preview
您应当知道的 MQL5 向导技术(第 63 部分):运用 DeMarker 和包络通道形态

您应当知道的 MQL5 向导技术(第 63 部分):运用 DeMarker 和包络通道形态

DeMarker 振荡器和包络指标是动量和支撑/阻力工具,能够在开发智能系统时配对。因此,我们逐一实证哪些形态能够实用,哪些潜在要回避。我们一如既往地使用由向导汇编的智能系统,伴同在信号类中内置的形态用法函数。
preview
金融时间序列中的保形预测探索

金融时间序列中的保形预测探索

本文将介绍保形预测(conformal predictions)及其实现库MAPIE。这是一种较新的机器学习方法,重点不在于发现数据规律,而在于为现有模型提供风险管理与不确定性量化能力。保形预测本身并非用于挖掘数据中的规律,而仅用于评估现有模型对特定样本预测的置信度,并筛选出可靠的预测结果。
preview
市场模拟(第九部分):套接字(三)

市场模拟(第九部分):套接字(三)

今天的文章是上一篇文章的延续。我们将研究 EA 交易的实现,主要关注服务器代码的执行方式。上一篇文章中给出的代码不足以使一切按预期工作,因此我们需要更深入地挖掘它。因此,有必要阅读这两篇文章,以便更好地了解会发生什么。
preview
从基础到中级:数组和字符串(二)

从基础到中级:数组和字符串(二)

在本文中,我将展示,尽管我们仍处于编程的一个非常基本的阶段,但我们已经可以实现一些有趣的应用程序。在这种情况下,我们将创建一个相当简单的密码生成器。通过这种方式,我们将能够应用到目前为止已经解释过的一些概念。此外,我们将研究如何为一些具体问题制定解决方案。
preview
交易中的神经网络:层次化双塔变换器(Hidformer)

交易中的神经网络:层次化双塔变换器(Hidformer)

我们邀请您来领略层次化双塔变换器(Hidmer)框架,其专为时间序列预测和数据分析而开发。框架作者提出了若干变换器架构改进方案,其成果提高了预测准确性、并降低了计算资源消耗。
preview
博弈论方法在交易算法中的应用

博弈论方法在交易算法中的应用

我们正在基于深度Q网络(DQN)机器学习技术,结合多维因果推理,开发一款自适应、自学习的交易 EA。该 EA 将能够同时成功交易 7 个货币对。不同货币对的智能体之间会相互交换信息。
preview
从基础到中级:模板和类型名称(三)

从基础到中级:模板和类型名称(三)

在本文中,我们将讨论该主题的第一部分,这对初学者来说并不容易理解。为了避免更加困惑并正确解释这个话题,我们将把解释分为几个阶段。我们将把这篇文章用于第一阶段。然而,尽管在本文末尾,我们似乎已经陷入僵局,但事实上,我们将朝着另一种情况迈出一步,这将在下一篇文章中得到更好的理解。
preview
您应当知道的 MQL5 向导技术(第 59 部分):配以移动平均和随机振荡器形态的强化学习(DDPG)

您应当知道的 MQL5 向导技术(第 59 部分):配以移动平均和随机振荡器形态的强化学习(DDPG)

我们继续上一篇文章中有关配以 MA 和随机振荡器指标的 DDPG 话题,探讨实现 DDPG 时其他关键的强化学习类。尽管我们大多用 Python 编码,但最终产品是把训练好的网络导出为 ONNX 格式,我们会将它集成到由向导汇编的 MQL5 智能系统中作为资源。
preview
一维奇异谱分析(SSA)

一维奇异谱分析(SSA)

本文探讨了奇异谱分析(SSA)方法的理论与实践,该方法是一种高效的时间序列分析工具,能够将复杂序列的结构分解为趋势、季节性(周期性)波动及噪声等简单成分。
preview
市场模拟(第 13 部分):套接字(七)

市场模拟(第 13 部分):套接字(七)

当我们在 xlwings 或任何其他允许直接读写 Excel 的软件包中开发某些内容时,我们必须注意,所有程序、函数或过程都是执行之后就完成了其任务。无论我们如何努力改变工作方式,它们都不会一直处于循环之中。
preview
价格走势角度分析:用于预测金融市场的混合模型

价格走势角度分析:用于预测金融市场的混合模型

什么是金融市场角度分析?如何利用价格变动角度和机器学习实现准确率达 67% 的精准预测?如何将回归和分类模型与角度特征相结合,并获得一个可运行的算法?这与江恩理论有什么关系?为什么价格走势角度是机器学习的良好指标?
preview
精通日志记录(第七部分):如何在图表上显示日志

精通日志记录(第七部分):如何在图表上显示日志

了解如何在MetaTrader图表上以条理清晰的方式直接显示日志,包括边框、标题和自动 滚动功能。本文将演示如何用MQL5打造可视化日志系统,助您实时监控交易机器人的运行状态。