
软件开发和 MQL5 中的设计模式(第 2 部分):结构模式
在了解了设计模式适用于 MQL5 和其他编程语言,并且对于开发人员开发可扩展、可靠的应用程序有多么重要之后,我们将在本文中继续介绍设计模式。我们将学习另一种类型的设计模式,即结构模式,了解如何利用我们所拥有的类组成更大的结构来设计系统。

在MetaTrader 5中实现基于EMA交叉的级联订单交易策略
本文介绍一个基于EMA交叉信号的自动交易算法,该算法适用于MetaTrader 5平台。文章详细阐述了在MQL5中开发一个EA所需的方方面面,以及在MetaTrader 5中进行测试的过程——从分析价格区间行为到风险管理。

离散哈特莱变换
在本文中,我们将探讨频谱分析和信号处理的方法之一——离散哈特莱变换(discrete Hartley transform,DHT)。它可以过滤信号,分析它们的频谱等等。DHT的性能不亚于离散傅立叶变换(discrete Fourier transform,DFT)。然而,与DFT不同的是,DHT只使用实数,这使得它在实践中更方便实现,并且它的应用结果更直观。

将您自己的 LLM 集成到 EA 中(第 4 部分):使用 GPU 训练自己的 LLM
随着当今人工智能的快速发展,语言模型(LLMs)是人工智能的重要组成部分,因此我们应该考虑如何将强大的 LLMs 整合到我们的算法交易中。对于大多数人来说,很难根据他们的需求微调这些强大的模型,在本地部署它们,然后将它们应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。

MQL5 简介(第 5 部分):MQL5 数组函数入门指南
在第 5 部分中探索 MQL5 数组的世界,该部分专为绝对初学者设计。本文简化了复杂的编码概念,重点在于清晰性和包容性。加入我们的学习者社区,在这里解决问题,分享知识!

算法交易中的风险管理器
本文的目标是证明在算法交易中使用风险管理器的必要性,并在一个单独的类中实现控制风险的策略,以便每个人都可以验证标准化的风险管理方法在金融市场日内交易和投资中的有效性。在本文中,我们将为算法交易创建一个风险管理类。本文是上一篇文章的延续,在前文中我们讨论了为手动交易创建风险管理器。

将您自己的 LLM 集成到 EA 中(第 5 部分):使用 LLMs 开发和测试交易策略(一)- 微调
随着当今人工智能的快速发展,语言模型(LLMs)是人工智能的重要组成部分,因此我们应该考虑如何将强大的 LLMs 整合到我们的算法交易中。对于大多数人来说,很难根据他们的需求微调这些强大的模型,在本地部署它们,然后将它们应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。

MQL5 中的高级变量和数据类型
不仅在 MQL5 编程中,在任何编程语言中,变量和数据类型都是非常重要的主题。MQL5 变量和数据类型可分为简单类型和高级类型。在这篇文章中,我们将识别并学习高级类型,因为我们在前一篇文章中已经提到过简单类型。

在MQL5中创建交互式图形用户界面(第1部分):制作面板
本文探讨了使用MetaQuotes Language 5(MQL5)设计和实施图形用户界面(GUI)面板的基本步骤。自定义实用面板通过简化常见任务并可视化重要的交易信息,增强了交易中的用户交互。通过创建自定义面板,交易者可以优化其工作流程,并在交易操作中节省时间。

数据科学和机器学习(第 16 部分):全新面貌的决策树
在我们的数据科学和机器学习系列的最新一期中,深入到错综复杂的决策树世界。本文专为寻求策略洞察的交易者量身定制,全面回顾了决策树在分析市场趋势中所发挥的强大作用。探索这些算法树的根和分支,解锁它们的潜力,从而强化您的交易决策。加入我们,以全新的视角审视决策树,并探索它们如何在复杂的金融市场航行中成为您的盟友。

构建K线趋势约束模型(第九部分):多策略EA(2)
理论上,可以集成至EA中的策略数量没有上限。然而,每新增一种策略都会提升算法复杂度。通过融合多策略架构,EA能够更灵活地适应不同市场环境,从而可能提升整体盈利能力。今天,我们将探讨如何通过MQL5实现理查德·唐奇安(Richard Donchian)的经典通道突破策略,以此进一步拓展我们的趋势约束型EA功能体系。

开发回放系统 — 市场模拟(第 16 部分):新的类系统
我们需要更好地组织我们的工作。 代码正在快速增长,如果现在不做,那么以后就变得更不可能了。 我们分而治之。 MQL5 支持类,可协助实现此任务,但为此,我们需要对类有一定的了解。 大概最让初学者困惑的是继承。 在本文中,我们将看到如何以实用和简单的方式来运用这些机制。

MetaTrader 5 和 R 进行算法交易新手指南
当我们揭开 R 和 MetaTrader 5 无缝结合的艺术面纱时,您将开始一场金融分析与算法交易的精彩探索。本文是您将 R 语言中的分析技巧与 MetaTrader 5 强大的交易功能连接起来的指南。

开发多币种 EA 交易(第 17 部分):为真实交易做进一步准备
目前,我们的 EA 使用数据库来获取交易策略单个实例的初始化字符串。然而,这个数据库相当大,包含许多实际 EA 操作不需要的信息。让我们尝试在不强制连接到数据库的情况下确保 EA 的功能。

在 MQL5 中创建交互式图形用户界面(第 2 部分):添加控制和响应
通过动态功能增强 MQL5 图形用户界面(GUI)面板,可以大大改善用户的交易体验。通过整合互动元素、悬停效果和实时数据更新,该面板成为现代交易者的强大工具。

MQL5 简介(第 6 部分):MQL5 中的数组函数新手指南 (二)
开始我们 MQL5 旅程的下一阶段。在这篇深入浅出、适合初学者的文章中,我们将探讨其余的数组函数,揭开复杂概念的神秘面纱,让您能够制定高效的交易策略。我们将讨论 ArrayPrint、ArrayInsert、ArraySize、ArrayRange、ArrarRemove、ArraySwap、ArrayReverse 和 ArraySort。利用这些基本的数组函数,提升您的算法交易专业知识。加入我们的精通 MQL5 之路吧!

MQL5 交易工具包(第 1 部分):开发仓位管理 EX5 库
了解如何创建面向开发人员的工具包,使用 MQL5 管理各种仓位操作。在本文中,我将演示如何创建一个函数库 (ex5),以执行从简单到高级的仓位管理操作,包括自动处理和报告使用 MQL5 处理仓位管理任务时出现的各种错误。

如何利用 MQL5 创建简单的多币种智能交易系统(第 4 部分):三角移动平均线 — 指标信号
本文中的多币种 EA 是智能交易系统或交易机器人,能从一个品种的图表里交易(开单、平单、及管理订单,例如:尾随止损和止盈)多个品种(货币对)。这次我们只会用到 1 个指标,即多时间帧或单一时间帧中的三角移动平均线。

开发回放系统 — 市场模拟(第 24 部分):外汇(V)
今天,我们将去除阻止基于最后成交价进行模拟的限制,并将专门针对这类模拟引入一个新的切入点。整个操作机制将基于外汇市场的原则。该过程的主要区别在于出价(Bid)和最后成交价(Last)模拟的分离。不过,重点要注意,用于随机化时间,并将其调整为与 C_Replay 类兼容的方法在两类模拟中保持雷同。这很好,因为一种模式的变化会导致另一种模式的自动改进,尤其遇到处理跳价之间的时间。

开发回放系统 — 市场模拟(第 22 部分):外汇(III)
虽然这是关于这个主题的第三篇文章,但我必须为那些还不了解股票市场和外汇市场之间区别的人解释一下:最大的区别在于,在外汇中没有、或者更确切地说,我们得不到交易过程中有关一些实际发生关键处的信息。

射箭算法(Archery Algorithm, AA)
本文详细探讨了受射箭启发的优化算法——射箭算法(Archery Algorithm, AA),重点介绍了如何使用轮盘赌法(roulette method)作为选择“箭矢”目标区域的机制。该方法允许评估解决方案的质量,并选择最有希望的位置进行进一步的探究。

构建和测试 Aroon 交易系统
在本文中,我们将学习在了解了 Aroon 指标(阿隆指标)的基础知识和基于该指标构建交易系统的必要步骤之后,如何构建 Aroon 交易系统。建立这个交易系统后,我们将对其进行测试,看看它是否能盈利,还是需要进一步优化。

如何使用MQL5的控件类创建交互式仪表板/面板(第一部分):设置面板
在本文中,我们将使用MQL5的控件类创建一个交互式交易仪表板,旨在简化交易操作。该面板包含标题、用于交易、平仓和信息的导航按钮,以及用于执行交易和管理仓位的专用操作按钮。到文章结束时,你将拥有一个基础面板,为未来的扩展做好准备。

数据科学和机器学习(第 28 部分):使用 AI 预测 EURUSD 的多个期货
众多人工智能模型的惯常做法是预测单一未来值。不过,在本文中,我们将钻研运用机器学习模型的更强大技术,即预测多个未来值。这种方式被称为多步预测,它令我们不仅能够预测明天的收盘价,还可以预测后天、及更久的收盘价。通过掌握多步骤预测,交易者和数据科学家能够获得更深入的见解,并制定更明智的决策,从而显著增强他们的预测能力和策略计划。

构建K线图趋势约束模型(第一部分):针对EA和技术指标
本文面向初学者和专业的MQL5开发者。它提供了一段代码,用于定义并限制信号生成指标仅在较长的时间框架的趋势中运行。通过这种方式,交易者可以通过融入更广泛的市场视角来增强他们的策略,从而可能产生更稳健和可靠的交易信号。

如何利用 MQL5 创建简单的多币种智能交易系统(第 3 部分):添加交易品种、前缀和/或后缀、以及交易时段
若干交易员同事发送电子邮件或评论了如何基于经纪商提供的名称里带有前缀和/或后缀的品种使用此多币种 EA,以及如何在该多币种 EA 上实现交易时区或交易时段。

构建K线图趋势约束模型(第三部分):在使用该系统时检测趋势变化
本文探讨了经济新闻发布、投资者行为以及各种因素如何影响市场趋势的反转。文章包含一段视频解释,并接着将MQL5代码融入我们的程序中,以检测趋势反转、向我们发出警报,并根据市场条件采取相应行动。本文是在此前一系列文章基础上的扩展。

使用PatchTST机器学习算法预测未来24小时的价格走势
在本文中,我们将应用2023年发布的一种相对复杂的神经网络算法——PatchTST,来预测未来24小时的价格走势。我们将使用官方仓库的代码,并对其进行一些微小的修改,训练一个针对EURUSD(欧元兑美元)的模型,然后在Python和MQL5环境中应用该模型进行未来预测。

开发回放系统 — 市场模拟(第 21 部分):外汇(II)
我们将继续构建一个在外汇市场工作的系统。为了解决这个问题,我们必须在加载以前的柱线之前首先声明加载跳价。这解决了问题,但同时迫使用户遵循配置文件中的某些结构,就个人而言,这对我来说没有多大意义。原因是,通过设计一个负责分析和执行配置文件中内容的程序,我们可以允许用户按任何顺序声明他需要的元素。

开发回放系统 — 市场模拟(第 27 部分):智能交易系统项目 — C_Mouse 类
在本文中,我们将实现 C_Mouse 类。它提供了最高级别的编程能力。不过,说到高级或低级编程语言,并不是在代码中包含污言秽语或行话。它有其它含义。当我们谈论高级或低级编程时,我们意指对于其他程序员来说理解代码是多么容易或困难。

软件开发和 MQL5 中的设计范式(第 3 部分):行为范式 1
来自设计范式文献的一篇新文章,我们将看到类型其一,即行为范式,从而理解我们如何有效地在所创建对象之间构建通信方法。通过完成这些行为范式,我们就能够理解创建和构建可重用、可扩展、经过测试的软件。