MQL5 中的范畴论 (第 9 部分):幺半群(Monoid)— 动作
本文是以 MQL5 实现范畴论系列的延续。 在这里,我们继续将“幺半群 — 动作”当为幺半群变换的一种手段,如上一篇文章所涵盖的内容,从而增加了应用。
开发回放系统(第 41 部分):启动第二阶段(二)
如果到目前为止,你觉得一切都很好,那就说明你在开始开发应用程序时,并没有真正考虑到长远的问题。随着时间的推移,你将不再需要为新的应用程序编程,只需让它们协同工作即可。让我们看看如何完成鼠标指标的组装。
接受者操作特征(ROC)曲线入门
ROC 曲线是用于评估分类器性能的图形工具。尽管 ROC 图形相对简单,但在实践中使用它们时,仍存在一些常见的误解和误区。本文旨在为那些希望理解分类器性能评估的交易者提供一份关于 ROC 图形的入门介绍。
您应当知道的 MQL5 向导技术(第 10 部分):非常规 RBM
限制性玻尔兹曼(Boltzmann)机处于基本等级,是一个两层神经网络,擅长通过降维进行无监督分类。我们取其基本原理,并检验如果我们重新设计和训练它,我们是否可以得到一个实用的信号滤波器。
用于预测金融时间序列的生物神经元
我们将为时间序列预测建立一个生物学上正确的神经元系统。在神经网络架构中引入类似等离子体的环境创造了一种“集体智能”,其中每个神经元不仅通过直接连接,还通过长距离电磁相互作用影响系统的运行。让我们看看神经大脑建模系统在市场上的表现。
基于Python和MQL5的特征工程(第一部分):为长期 AI 模型预测移动平均线
移动平均线无疑是我们的 AI 模型进行预测的最佳指标。然而,我们可以通过严谨数据变换来进一步提高其准确性。本文将展示如何构建能够预测更远范围的AI模型,超越您目前所实现的水平,同时不会显著降低准确率。移动平均线的实用性确实令人惊叹。
用Python和MQL5进行投资组合优化
本文探讨了使用Python和MQL5结合MetaTrader 5进行高级投资组合优化的技术。文章展示了如何开发用于数据分析、资产配置和交易信号生成的算法,强调了在现代金融管理和风险缓解中数据驱动决策的重要性。
基于MQL5和Python的自优化EA(第五部分):深度马尔可夫模型
在本次讨论中,我们将把一个简单的马尔可夫链应用于相对强弱指标(RSI),以观察指标穿过关键水平后的价格行为。我们得出结论,当RSI处于11-20区间时,会产生最强的买入信号;而当RSI处于71-80区间时,会产生最强的卖出信号,这在新西兰元兑日元(NZDJPY)货币对上表现得尤为明显。我们将展示如何通过对数据的处理和分析,直接从您所拥有的数据中构建出最优的交易策略。此外,我们还将展示如何训练一个深度神经网络,使其能够最优地利用转移矩阵。
开发回放系统(第 58 部分):重返服务工作
在回放/模拟器服务的开发和改进暂停之后,我们正在恢复该工作。现在我们已经放弃使用终端全局变量等资源,我们将不得不完全重组其中的一些部分。别担心,我们会详细解释这个过程,这样每个人都可以关注我们服务的发展。
开发回放系统(第 70 部分):取得正确的时间(三)
在本文中,我们将了解如何正确有效地使用 CustomBookAdd 函数。尽管它看起来很简单,但它有许多细微差别。例如,它允许您告诉鼠标指标自定义交易品种是否正在竞价、交易或市场是否关闭。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
头脑风暴优化算法(第一部分):聚类
在本文中,我们将探讨一种受自然现象“头脑风暴”启发的新型优化方法——头脑风暴优化(Brain Storm Optimization,简称BSO)。我们还将讨论BSO方法所应用的一种解决多模态优化问题的新方法。该方法能够在无需预先确定子种群数量的情况下,找到多个最优解。此外,我们还会考虑K-Means和K-Means++聚类方法。
您应当知道的 MQL5 向导技术(第 43 部分):依据 SARSA 进行强化学习
SARSA 是 “State-Action-Reward-State-Action” 的缩写,是另一种能在实现强化学习时运用的算法。故此,正如我们在 Q-学习 和 DQN 中看到的那样,我们考察了如何在向导汇编的智能系统中探索和实现它,将其作为独立模型,而不仅仅是一种训练机制。
您应当知道的 MQL5 向导技术(第 32 部分):正则化
正则化是一种在贯穿神经网络各层应用离散权重,按比例惩罚损失函数的形式。我们来考察其重要性,对于一些不同的正则化形式,能够在配合向导组装的智能系统运行测试。
开发回放系统(第 44 部分):Chart Trader 项目(三)
在上一篇文章中,我介绍了如何操作模板数据以便在 OBJ_CHART 中使用。在那篇文章中,我只是概述了这一主题,并没有深入探讨细节,因为在那个版本中,这项工作是以非常简单的方式完成的。这样做是为了更容易解释内容,因为尽管很多事情表面上很简单,但其中有些并不那么明显,如果不了解最简单、最基本的部分,就无法真正理解全局。
原子轨道搜索(AOS)算法
本文探讨了原子轨道搜索(Atomic Orbital Search,AOS)算法,该算法运用原子轨道模型的概念来模拟解的搜索过程。此算法基于概率分布以及原子内相互作用的动力学原理。本文详细阐述了关于AOS算法的数学层面,包括候选解位置的更新方式,以及能量吸收与释放的机制。AOS算法通过为计算问题提供一种创新的优化方法,为将量子原理应用于计算问题开辟了新思路。
基于人工生态系统的优化(AEO)算法
本文探讨了一种元启发式算法——基于人工生态系统的优化(Artificial Ecosystem-based Optimization, AEO)算法。该算法通过生成初始解种群并应用自适应更新策略,模拟生态系统各组成部分之间的相互作用。文中详细阐述了AEO算法的运行阶段,包括消耗阶段与分解阶段,以及不同智能体的行为策略。文章还介绍了该算法的特点和优势。
数据科学和机器学习(第 21 部分):解锁神经网络,优化算法揭秘
深入神经网络的心脏,我们将揭秘神经网络内部所用的优化算法。在本文中,探索解锁神经网络全部潜力的关键技术,把您的模型准确性和效率推向新的高度。
种群优化算法:模拟退火(SA)。第 1 部分
模拟退火算法是受到金属退火工艺启发的一种元启发式算法。在本文中,我们将对算法进行全面分析,并揭示围绕这种广为人知的优化方法的一些常见信仰和神话。本文的第二部分将研究自定义模拟各向同性退火(SIA)算法。
算法交易中的神经符号化系统:结合符号化规则和神经网络
本文讲述开发混合交易系统的经验,即结合经典技术分析与神经网络。作者从基本形态分析、神经网络结构、到交易决策背后的机制,提供了系统架构的详细分析,并分享了真实代码和实践观察。
数据科学和机器学习(第 32 部分):保持您的 AI 模型更新,在线学习
在瞬息万变的交易世界中,适应市场变化不仅是一种选择 — 而且是一种必要。每天都有新的形态和趋势出现,即使是最先进的机器学习模型,也难以面对不断变化的条件保持有效。在本文中,我们将探讨如何通过自动重训练,令您的模型保持相关性、及对新市场数据的响应能力。
群体自适应矩估计(ADAM)优化算法
本文介绍了将广为人知且广受欢迎的ADAM梯度优化方法转变为群体算法的过程,并介绍了通过引入混合个体对其进行改进的方案。这种新方法能够利用概率分布创建融合了成功决策要素的智能体。关键创新点在于形成了群体混合个体,这些个体能够自适应地积累来自最具潜力解决方案的信息,从而提高了在复杂多维空间中的搜索效率。
开发回放系统(第 46 部分):Chart Trade 项目(五)
厌倦了浪费时间搜索应用程序工作所需的文件吗?在可执行文件中包含所有内容如何?这样,你就不用再去找东西了。我知道很多人都使用这种分发和存储形式,但还有一种更合适的方式。至少在可执行文件的分发和存储方面是这样。这里将介绍的方法非常有用,因为您可以将 MetaTrader 5 本身用作优秀的助手,也可以使用 MQL5。此外,它并不难理解。
随机数生成器质量对优化算法效率的影响
在这篇文章中,我们将探讨梅森旋转算法(Mersenne Twister)随机数生成器,并将其与MQL5中的标准随机数生成器进行比较。此外,我们还将研究随机数生成器的质量对优化算法结果的影响。
开发回放系统(第 49 部分):事情变得复杂 (一)
在本文中,我们将把问题复杂化。通过前面文章中展示的内容,我们将开始打开模板文件,以便用户可以使用自己的模板。不过,我将逐步进行修改,因为我还将改进指标,以减少 MetaTrader 5 的负载。
您应当知道的 MQL5 向导技术(第 18 部分):配合本征向量进行神经架构搜索
神经架构搜素,是一种判定理想神经网络设置的自动化方式,在面对许多选项和大型测试数据集时可能是一个加分项。我们试验了当本征向量搭配时,如何令这个过程更加高效。
数据科学和机器学习(第 37 部分):利用烛条形态和人工智能战胜市场
蜡条形态有助于交易者理解市场心理,并辨别金融市场趋势,令交易决策更加明智,从而带来更佳成果。在本文中,将探讨如何利用蜡条形态与 AI 模型,达成最优交易绩效。
使用Python与MQL5进行多个交易品种分析(第二部分):主成分分析在投资组合优化中的应用
交易账户风险管理是所有交易者面临的共同挑战。我们如何在MetaTrader 5中开发能够动态学习不同交易品种的高、中、低风险模式的交易应用?通过主成分分析(PCA),我们可以更有效地控制投资组合的方差。本文将演示如何从MetaTrader 5获取的市场数据中,训练出这三种风险模式的交易模型。
斐波那契(Fibonacci)数列在外汇交易中的应用(第一部分):探究价格与时间的关系
市场如何遵循基于斐波那契数列的关系?在斐波那契数列中,每个后续数字都等于前两个数字之和(1, 1, 2, 3, 5, 8, 13, 21……),该数列不仅描述了兔子种群的增长情况。我们将考虑毕达哥拉斯的假设,即世间万物都遵循某种数字关系……
开发回放系统(第 35 部分):进行调整 (一)
在向前迈进之前,我们需要解决几个问题。这些实际上并不是必需的修正,而是对类的管理和使用方式的改进。原因是系统内的某些相互作用导致了故障的发生。尽管我们试图找出这些故障的原因以消除它们,但所有这些尝试都没有成功。其中有些情况完全不合理,例如,当我们在 C/C++ 中使用指针或递归时,程序就会崩溃。
在 MQL5 中创建交易管理面板(第九部分):代码组织(二):模块化
在本次讨论中,我们进一步将 MQL5 程序分解为更小、更易于管理的模块。然后,这些模块化组件将被集成到主程序中,从而增强其组织性和可维护性。这种方法简化了我们主程序的结构,并使各个组件可以在其他EA和指标的开发中复用。通过采用这种模块化设计,我们为未来的增强功能创建了坚实的基础,这将使我们的项目和更广泛的开发者社区都受益。
开发回放系统(第 69 部分):取得正确的时间(二)
今天我们将看看为什么我们需要 iSpread 功能。同时,我们将了解当没有可用的分时报价时,系统如何通知我们柱形的剩余时间。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
使用图表可视化交易(第一部分):选择分析时段
在这里,我们将从头开始编写一个脚本,以简化卸载交易截图用于分析交易入场点的过程。能够方便地将所有关于单个交易的必要信息展示在一个图表上,并且该图表可以根据不同时间周期绘制。