MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
外汇投资组合优化:风险价值理论与马科维茨理论的融合

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

外汇市场中的投资组合交易是如何运作的?我们如何将用于优化投资组合权重的马科维茨投资组合理论与用于优化投资组合风险的VaR模型结合起来?我们基于投资组合理论创建一个EA,一方面,我们将获得低风险;另一方面,获得可接受的长期盈利能力。
preview
您应当知道的 MQL5 向导技术(第 08 部分):感知器

您应当知道的 MQL5 向导技术(第 08 部分):感知器

感知器,单隐藏层网络,对于任何精熟基本自动交易,并希望涉足神经网络的人来说都是一个很好的切入点。我们查看这是如何在一个信号类当中一步一步组装实现的,其是 MQL5 向导类中用于智能交易系统的部分。
preview
在 MetaTrader 5 中交易的可视评估和调整

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

策略测试器允许您所做的不光是优化交易机器人的参数。我将展示如何在事后评估您账户的交易历史,并通过在测试器中更改持仓的止损来调整您的交易。
preview
大气云模型优化(ACMO):实战

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

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

开发回放系统(第 57 部分):了解测试服务

需要注意的一点是:虽然服务代码没有包含在本文中,只会在下一篇文章中提供,但我会解释一下,因为我们将使用相同的代码作为我们实际开发的跳板。因此,请保持专注和耐心。等待下一篇文章,因为每一天都变得更加有趣。
preview
突破机器学习的局限(第一部分):缺乏可互操作的度量指标

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

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

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

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

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

在文章的第二部分,我们将继续讨论BSO算法的实际应用,对测试函数进行测试,并将BSO的效率与其他优化方法进行比较。
preview
交易中的神经网络:广义 3D 引用表达分段

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

在分析市场状况时,我们将其切分为不同的段落,标识关键趋势。然而,传统的分析方法往往只关注一个层面,从而限制了正确的感知。在本文中,我们将学习一种方法,可选择多个对象,以确保对形势进行更全面、及多层次的理解。
preview
使用 Python 创建波动率预测指标

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

在本文中,我们将使用二元分类来预测未来的极端波动。此外,我们将利用机器学习开发极端波动预测指标。
preview
价格行为分析工具包开发(第 32 部分):基于 Python 的 K 线识别引擎(二)—— 使用 TA-Lib 进行检测

价格行为分析工具包开发(第 32 部分):基于 Python 的 K 线识别引擎(二)—— 使用 TA-Lib 进行检测

本文中,我们已从在 Python 中手动编写 K 线形态检测代码,转向使用 TA-Lib 库,该库可识别六十余种不同的K线形态。这些形态能为预判市场潜在反转与趋势延续提供极具价值的参考。下面继续详细说明。
preview
在MQL5中创建交易管理员面板(第七部分):可信任用户、密码恢复与加密技术

在MQL5中创建交易管理员面板(第七部分):可信任用户、密码恢复与加密技术

每次刷新图表、通过管理面板EA添加新交易品种或重启终端时触发的安全提示,可能会让人感觉繁琐。在本次讨论中,我们将探索并实现一项功能,该功能通过跟踪登录尝试次数来识别可信用户。在达到一定次数的失败尝试后,应用程序将切换至高级登录流程,该流程还为可能忘记密码的用户提供密码恢复功能。此外,我们还将介绍如何将加密技术有效集成到管理面板中,以增强安全性。
preview
非洲水牛优化(ABO)

非洲水牛优化(ABO)

本文介绍了非洲水牛优化(ABO)算法,这是一种于2015年开发的元启发式方法,基于这些动物的独特行为。文章详细描述了算法实现的各个阶段及其在解决复杂问题时的效率,这使得它成为优化领域中一个有价值的工具。
preview
在MQL5中创建交易管理面板(第九部分):代码组织(5):分析面板(AnalyticsPanel)类

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

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

将 MQL5 与数据处理包集成 (第 2 部分):机器学习和预测分析

在我们关于将 MQL5 与数据处理包集成的系列文章中,我们深入研究了机器学习和预测分析的强大组合。我们将探索如何将 MQL5 与流行的机器学习库无缝连接,以便为金融市场提供复杂的预测模型。
preview
开发回放系统(第 62 部分):玩转服务(三)

开发回放系统(第 62 部分):玩转服务(三)

在本文中,我们将开始解决在使用真实数据时可能影响应用程序性能的分时报价过量问题。这种过量通常会干扰在相应窗口构建一分钟柱形所需的正确时间。
preview
分歧问题:深入探讨人工智能的复杂性可解释性

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

在这篇文章中,我们将探讨理解人工智能如何工作的挑战。人工智能模型经常会以难以解释的方式做出决策,这就是所谓的 "分歧问题"。这个问题是提高人工智能透明度和可信度的关键。
preview
您应当知道的 MQL5 向导技术(第 49 部分):搭配近端政策优化的强化学习

您应当知道的 MQL5 向导技术(第 49 部分):搭配近端政策优化的强化学习

近端政策优化是强化学习中的另一种算法,通常以网络形式以非常小的增量步幅更新政策,以便确保模型的稳定性。我们以向导汇编的智能系统来试验其作用,如同我们之前的文章一样。
preview
种群优化算法:改变概率分布的形状和位移,并基于智能头足类生物(SC)进行测试

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

本文研究了改变概率分布形状对优化算法性能的影响。我们将进行的实验,会用到智能头足类生物(SC)测试算法,从而评估优化问题背景下各种概率分布的效能。
preview
神经网络变得简单(第 80 部分):图形变换器生成式对抗模型(GTGAN)

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

在本文中,我将领略 GTGAN 算法,该算法于 2024 年 1 月推出,是为解决依据图形约束生成架构布局的复杂问题。
preview
人工协作搜索算法 (ACS)

人工协作搜索算法 (ACS)

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

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

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

开发回放系统(第 48 部分):了解服务的概念

学习些新知识怎么样?在本文中,您将了解如何将脚本转换为服务,以及为什么这样做很有用。
preview
数据处理的分组方法:在MQL5中实现组合算法

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

在本文中,我们将继续探索数据处理家族分组算法,在MQL5中实现组合算法(Combinatorial Algorithm)及其优化版本——组合选择算法(Combinatorial Selective Algorithm)。
preview
开发回放系统(第 51 部分):事情变得复杂(三)

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

在本文中,我们将研究 MQL5 编程领域最困难的问题之一:如何正确获取图表 ID,以及为什么对象有时不会绘制在图表上。此处提供的材料仅用于教学目的,在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
神经Boid优化算法2(NOA2)

神经Boid优化算法2(NOA2)

新型专有优化算法NOA2融合了种群智能原理与神经控制机制。NOA2将神经Boid的运动机制与自适应神经系统结合,使智能体在搜索最优解的过程中能够自我修正其行为。该算法目前正处于积极开发阶段,展现出对于解决复杂优化问题的潜力。
preview
MQL5 交易工具包(第 5 部分):使用仓位函数扩展历史管理 EX5 库

MQL5 交易工具包(第 5 部分):使用仓位函数扩展历史管理 EX5 库

了解如何创建可导出的 EX5 函数,以高效查询和保存历史仓位数据。在本分步指南中,我们将通过开发检索最近平仓的关键属性的模块来扩展历史管理 EX5 库。这些属性包括净利润、交易持续时间、基于点的止损、止盈、利润值以及其他各种重要细节。
preview
HTTP和Connexus(第2部分):理解HTTP架构和库设计

HTTP和Connexus(第2部分):理解HTTP架构和库设计

本文探讨了HTTP协议的基础知识,涵盖了主要方法(GET、POST、PUT、DELETE)、状态码以及URL的结构。此外,还介绍了Conexus库的构建起点,以及CQueryParam和CURL类,这些类用于在HTTP请求中操作URL和查询参数。
preview
MQL5交易工具(第六部分):带脉冲动画与控件的动态全息仪表盘

MQL5交易工具(第六部分):带脉冲动画与控件的动态全息仪表盘

在本文中,我们将使用MQL5创建一个动态全息仪表盘,用于监控交易品种与时间周期,集成RSI指标、波动率预警以及排序功能。我们将添加脉冲动画、交互按钮与全息视觉效果,使该工具在视觉上更具吸引力,并具备良好的交互响应性。
preview
ALGLIB 库优化方法(第二部分)

ALGLIB 库优化方法(第二部分)

在本文中,我们将继续研究ALGLIB库中剩余的优化方法,并特别关注它们在复杂多维函数上的测试表现。这样我们不仅能够评估每种算法的效率,还能在不同条件下比较出它们的优势与不足。
preview
神经网络变得简单(第 65 部分):距离加权监督学习(DWSL)

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

在本文中,我们将领略一个有趣的算法,它是在监督和强化学习方法的交叉点上构建的。
preview
在Python中使用Numba对交易策略进行快速测试

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

本文实现了一个快速策略测试器,它使用Numba对机器学习模型进行快速策略测试。它的速度比纯 Python 策略回测器快 50 倍。作者推荐使用该库来加速数学计算,尤其是那些涉及循环的计算。
preview
分析交易所价格的二进制代码(第二部分):转换为 BIP39 并编写 GPT 模型

分析交易所价格的二进制代码(第二部分):转换为 BIP39 并编写 GPT 模型

继续尝试破译价格走势……我们将通过将二进制价格代码转换为 BIP39 来获得一个“市场词典”,那么,对这个词典进行语言学分析又如何呢?在本文中,我们将深入探讨一种创新的交易所数据分析方法,并研究如何将现代自然语言处理技术应用于市场语言。
preview
市场模拟(第四部分):创建 C_Orders 类(一)

市场模拟(第四部分):创建 C_Orders 类(一)

在本文中,我们将开始创建 C_Orders 类,以便能够向交易服务器发送订单。我们将循序渐进地进行,目标是通过消息系统详细说明这一过程的具体实现方式。
preview
为 Metatrader 5 开发 MQTT 客户端:TDD 方法 - 第 5 部分

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

本文是系列文章的第五部分,介绍了我们为 MQTT 5.0 协议开发本地 MQL5 客户端的步骤。在这一部分中,我们将介绍 PUBLISH 数据包的结构、如何设置其发布标志(Publish Flag)、如何对主题名称(Topic Name)字符串进行编码,以及在需要时如何设置数据包标识符(Packet Identifier)。
preview
您应当知道的 MQL5 向导技术(第 14 部分):以 STF 进行多意向时间序列预测

您应当知道的 MQL5 向导技术(第 14 部分):以 STF 进行多意向时间序列预测

“时空融合”就是在数据建模中同时使用“空间”和“时间”度量值,主要用在遥感,和一系列其它基于视觉的活动,以便更好地了解我们的周边环境。归功于一篇已发表的论文,我们通过验证它对交易者的潜力,采取一种新颖的方式来运用它。
preview
重新定义MQL5与MetaTrader 5指标

重新定义MQL5与MetaTrader 5指标

MQL5中一种创新的指标信息收集方法,使开发者能够向指标传递自定义输入参数以进行即时计算,从而实现了更灵活、更高效的数据分析。这种方法在算法交易中尤为实用,因为它能突破传统限制,增强对指标所处理信息的掌控力。
preview
数据科学与机器学习(第 20 部分):算法交易洞察,MQL5 中 LDA 与 PCA 之间的较量

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

在剖析 MQL5 交易环境中这些强大的降维技术的应用程序时,让我们揭示它们背后的秘密。深入探讨线性判别分析(LDA)和主成分分析(PCA)的细微差别,深入了解它们对策略开发和市场分析的影响。
preview
神经网络变得简单(第 87 部分):时间序列补片化

神经网络变得简单(第 87 部分):时间序列补片化

预测在时间序列分析中扮演重要角色。在新文章中,我们将谈谈时间序列补片化的益处。
preview
神经网络变得简单(第 88 部分):时间序列密集编码器(TiDE)

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

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