数据科学和机器学习(第 32 部分):保持您的 AI 模型更新,在线学习
在瞬息万变的交易世界中,适应市场变化不仅是一种选择 — 而且是一种必要。每天都有新的形态和趋势出现,即使是最先进的机器学习模型,也难以面对不断变化的条件保持有效。在本文中,我们将探讨如何通过自动重训练,令您的模型保持相关性、及对新市场数据的响应能力。
交易中的神经网络:使用小波变换和多任务注意力的模型(终篇)
在上一篇文章中,我们探索了理论基础,并开始实现多任务-Stockformer 框架的方式,其结合了小波变换和自注意力多任务模型。我们继续实现该框架的算法,并评估其在真实历史数据上的有效性。
使用 MetaTrader 5 Python 构建类似 MQL5 的交易类
MetaTrader 5 Python 包提供了一种使用 Python 语言为 MetaTrader 5 平台构建交易应用程序的简便方法。虽然它是一个强大而有用的工具,但在创建算法交易解决方案方面,该模块不如 MQL5 编程语言那么容易。在本文中,我们将构建类似于 MQL5 中提供的交易类,以创建类似的语法,使在 Python 中创建交易机器人比在 MQL5 中更容易。
算法交易中的神经符号化系统:结合符号化规则和神经网络
本文讲述开发混合交易系统的经验,即结合经典技术分析与神经网络。作者从基本形态分析、神经网络结构、到交易决策背后的机制,提供了系统架构的详细分析,并分享了真实代码和实践观察。
MQL5 中的范畴论 (第 14 部分):线性序函子
本文是更广泛关于以 MQL5 实现范畴论系列的一部分,深入探讨了函子(Functors)。我们实验了如何将线性序映射到集合,这要归功于函子;通过研究两组数据,典型情况下会忽略其间的任何联系。
在 MQL5 中重新构想经典策略(第二部分):富时 100 指数(FTSE100)与英国国债(UK Gilts)
在本系列文章中,我们探索了流行的交易策略,并尝试使用人工智能(AI)对其进行改进。在今天的文章中,我们将重新审视基于股市与债市之间关系的经典交易策略。
基于Python和MQL5的特征工程(第一部分):为长期 AI 模型预测移动平均线
移动平均线无疑是我们的 AI 模型进行预测的最佳指标。然而,我们可以通过严谨数据变换来进一步提高其准确性。本文将展示如何构建能够预测更远范围的AI模型,超越您目前所实现的水平,同时不会显著降低准确率。移动平均线的实用性确实令人惊叹。
随机数生成器质量对优化算法效率的影响
在这篇文章中,我们将探讨梅森旋转算法(Mersenne Twister)随机数生成器,并将其与MQL5中的标准随机数生成器进行比较。此外,我们还将研究随机数生成器的质量对优化算法结果的影响。
您应当知道的 MQL5 向导技术(第 32 部分):正则化
正则化是一种在贯穿神经网络各层应用离散权重,按比例惩罚损失函数的形式。我们来考察其重要性,对于一些不同的正则化形式,能够在配合向导组装的智能系统运行测试。
MQL5交易工具(第六部分):带脉冲动画与控件的动态全息仪表盘
在本文中,我们将使用MQL5创建一个动态全息仪表盘,用于监控交易品种与时间周期,集成RSI指标、波动率预警以及排序功能。我们将添加脉冲动画、交互按钮与全息视觉效果,使该工具在视觉上更具吸引力,并具备良好的交互响应性。
基于人工生态系统的优化(AEO)算法
本文探讨了一种元启发式算法——基于人工生态系统的优化(Artificial Ecosystem-based Optimization, AEO)算法。该算法通过生成初始解种群并应用自适应更新策略,模拟生态系统各组成部分之间的相互作用。文中详细阐述了AEO算法的运行阶段,包括消耗阶段与分解阶段,以及不同智能体的行为策略。文章还介绍了该算法的特点和优势。
您应当知道的 MQL5 向导技术(第 43 部分):依据 SARSA 进行强化学习
SARSA 是 “State-Action-Reward-State-Action” 的缩写,是另一种能在实现强化学习时运用的算法。故此,正如我们在 Q-学习 和 DQN 中看到的那样,我们考察了如何在向导汇编的智能系统中探索和实现它,将其作为独立模型,而不仅仅是一种训练机制。
价格行为分析工具包开发(第十六部分):引入四分之一理论(2)—— 侵入探测器智能交易系统(EA)
在前一篇文章中,我们介绍了一个名为“四分位绘图脚本”的简单脚本。现在,我们在此基础上更进一步,创建一个用于监控的智能交易系统(EA),以跟踪这些四分位水平,并对这些价位可能引发的市场反应进行监督。请随我们一同探索在本篇文章中开发区域检测工具的过程。
头脑风暴优化算法(第一部分):聚类
在本文中,我们将探讨一种受自然现象“头脑风暴”启发的新型优化方法——头脑风暴优化(Brain Storm Optimization,简称BSO)。我们还将讨论BSO方法所应用的一种解决多模态优化问题的新方法。该方法能够在无需预先确定子种群数量的情况下,找到多个最优解。此外,我们还会考虑K-Means和K-Means++聚类方法。
构建MQL5自优化智能交易系统(EA)(第四部分):动态头寸规模调整
成功运用算法交易需要持续的跨学科学习。然而,无限的可能性可能会耗费数年努力,却无法取得切实成果。为解决这一问题,我们提出一个循序渐进增加复杂性的框架,让交易者能够迭代优化策略,而非将无限时间投入不确定的结果中。
基于MQL5和Python的自优化EA(第五部分):深度马尔可夫模型
在本次讨论中,我们将把一个简单的马尔可夫链应用于相对强弱指标(RSI),以观察指标穿过关键水平后的价格行为。我们得出结论,当RSI处于11-20区间时,会产生最强的买入信号;而当RSI处于71-80区间时,会产生最强的卖出信号,这在新西兰元兑日元(NZDJPY)货币对上表现得尤为明显。我们将展示如何通过对数据的处理和分析,直接从您所拥有的数据中构建出最优的交易策略。此外,我们还将展示如何训练一个深度神经网络,使其能够最优地利用转移矩阵。
开发回放系统(第 58 部分):重返服务工作
在回放/模拟器服务的开发和改进暂停之后,我们正在恢复该工作。现在我们已经放弃使用终端全局变量等资源,我们将不得不完全重组其中的一些部分。别担心,我们会详细解释这个过程,这样每个人都可以关注我们服务的发展。
开发多币种 EA 交易 (第 13 部分):自动化第二阶段 — 分组选择
我们已经实现了自动化优化的第一阶段。我们根据若干标准对不同的交易品种和时间框架进行优化,并将每次通过的结果信息存储在数据库中。现在我们将从第一阶段找到的参数集中选择最佳组。
原子轨道搜索(AOS)算法
本文探讨了原子轨道搜索(Atomic Orbital Search,AOS)算法,该算法运用原子轨道模型的概念来模拟解的搜索过程。此算法基于概率分布以及原子内相互作用的动力学原理。本文详细阐述了关于AOS算法的数学层面,包括候选解位置的更新方式,以及能量吸收与释放的机制。AOS算法通过为计算问题提供一种创新的优化方法,为将量子原理应用于计算问题开辟了新思路。
使用 MQL5 经济日历进行交易(第三部分):添加货币、重要性和时间过滤器
在本文中,我们将在 MQL5 经济日历仪表板中添加过滤器,以便通过货币、重要性和时间来细化新闻事件的显示。我们首先为每个类别建立过滤标准,然后将这些标准集成到仪表板中,以仅显示相关事件。最后,我们确保每个过滤器都能动态更新,为交易者提供专注的、实时的经济信息。
群体自适应矩估计(ADAM)优化算法
本文介绍了将广为人知且广受欢迎的ADAM梯度优化方法转变为群体算法的过程,并介绍了通过引入混合个体对其进行改进的方案。这种新方法能够利用概率分布创建融合了成功决策要素的智能体。关键创新点在于形成了群体混合个体,这些个体能够自适应地积累来自最具潜力解决方案的信息,从而提高了在复杂多维空间中的搜索效率。
神经网络变得简单(第 81 部分):上下文引导运动分析(CCMR)
在以前的工作中,我们总是评估环境的当前状态。与此同时,指标变化的动态始终保持在“幕后”。在本文中,我打算向您介绍一种算法,其允许您评估 2 个连续环境状态数据之间的直接变化。
创建 MQL5-Telegram 集成 EA 交易(第 4 部分):模块化代码函数以增强可重用性
在本文中,我们将现有的用于从 MQL5 向 Telegram 发送消息和截图的代码重构为可重复使用的模块化函数。这将简化流程,实现跨多个实例的更高效执行和更轻松的代码管理。
您应当知道的 MQL5 向导技术(第 52 部分):加速器振荡器
加速器振荡指标是另一款比尔·威廉姆斯(Bill Williams)指标,它跟踪价格动量的加速,而不光是其速度。尽管很像我们在最近的一篇文章中回顾的动量(Awesome)振荡器,但它更专注于加速度,而不仅是速度,来寻求避免滞后效应。我们一如既往地验证我们可从中获得哪些形态,以及每种形态由向导汇编到智能交易系统后,在交易中具有的意义。
从新手到专家:使用 MQL5 制作动画新闻标题(六)—— 新闻交易的挂单策略
在本文中,我们将重点转移到整合新闻驱动的订单执行逻辑 —— 使 EA 能够采取行动,而不仅仅是提供信息。加入我们,一起探索如何在 MQL5 中实现自动交易执行,并将 News Headline EA 扩展为一个完全响应式的交易系统。由于 EA 交易支持多种功能,因此为算法开发人员提供了显著优势。到目前为止,我们一直专注于构建新闻和日历事件展示工具,其中包含集成的 AI 洞察通道和技术指标洞察。
开发回放系统(第 39 部分):铺平道路(三)
在进入开发的第二阶段之前,我们需要修正一些想法。您知道如何让 MQL5 满足您的需求吗?您是否尝试过超出文档所包含的范围?如果没有,那就做好准备吧。因为我们将做一些大多数人通常不会做的事情。
开发具有 RestAPI 集成的 MQL5 强化学习代理(第 2 部分):用于与井字游戏 RestAPI 进行 HTTP 交互的 MQL5 函数
在本文中,我们将讨论 MQL5 如何与 Python 和 FastAPI 交互,使用 MQL5 中的 HTTP 调用与 Python 开发的井字游戏交互。这篇文章讨论了使用 FastAPI 为这种集成创建一个 API,并提供了一个 MQL5 测试脚本,突出了 MQL5 的多功能性、Python 的简易性以及 FastAPI 在连接不同技术以创建创新解决方案方面的效果。
神经网络实践:伪逆 (二)
由于这些文章本质上是教育性的,并不打算展示特定功能的实现,因此我们在本文中将做一些不同的事情。我们将重点介绍伪逆的因式分解,而不是展示如何应用因式分解来获得矩阵的逆。原因是,如果我们能以一种特殊的方式来获得一般系数,那么展示如何获得一般系数就没有意义了。更好的是,读者可以更深入地理解为什么事情会以这种方式发生。那么,现在让我们来弄清楚为什么随着时间的推移,硬件正在取代软件。
重构经典策略(第五部分):基于USDZAR的多品种分析
在本系列文章中,我们重新审视经典策略,看看是否可以使用人工智能来改进这些策略。在今天的文章中,我们将研究一种使用一篮子具有相关性的金融产品来进行多品种分析的流行策略,我们将重点关注货币对 USDZAR。
将 MQL5 与数据处理包集成(第 3 部分):增强的数据可视化
在本文中,我们将通过结合交互性、分层数据和动态元素等功能,超越基本图表,实现增强的数据可视化,使交易者能够更有效地探索趋势、形态和相关性。
使用图表可视化交易(第一部分):选择分析时段
在这里,我们将从头开始编写一个脚本,以简化卸载交易截图用于分析交易入场点的过程。能够方便地将所有关于单个交易的必要信息展示在一个图表上,并且该图表可以根据不同时间周期绘制。
开发回放系统(第 44 部分):Chart Trader 项目(三)
在上一篇文章中,我介绍了如何操作模板数据以便在 OBJ_CHART 中使用。在那篇文章中,我只是概述了这一主题,并没有深入探讨细节,因为在那个版本中,这项工作是以非常简单的方式完成的。这样做是为了更容易解释内容,因为尽管很多事情表面上很简单,但其中有些并不那么明显,如果不了解最简单、最基本的部分,就无法真正理解全局。
开发回放系统(第 70 部分):取得正确的时间(三)
在本文中,我们将了解如何正确有效地使用 CustomBookAdd 函数。尽管它看起来很简单,但它有许多细微差别。例如,它允许您告诉鼠标指标自定义交易品种是否正在竞价、交易或市场是否关闭。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
DoEasy. 控件 (第 17 部分): 裁剪对象不可见部分、辅助箭头按钮 WinForms 对象
在本文中,我将创建一种功能,可隐藏超出其容器之外的对象部分。 此外,我亦将创建辅助箭头按钮对象,作为其它 WinForms 对象的一部分。
DoEasy.服务函数(第 3 部分):外包线形态
在本文中,我们将开发 DoEasy 库中的外包线(Outside Bar)价格行为形态,并优化访问价格形态管理的方法。此外,我们将修复在库测试中发现的错误和缺点。
价格行为分析工具包开发(第九部分):外部数据流
本文将利用专为高级分析而设计的外部库,探索一个全新的分析维度。这些库(如pandas)提供了强大的工具,用于处理和解读复杂数据,使交易者能够更深入地洞察市场动态。通过整合此类技术,我们能够整合原始数据与可执行策略之间的差距。加入我们,共同为这一创新方法奠定基础,并释放技术与交易专业知识相结合的潜力。
为 Metatrader 5 开发 MQTT 客户端:TDD 方法 - 第 6 部分
本文是介绍我们针对 MQTT 5.0 协议的本地 MQL5 客户端的开发步骤的系列文章的第六部分。在本部分中,我们会讨论我们第一次重构中的主要变化,我们如何为我们的数据包构建类得出可行的蓝图,我们如何构建 PUBLISH 和 PUBACK 数据包,以及 PUBACK 原因代码背后的语义。