MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
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 突破并非基于孤立模型,而是从各种模型或共同领域积累的知识转化而成。现在,同样“学一次,随处应用”的方式也可帮助我们在算法交易中变换人工智能模型。在本文中,我们会将探讨如何利用从各种工具获取的信息,帮助提升迁移学习的预测效果。
preview
人工协作搜索算法 (ACS)

人工协作搜索算法 (ACS)

人工协作搜索算法ACS (Artificial Cooperative Search) 是一种创新方法,它利用二进制矩阵和基于互利共生与合作的多个动态种群来快速准确地找到最优解。ACS在捕食者与猎物问题上的独特处理方法使其能够在数值优化问题中取得卓越成果。
preview
Connexus的头(第三部分):掌握HTTP请求头的使用方法

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

我们继续开发Connexus库。在本章中,我们探讨HTTP协议中请求头的概念,解释它们是什么、它们的用途以及如何在请求中使用它们。我们将涵盖用于与API通信的主要头信息,并展示了如何在库中配置它们的实例。
preview
开发具有 RestAPI 集成的 MQL5 强化学习代理(第 3 部分):在 MQL5 中创建自动移动和测试脚本

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

本文讨论在 Python 中实现井字游戏中的自动移动,并与 MQL5 函数和单元测试集成。目标是通过在 MQL5 中进行测试,提高游戏的互动性并确保系统的可靠性。本文内容包括游戏逻辑开发、集成和实际测试,最后将介绍动态游戏环境和强大集成系统的创建。
preview
交易中的神经网络:对比形态变换器(终章)

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

在本系列的上一篇文章中,我们考察了“原子-基序对比变换器”(AMCT)框架,其用对比学习来发现各个级别的关键形态,从基本元素到复杂结构。在本文中,我们将继续利用 MQL5 实现 AMCT 方式。
preview
神经网络变得简单(第 65 部分):距离加权监督学习(DWSL)

神经网络变得简单(第 65 部分):距离加权监督学习(DWSL)

在本文中,我们将领略一个有趣的算法,它是在监督和强化学习方法的交叉点上构建的。
preview
使用Python与MQL5进行多个交易品种分析(第二部分):主成分分析在投资组合优化中的应用

使用Python与MQL5进行多个交易品种分析(第二部分):主成分分析在投资组合优化中的应用

交易账户风险管理是所有交易者面临的共同挑战。我们如何在MetaTrader 5中开发能够动态学习不同交易品种的高、中、低风险模式的交易应用?通过主成分分析(PCA),我们可以更有效地控制投资组合的方差。本文将演示如何从MetaTrader 5获取的市场数据中,训练出这三种风险模式的交易模型。
preview
开发回放系统(第 72 部分):异常通信(一)

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

我们今天创造的东西将很难理解。因此,在这篇文章中,我将只谈论初始阶段。请仔细阅读这篇文章,这是我们继续下一步的重要前提。本材料的目的纯粹是教学性的,因为我们只会学习和掌握所提出的概念,而没有实际应用。
preview
外汇投资组合优化:风险价值理论与马科维茨理论的融合

外汇投资组合优化:风险价值理论与马科维茨理论的融合

外汇市场中的投资组合交易是如何运作的?我们如何将用于优化投资组合权重的马科维茨投资组合理论与用于优化投资组合风险的VaR模型结合起来?我们基于投资组合理论创建一个EA,一方面,我们将获得低风险;另一方面,获得可接受的长期盈利能力。
preview
MQL5交易策略自动化(第二十二部分):构建基于包络线趋势交易的区间补仓系统

MQL5交易策略自动化(第二十二部分):构建基于包络线趋势交易的区间补仓系统

本文中,我们在MQL5中开发了一个与包络线(Envelopes)趋势交易策略集成的区间补仓系统。我们概述了利用相对强弱指标(RSI)和包络线指标触发交易,并通过管理补仓区域来减轻亏损的架构。通过实现和回测,我们展示了如何为动态市场构建一套有效的自动化交易系统。
preview
神经网络变得简单(第 80 部分):图形变换器生成式对抗模型(GTGAN)

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

在本文中,我将领略 GTGAN 算法,该算法于 2024 年 1 月推出,是为解决依据图形约束生成架构布局的复杂问题。
preview
您应当知道的 MQL5 向导技术(第 20 部分):符号回归

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

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

从基础到中级:操作符

在本文中,我们将介绍主要的操作符。虽然这个主题很容易理解,但在代码格式中包含数学表达式时,有一些要点非常重要。如果不充分了解这些细节,经验很少或没有经验的程序员最终会放弃尝试创建自己的解决方案。
preview
开发回放系统(第 36 部分):进行调整(二)

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

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

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

牛顿多项式,其依据一组少量点创建二次方程,是一种古老但有趣的时间序列观察方式。在本文中,我们尝试探讨这种方式在哪些方面对交易者有用,并解决其局限性。
preview
交易中的神经网络:时间序列的分段线性表示

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

这篇文章与我以前发表的有些不同。在本文中,我们将谈谈时间序列的另类表示。时间序列的分段线性表示是一种利用涵盖小间隔的线性函数逼近时间序列的方法。
preview
开发回放系统(第 68 部分):取得正确的时间(一)

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

今天,我们将继续努力,让鼠标指针告诉我们在流动性较低期间,一根柱形上还剩下多少时间。尽管乍一看似乎很简单,但实际上这项任务要困难得多。这涉及一些我们必须克服的障碍。因此,为了理解以下部分,您必须很好地理解子系列第一部分的材料。
preview
开发回放系统(第 69 部分):取得正确的时间(二)

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

今天我们将看看为什么我们需要 iSpread 功能。同时,我们将了解当没有可用的分时报价时,系统如何通知我们柱形的剩余时间。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
神经网络变得简单(第 72 部分):噪声环境下预测轨迹

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

预测未来状态的品质在“目标条件预测编码”方法中扮演着重要角色,我们曾在上一篇文章中讨论过。在本文中,我想向您介绍一种算法,它可以显著提高随机环境(例如金融市场)中的预测品质。
preview
在MQL5中构建自优化智能交易系统(第七部分):同时利用多个时间周期进行交易

在MQL5中构建自优化智能交易系统(第七部分):同时利用多个时间周期进行交易

在本系列文章中,我们已经探讨了多种确定技术指标最佳使用周期的方法。今天,我们将向读者展示如何反其道而行之,也就是我们不再局限于挑选一个最佳时间周期,而是演示如何有效地利用所有可用周期。这种方法减少了被剔除的数据量,并为机器学习算法提供了常规价格预测以外的应用场景。
preview
数据科学与机器学习(第 20 部分):算法交易洞察,MQL5 中 LDA 与 PCA 之间的较量

数据科学与机器学习(第 20 部分):算法交易洞察,MQL5 中 LDA 与 PCA 之间的较量

在剖析 MQL5 交易环境中这些强大的降维技术的应用程序时,让我们揭示它们背后的秘密。深入探讨线性判别分析(LDA)和主成分分析(PCA)的细微差别,深入了解它们对策略开发和市场分析的影响。
preview
开发多币种 EA(第 27 部分):多行文本显示组件

开发多币种 EA(第 27 部分):多行文本显示组件

如果需要在图表上显示文本,我们可以使用 Comment() 函数。但它的功能相当有限。因此,在本文中,我们将自行开发一个组件 — 一个全屏对话框,该对话框能够显示多行文本,支持灵活的字体设置和滚动功能。
preview
价格行为分析工具包开发(第二十九部分):暴涨与暴跌拦截EA

价格行为分析工具包开发(第二十九部分):暴涨与暴跌拦截EA

了解暴涨与暴跌拦截EA如何将您的图表转变为一个主动预警系统 —— 通过超高速扫描价格变动速度、检查波动率激增情况、确认趋势走向以及运用关键枢轴区域过滤条件,精准识别市场的爆发性行情。该工具以清晰的绿色“暴涨”和红色“暴跌”箭头为您的每一次决策提供指引,助您排除市场杂音,以前所未有的方式把握市场价格飙升的机遇。深入探究其工作原理,了解它为何能成为您下一个不可或缺的交易优势。
preview
开发回放系统(第 35 部分):进行调整 (一)

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

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

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

在本文中,我们将修改鼠标指针,以实现与控制指标的交互,确保可靠、稳定地运行。
preview
分歧问题:深入探讨人工智能的复杂性可解释性

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

在这篇文章中,我们将探讨理解人工智能如何工作的挑战。人工智能模型经常会以难以解释的方式做出决策,这就是所谓的 "分歧问题"。这个问题是提高人工智能透明度和可信度的关键。
preview
神经网络变得简单(第 88 部分):时间序列密集编码器(TiDE)

神经网络变得简单(第 88 部分):时间序列密集编码器(TiDE)

为尝试获得最准确的预测,研究人员经常把预测模型复杂化。而反过来又会导致模型训练和维护成本增加。这样的增长总是公正的吗?本文阐述了一种算法,即利用线性模型的简单性和速度,并演示其结果与拥有更复杂架构的最佳模型相当。
preview
头脑风暴优化算法(第二部分): 多模态

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

在文章的第二部分,我们将继续讨论BSO算法的实际应用,对测试函数进行测试,并将BSO的效率与其他优化方法进行比较。
preview
在Python中使用Numba对交易策略进行快速测试

在Python中使用Numba对交易策略进行快速测试

本文实现了一个快速策略测试器,它使用Numba对机器学习模型进行快速策略测试。它的速度比纯 Python 策略回测器快 50 倍。作者推荐使用该库来加速数学计算,尤其是那些涉及循环的计算。
preview
重新定义MQL5与MetaTrader 5指标

重新定义MQL5与MetaTrader 5指标

MQL5中一种创新的指标信息收集方法,使开发者能够向指标传递自定义输入参数以进行即时计算,从而实现了更灵活、更高效的数据分析。这种方法在算法交易中尤为实用,因为它能突破传统限制,增强对指标所处理信息的掌控力。
preview
经济预测:探索 Python 的潜力

经济预测:探索 Python 的潜力

如何使用世界银行的经济数据进行预测?当你将人工智能模型和经济学结合起来时会发生什么?
preview
数据处理的分组方法:在MQL5中实现组合算法

数据处理的分组方法:在MQL5中实现组合算法

在本文中,我们将继续探索数据处理家族分组算法,在MQL5中实现组合算法(Combinatorial Algorithm)及其优化版本——组合选择算法(Combinatorial Selective Algorithm)。