开发回放系统(第 42 部分):图表交易项目(I)
我们来创建一些更有趣的东西。我不想毁掉惊喜,故此紧随本文以便更好地理解。自本系列开发回放/模拟器系统的最开始,我就一直说,我们的意图是按相同的方式使用 MetaTrader 5 平台,无论正在开发的系统中,亦或真实市场中。重点是要正确完成。没有人愿意在训练和学习时用一种工具,而在战斗时不得不换另一种工具。
您应当知道的 MQL5 向导技术(第 29 部分):继续学习率与 MLP
我们主要验证自适应学习率,圆满考察学习率对智能系统性能的敏感性。这些学习率旨在在训练过程中针对层中的每个参数进行自定义,故我们评估潜在收益相较于预期的性能损失。
开发回放系统(第 64 部分):玩转服务(五)
在本文中,我们将介绍如何修复代码中的两个错误。然而,我将尝试以一种有助于初学者程序员理解事情并不总是如你所愿的方式解释它们。无论如何,这是一个学习的机会。此处提供的内容仅用于教育目的。本应用程序不应被视为最终文件,其目的除了探讨所提出的概念之外,不应有任何其它用途。
适应性社会行为优化(ASBO):两阶段演变
我们继续探讨生物体的社会行为及其对新数学模型 ASBO(适应性社会行为优化)开发的影响。我们将深入研究两阶段演变,测试算法并得出结论。正如在自然界中,一群生物体共同努力生存一样,ASBO 使用集体行为原理来解决复杂的优化问题。
开发回放系统(第 67 部分):完善控制指标
在本文中,我们将看看通过一点代码改进可以实现什么。这一改进旨在简化我们的代码,更多地使用 MQL5 库调用,最重要的是,使其在我们未来可能开发的其他项目中更加稳定、安全和易于使用。
市场模拟(第五部分):创建 C_Orders 类(二)
在本文中,我将解释 Chart Trade 如何与 EA 交易一起处理平仓请求,以关闭用户的所有未平仓头寸。这听起来简单,但你需要知道如何应对一些复杂情况。
市场模拟(第六部分):将信息从 MetaTrader 5 传输到 Excel
许多人,尤其是非程序员,发现在 MetaTrader 5 和其他程序之间传输信息非常困难。其中一个程序就是 Excel。许多人使用 Excel 作为管理和维护风险控制的一种方式。这是一个优秀的程序,易于学习,即使对于那些不是 VBA 程序员的人来说也是如此。在这里,我们将看看如何在 MetaTrader 5 和 Excel 之间建立连接(一种非常简单的方法)。
您应当知道的 MQL5 向导技术(第 36 部分):依据马尔可夫(Markov)链的 Q-学习
强化学习是机器学习的三大信条之一,并肩两个是监督学习和无监督学习。因此,它在意的是最优控制,或学习最适合目标函数的最佳长期政策。正是在这种背衬下,我们探索其向一款由向导组装的智能系统中 MLP 中通知学习过程的可能作用。
价格行为分析工具包开发(第二十部分):外部资金流(4)——相关性路径探索器
作为价格行为分析工具包开发系列的一部分,相关性路径探索器为理解货币对动态提供了一种全新方法。该工具可自动收集和分析数据,深入分析诸如欧元兑美元(EUR/USD)和英镑兑美元(GBP/USD)等货币对之间的相互作用。借助其实用、实时的信息,增强你的交易策略,助您更有效地管理风险并发现机会。
开发回放系统(第 34 部分):订单系统 (三)
在本文中,我们将完成构建的第一阶段。虽然这部分内容很快就能完成,但我将介绍之前没有讨论过的细节。我将解释一些许多人不理解的问题。你知道为什么要按 Shift 或 Ctrl 键吗?
让新闻交易轻松上手(第4部分):性能增强
本文将深入探讨改进EA在策略测试器中运行时间的方法,通过编写代码将新闻事件时间按小时分类。在指定的小时段内将访问这些新闻事件。这样确保了EA能够在高波动性和低波动性环境中高效管理事件驱动的交易。
从新手到专家:使用 MQL5 制作动画新闻标题(六)—— 新闻交易的挂单策略
在本文中,我们将重点转移到整合新闻驱动的订单执行逻辑 —— 使 EA 能够采取行动,而不仅仅是提供信息。加入我们,一起探索如何在 MQL5 中实现自动交易执行,并将 News Headline EA 扩展为一个完全响应式的交易系统。由于 EA 交易支持多种功能,因此为算法开发人员提供了显著优势。到目前为止,我们一直专注于构建新闻和日历事件展示工具,其中包含集成的 AI 洞察通道和技术指标洞察。
您应当知道的 MQL5 向导技术(第 34 部分):采用非常规 RBM 进行价格嵌入
受限玻尔兹曼(Boltzmann)机是一种神经网络形式,开发于 1980 年代中叶,当时的计算资源非常昂贵。在其初创时,它依赖于 Gibbs 采样,以及对比散度来降低维度,或捕获输入训练数据集上的隐藏概率/属性。我们验证当 RBM 为预测多层感知器“嵌入”价格时,反向传播如何执行类似的操作。
使用经典机器学习方法预测汇率:逻辑回归(logit)模型和概率回归(probit)模型
本文尝试构建一款用于预测汇率报价的EA。该算法以经典分类模型——逻辑回归与概率回归为基础。并利用似然比检验作为交易信号的筛选器。
基于通用 MLP 逼近器的EA
本文介绍了一种在交易 EA 中使用神经网络的简单且易于实现的方法,该方法不需要深厚的机器学习知识。该方法免除了对目标函数进行归一化的步骤,同时克服了“权重爆炸”和“网络停滞”等问题,并提供了直观的训练过程和结果的可视化控制。
在MQL5中创建交易管理员面板(第十一部分):现代化功能通信接口(1)
今天,我们将聚焦于升级通信面板的消息交互界面,使其符合现代高性能通信应用的标准。这一改进将通过更新CommunicationsDialog类来实现。欢迎加入本文的探讨与讨论,我们将共同剖析关键要点,并规划使用MQL5推进界面编程的下一步方向。
数据科学和机器学习(第 33 部分):MQL5 中的 Pandas 数据帧,为机器学习收集数据更加容易
当与机器学习模型共事时,确保用于训练、验证和测试的数据一致性必不可少。在本文中,我们将创建我们自己的 MQL5 版本 Pandas 函数库,确保使用统一方式来处理机器学习数据;这样做是为确保在 MQL5 内部和外部应用相同的数据,其中大部分发生在训练阶段。
市场模拟(第一部分):跨期订单(一)
今天我们将开始第二阶段,研究市场回放/模拟系统。首先,我们将展示跨期订单的可能解决方案。我会向你展示解决方案,但它还不是最终的。这将是我们在不久的将来需要解决的一个问题的可能解决方案。
矩阵分解:更实用的建模
您可能没有注意到,矩阵建模有点奇怪,因为只指定了列,而不是行和列。在阅读执行矩阵分解的代码时,这看起来非常奇怪。如果您希望看到列出的行和列,那么在尝试分解时可能会感到困惑。此外,这种矩阵建模方法并不是最好的。这是因为当我们以这种方式对矩阵建模时,会遇到一些限制,迫使我们使用其他方法或函数,而如果以更合适的方式建模,这些方法或函数是不必要的。
ALGLIB库优化方法(第一部分)
在本文中,我们将了解适用于MQL5的ALGLIB库的优化方法。本文包含了使用ALGLIB解决优化问题的简单且清晰的示例,旨在使读者能够尽可能轻松地掌握这些方法。我们将详细探讨BLEIC、L-BFGS和NS等算法的连接方式,并使用它们来解决一个简单的测试问题。
开发回放系统(第 74 部分):新 Chart Trade(一)
在本文中,我们将修改本系列关于 Chart Trade 中显示的最后一段代码。这些变化对于使代码适应当前的回放/模拟系统模型是必要的。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
群体算法的基类作为高效优化的支柱
该文章代表了一种独特的研究尝试,旨在将多种群体算法组合成一个类,以简化优化方法的应用。这种方法不仅为开发新算法(包括混合变体)开辟了机会,而且还创建了一个通用的基本测试平台。它成为根据特定任务选择最佳算法的关键工具。
您应当知道的 MQL5 向导技术(第 33 部分):高斯(Gaussian)进程核心
高斯(Gaussian)进程核心是正态分布的协方差函数,能够在预测中扮演角色。我们在 MQL5 的自定义信号类中探索这种独特的算法,看看它是否可当作主要入场和离场信号。
在Python和MQL5中应用局部特征选择
本文探讨了Narges Armanfard等人在论文《数据分类的局部特征选择》中介绍的一种特征选择算法。该算法使用Python实现,用于构建二元分类器模型,这些模型可以与MetaTrader 5应用程序集成以进行推理。
神经Boid优化算法2(NOA2)
新型专有优化算法NOA2融合了种群智能原理与神经控制机制。NOA2将神经Boid的运动机制与自适应神经系统结合,使智能体在搜索最优解的过程中能够自我修正其行为。该算法目前正处于积极开发阶段,展现出对于解决复杂优化问题的潜力。
您应当知道的 MQL5 向导技术(第 54 部分):搭配混合 SAC 和张量的强化学习
软性参与者-评论者是一种强化学习算法,我们曾在之前的系列文章中考察过 Python 和 ONNX,作为高效的网络训练方式。我们重新审视该算法,意在利用张量,即 Python 中常用的计算图形。
开发回放系统(第 71 部分):取得正确的时间(四)
在本文中,我们将研究如何实现上一篇文章中所示的与回放/模拟服务相关的内容。就像生活中的许多其他事情一样,问题必然会出现。这次的情况也不例外。在这篇文章中,我们将继续改进。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
使用 MetaTrader 5 Python 构建类似 MQL5 的交易类
MetaTrader 5 Python 包提供了一种使用 Python 语言为 MetaTrader 5 平台构建交易应用程序的简便方法。虽然它是一个强大而有用的工具,但在创建算法交易解决方案方面,该模块不如 MQL5 编程语言那么容易。在本文中,我们将构建类似于 MQL5 中提供的交易类,以创建类似的语法,使在 Python 中创建交易机器人比在 MQL5 中更容易。
您应当知道的 MQL5 向导技术(第 47 部分):配合时态差异的强化学习
时态差异是强化学习中的另一种算法,它基于智顾训练期间预测和实际奖励之间的差异更新 Q-值。它专门驻守更新 Q-值,而不介意它们的状态-动作配对。因此,我们考察如何在向导汇编的智能系统中应用这一点,正如我们在之前文章中所做的那样。
开发回放系统(第 77 部分):新 Chart Trade(四)
在本文中,我们将介绍创建通信协议时需要考虑的一些措施和预防措施。这些都是非常简单明了的事情,所以我们在本文中不会详细介绍。但要了解会发生什么,您需要了解文章的内容。
在MQL5中构建自优化智能交易系统(第七部分):同时利用多个时间周期进行交易
在本系列文章中,我们已经探讨了多种确定技术指标最佳使用周期的方法。今天,我们将向读者展示如何反其道而行之,也就是我们不再局限于挑选一个最佳时间周期,而是演示如何有效地利用所有可用周期。这种方法减少了被剔除的数据量,并为机器学习算法提供了常规价格预测以外的应用场景。
开发回放系统(第 55 部分):控制模块
在本文中,我们将实现一个控制指标,以便它可以集成到我们正在开发的消息系统中。虽然这并不难,但关于这个模块的初始化,有一些细节需要了解。此处提供的材料仅用于教育目的。除了学习和掌握所示的概念外,绝不应将其视为任何目的的应用程序。
创建MQL5交易管理员面板(第九部分):代码组织(1)
这次将深入探讨处理大型代码库时遇到的挑战。我们将探索在MQL5中进行代码组织的最佳实践,并采用一种实用方法来提升我们交易管理面板源代码的可读性和可扩展性。此外,我们致力于开发可复用的代码组件,这些组件有可能为其他开发者在其算法开发过程中带来益处。请继续阅读并参与讨论。
数据科学和机器学习(第 38 部分):外汇市场中的 AI 迁移学习
从 ChatGPT 到自动驾驶汽车,这些占据头条的 AI 突破并非基于孤立模型,而是从各种模型或共同领域积累的知识转化而成。现在,同样“学一次,随处应用”的方式也可帮助我们在算法交易中变换人工智能模型。在本文中,我们会将探讨如何利用从各种工具获取的信息,帮助提升迁移学习的预测效果。
您应当知道的 MQL5 向导技术(第 37 部分):配以线性和 Matérn 内核的高斯过程回归
线性内核是机器学习中,针对线性回归和支持向量机所用的同类中最简单的矩阵。另一方面,Matérn 内核是我们在之前的文章中讲述的径向基函数的更普遍版本,它擅长映射不如 RBF 假设那样平滑的函数。我们构建了一个自定义信号类,即利用两个内核来预测做多和做空条件。
MQL5 交易工具包(第 7 部分):使用最近取消的挂单函数扩展历史管理 EX5 库
了解如何完成历史管理 EX5 库中最终模块的创建,重点关注负责处理最近取消的挂单的函数。这将为您提供使用 MQL5 有效检索和存储与已取消挂单相关的关键详细信息的工具。
市场模拟(第三部分):性能问题
我们经常需要后退一步,然后继续前进。在本文中,我们将展示所有必要的更改,以确保鼠标和 Chart Trade 指标不会中断。作为奖励,我们还将介绍未来将广泛使用的其他头文件中发生的其他更改。