群体优化算法:抵抗陷入局部极值(第一部分)
本文介绍了一个独特的实验,旨在研究群体优化算法在群体多样性较低时有效逃脱局部最小值并达到全局最大值的能力。朝着这个方向努力将进一步了解哪些特定算法可以使用用户设置的坐标作为起点成功地继续搜索,以及哪些因素会影响它们的成功。
开发一款波段交易入场监控智能交易系统(EA)
随着年末临近,长期交易者往往会回顾市场历史数据,分析市场行为与趋势,以期预测未来可能的走势。本文将探讨如何使用MQL5开发一款长期交易入场监控智能交易系统(EA)。该系统的开发旨在解决因手动交易和缺乏自动化监控系统而导致的长期交易机会错失问题。我们将以交易量最为活跃的货币对之一为例,有效制定策略并开发我们的解决方案。
价格行为分析工具包开发系列(第4部分):分析预测型EA
我们不再局限于仅在图表上查看分析后的指标,而是将视野拓展至更广阔的范畴,其中包括与Telegram的集成。这一增强功能使得重要结果能够通过Telegram应用程序直接发送至您的移动设备。请随我们一同在本篇文章中探索这一过程。
分析交易所价格的二进制代码(第一部分):技术分析的新视角
本文提出了一种基于将价格波动转换为二进制代码的技术分析创新方法。作者展示了市场行为的各个方面——从简单的价格波动到复杂形态——如何被编码为一系列的0和1。
基于时间、价格和成交量创建 3D 柱状图引入波动率测量
本文探讨了多元三维价格图表及其创建方法。我们还将探讨 3D 柱状图如何预测价格反转,以及 Python 和 MetaTrader 5 如何让我们实时绘制这些成交量柱状图。
基于Python与MQL5的多模块交易机器人(第一部分):构建基础架构与首个模块
我们将开发一个模块化交易系统,该系统结合了 Python 进行数据分析,并使用 MQL5 执行交易。四个独立模块并行监控市场的不同方面:成交量、套利、经济指标和风险,并使用包含400棵树的随机森林( RandomForest )。特别强调风险管理,因为即使是最先进的交易算法,如果没有适当的风险管理,也是毫无用处的。
开发回放系统(第 75 部分):新 Chart Trade(二)
在本文中,我们将讨论 C_ChartFloatingRAD 类。这就是 Chart Trade 发挥作用的原因。然而,解释并未就此结束,我们将在下一篇文章中完成它,因为这篇文章的内容相当广泛,需要深入理解。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
基于Python和MQL5的特征工程(第二部分):价格角度
在MQL5论坛上,有许多帖子询问如何计算价格变化的斜率。本文将展示一种计算任意交易市场中价格变化所形成角度的可行方法。此外,我们还将探讨为这项新特征工程投入额外精力和时间是否值得。我们将研究价格斜率是否能在预测M1时间框架下的USDZAR货币对时,提高我们人工智能(AI)模型的准确性。
MQL5 中的范畴论 (第 9 部分):幺半群(Monoid)— 动作
本文是以 MQL5 实现范畴论系列的延续。 在这里,我们继续将“幺半群 — 动作”当为幺半群变换的一种手段,如上一篇文章所涵盖的内容,从而增加了应用。
数据科学和机器学习(第 19 部分):利用 AdaBoost 为您的 AI 模型增压
AdaBoost,一个强力的提升算法,设计用于提升 AI 模型的性能。AdaBoost 是 Adaptive Boosting 的缩写,是一种复杂的融合学习技术,可无缝集成较弱的学习器,增强它们的集体预测强度。
大气云模型优化(ACMO):理论
本文致力于介绍一种元启发式算法——大气云模型优化(ACMO)算法,该算法通过模拟云层的行为来解决优化问题。该算法利用云层的生成、移动和传播的原理,适应解空间中的“天气条件”。本文揭示了该算法如何通过气象模拟在复杂的可能性空间中找到最优解,并详细描述了ACMO运行的各个阶段,包括“天空”准备、云层的生成、云层的移动以及水的集中。
您应当知道的 MQL5 向导技术(第 10 部分):非常规 RBM
限制性玻尔兹曼(Boltzmann)机处于基本等级,是一个两层神经网络,擅长通过降维进行无监督分类。我们取其基本原理,并检验如果我们重新设计和训练它,我们是否可以得到一个实用的信号滤波器。
因果推断中的时间序列聚类
在机器学习中,聚类算法是重要的无监督学习算法,它们可以将原始数据划分为具有相似观测值的组。利用这些组,可以分析特定聚类的市场情况,使用新数据寻找最稳定的聚类,并进行因果推断。本文提出了一种在Python中进行时间序列聚类的原创方法。
使用 MetaTrader 5 在 Python 中查找自定义货币对形态
外汇市场是否存在重复的形态和规律?我决定使用 Python 和 MetaTrader 5 创建自己的形态分析系统。一种数学和编程的共生关系,用于征服外汇。
让新闻交易轻松上手(第五部分):执行交易(2)
本文将扩展交易管理类,以包含用于交易新闻事件的买入止损(buy-stop)和卖出止损(sell-stop)订单,并为这些订单添加过期时间限制,以防止隔夜交易。在EA中嵌入一个滑点函数,以尝试防止或最小化在交易中使用止损订单时可能发生的滑点,特别是在新闻事件期间。
黑洞算法(BHA)
黑洞算法(BHA)利用黑洞引力原理来优化解。在本文中,我们将考察 BHA 如何在避免局部极端情况的同时,吸引最佳解,以及为什么该算法已成为解决复杂问题的强大工具。学习简单的思路如何在优化世界带来令人印象深刻的结果。
开发回放系统(第 44 部分):Chart Trader 项目(三)
在上一篇文章中,我介绍了如何操作模板数据以便在 OBJ_CHART 中使用。在那篇文章中,我只是概述了这一主题,并没有深入探讨细节,因为在那个版本中,这项工作是以非常简单的方式完成的。这样做是为了更容易解释内容,因为尽管很多事情表面上很简单,但其中有些并不那么明显,如果不了解最简单、最基本的部分,就无法真正理解全局。
价格行为分析工具包开发(第二部分):分析注释脚本
秉承我们简化价格行为分析的核心理念,我们很高兴推出又一款可显著提升市场分析能力、助力您做出精准决策的工具。该工具可展示关键技术指标(如前一日价格、重要支撑阻力位、成交量),并在图表上自动生成可视化标记。
基于MQL5和Python的自优化EA(第五部分):深度马尔可夫模型
在本次讨论中,我们将把一个简单的马尔可夫链应用于相对强弱指标(RSI),以观察指标穿过关键水平后的价格行为。我们得出结论,当RSI处于11-20区间时,会产生最强的买入信号;而当RSI处于71-80区间时,会产生最强的卖出信号,这在新西兰元兑日元(NZDJPY)货币对上表现得尤为明显。我们将展示如何通过对数据的处理和分析,直接从您所拥有的数据中构建出最优的交易策略。此外,我们还将展示如何训练一个深度神经网络,使其能够最优地利用转移矩阵。
用Python和MQL5进行投资组合优化
本文探讨了使用Python和MQL5结合MetaTrader 5进行高级投资组合优化的技术。文章展示了如何开发用于数据分析、资产配置和交易信号生成的算法,强调了在现代金融管理和风险缓解中数据驱动决策的重要性。
开发回放系统(第 70 部分):取得正确的时间(三)
在本文中,我们将了解如何正确有效地使用 CustomBookAdd 函数。尽管它看起来很简单,但它有许多细微差别。例如,它允许您告诉鼠标指标自定义交易品种是否正在竞价、交易或市场是否关闭。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
动物迁徙优化(AMO)算法
本文介绍了AMO算法,该算法通过模拟动物的季节性迁徙来寻找适合生存和繁殖的最优条件。AMO的主要特点包括使用拓扑邻域和概率更新机制,使得其易于实现,并且能够灵活应用于各种优化任务。
数据科学和机器学习(第 31 部分):利用 CatBoost AI 模型进行交易
CatBoost AI 模型最近在机器学习社区中广受欢迎,因为它们的预测准确性、效率、及针对分散和困难数据集的健壮性。在本文中,我们将详细讨论如何实现这些类型的模型,进而尝试进击外汇市场。
您应当知道的 MQL5 向导技术(第 32 部分):正则化
正则化是一种在贯穿神经网络各层应用离散权重,按比例惩罚损失函数的形式。我们来考察其重要性,对于一些不同的正则化形式,能够在配合向导组装的智能系统运行测试。
您应当知道的 MQL5 向导技术(第 25 部分):多时间帧测试和交易
默认情况下,由于组装类中使用了 MQL5 代码架构,故基于多时间帧策略,且由向导组装的智能系统无法进行测试。我们探索一种绕过该限制的方式,看看搭配二次移动平均线的情况下,研究运用多时间帧策略的可能性。
开发回放系统(第 46 部分):Chart Trade 项目(五)
厌倦了浪费时间搜索应用程序工作所需的文件吗?在可执行文件中包含所有内容如何?这样,你就不用再去找东西了。我知道很多人都使用这种分发和存储形式,但还有一种更合适的方式。至少在可执行文件的分发和存储方面是这样。这里将介绍的方法非常有用,因为您可以将 MetaTrader 5 本身用作优秀的助手,也可以使用 MQL5。此外,它并不难理解。
开发回放系统(第 58 部分):重返服务工作
在回放/模拟器服务的开发和改进暂停之后,我们正在恢复该工作。现在我们已经放弃使用终端全局变量等资源,我们将不得不完全重组其中的一些部分。别担心,我们会详细解释这个过程,这样每个人都可以关注我们服务的发展。
开发回放系统(第 35 部分):进行调整 (一)
在向前迈进之前,我们需要解决几个问题。这些实际上并不是必需的修正,而是对类的管理和使用方式的改进。原因是系统内的某些相互作用导致了故障的发生。尽管我们试图找出这些故障的原因以消除它们,但所有这些尝试都没有成功。其中有些情况完全不合理,例如,当我们在 C/C++ 中使用指针或递归时,程序就会崩溃。
开发回放系统(第 49 部分):事情变得复杂 (一)
在本文中,我们将把问题复杂化。通过前面文章中展示的内容,我们将开始打开模板文件,以便用户可以使用自己的模板。不过,我将逐步进行修改,因为我还将改进指标,以减少 MetaTrader 5 的负载。
随机数生成器质量对优化算法效率的影响
在这篇文章中,我们将探讨梅森旋转算法(Mersenne Twister)随机数生成器,并将其与MQL5中的标准随机数生成器进行比较。此外,我们还将研究随机数生成器的质量对优化算法结果的影响。
开发回放系统(第 76 部分):新 Chart Trade(三)
在本文中,我们将看看上一篇文章中缺少的 DispatchMessage 代码是如何工作的。我们还会介绍下一篇文章的主题。因此,在继续下一个主题之前,了解这段代码的工作原理非常重要。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
您应当知道的 MQL5 向导技术(第 44 部分):平均真实范围(ATR)技术指标
ATR 振荡指标是一款非常流行的指标,权当波动率代表,尤其是在交易量数据稀缺的外汇市场当中。我们以形态为基础来验证这一点,就如我们对先前指标所做那样,并分享策略和测试报告,致谢 MQL5 向导库的类和汇编。