MQL5 交易策略自动化(第 23 部分):带追踪止损与篮子交易的区间补仓系统
在本文中,我们将通过引入追踪止损机制与多篮子交易功能,对原有区间补仓系统(Zone Recovery System)进行升级优化。我们将探索升级版架构如何借助动态追踪止损机制锁定已实现利润,以及通过篮子交易管理系统高效处理多维度交易信号。通过实现与回测,我们展示了一个更强大、更能适应市场变化表现的交易系统。
DoEasy. 控件 (第 17 部分): 裁剪对象不可见部分、辅助箭头按钮 WinForms 对象
在本文中,我将创建一种功能,可隐藏超出其容器之外的对象部分。 此外,我亦将创建辅助箭头按钮对象,作为其它 WinForms 对象的一部分。
开发回放系统(第 46 部分):Chart Trade 项目(五)
厌倦了浪费时间搜索应用程序工作所需的文件吗?在可执行文件中包含所有内容如何?这样,你就不用再去找东西了。我知道很多人都使用这种分发和存储形式,但还有一种更合适的方式。至少在可执行文件的分发和存储方面是这样。这里将介绍的方法非常有用,因为您可以将 MetaTrader 5 本身用作优秀的助手,也可以使用 MQL5。此外,它并不难理解。
算法交易中的神经符号化系统:结合符号化规则和神经网络
本文讲述开发混合交易系统的经验,即结合经典技术分析与神经网络。作者从基本形态分析、神经网络结构、到交易决策背后的机制,提供了系统架构的详细分析,并分享了真实代码和实践观察。
迁移至 MQL5 Algo Forge(第 4 部分):使用版本和发布
我们将继续开发 Simple Candles 和 Adwizard 项目,同时还将描述使用 MQL5 Algo Forge 版本控制系统和仓库的细节。
随机数生成器质量对优化算法效率的影响
在这篇文章中,我们将探讨梅森旋转算法(Mersenne Twister)随机数生成器,并将其与MQL5中的标准随机数生成器进行比较。此外,我们还将研究随机数生成器的质量对优化算法结果的影响。
数据科学和机器学习(第 32 部分):保持您的 AI 模型更新,在线学习
在瞬息万变的交易世界中,适应市场变化不仅是一种选择 — 而且是一种必要。每天都有新的形态和趋势出现,即使是最先进的机器学习模型,也难以面对不断变化的条件保持有效。在本文中,我们将探讨如何通过自动重训练,令您的模型保持相关性、及对新市场数据的响应能力。
重构经典策略(第十四部分):高胜率交易形态
高胜率交易形态在交易圈内广为人知,但遗憾的是,其定义始终缺乏明确标准。本文将通过实证研究与算法建模,为高胜率形态构建量化定义框架,并探索其识别与运用方法。借助梯度提升树模型,我们演示如何系统性优化任意交易策略的性能,同时以更精准、可解释的方式向计算机传达交易指令的核心逻辑。
为 Metatrader 5 开发MQTT客户端:TDD方法——第4部分
本文是一系列文章的第四部分,介绍了我们为 MQTT 协议开发本机 MQL5 客户端的步骤。在这一部分中,我们将描述什么是 MQTT v5.0 属性,它们的语义,以及我们如何阅读其中的一些属性,并提供一个如何使用属性来扩展协议的简短示例。
种群优化算法:鲸鱼优化算法(WOA)
鲸鱼优化算法(WOA)是一种受座头鲸行为和捕食策略启发的元启发式算法。该算法的核心思想在于模仿所谓的“气泡网”捕食方法,即鲸鱼在猎物周围制造气泡,然后以螺旋运动的方式攻击猎物。
重构经典策略(第五部分):基于USDZAR的多品种分析
在本系列文章中,我们重新审视经典策略,看看是否可以使用人工智能来改进这些策略。在今天的文章中,我们将研究一种使用一篮子具有相关性的金融产品来进行多品种分析的流行策略,我们将重点关注货币对 USDZAR。
群体自适应矩估计(ADAM)优化算法
本文介绍了将广为人知且广受欢迎的ADAM梯度优化方法转变为群体算法的过程,并介绍了通过引入混合个体对其进行改进的方案。这种新方法能够利用概率分布创建融合了成功决策要素的智能体。关键创新点在于形成了群体混合个体,这些个体能够自适应地积累来自最具潜力解决方案的信息,从而提高了在复杂多维空间中的搜索效率。
交易中的神经网络:多智代自适应模型(终篇)
在上一篇文章中,我们讲述了多智代自适应框架 MASA,它结合了强化学习方法和自适应策略,在动荡的市场条件下提供了盈利能力、及风险之间的和谐平衡。我们已在该框架内构建了单个智代的功能。在本文中,我们继续我们已开始的工作,令其得出合乎逻辑的结论。
开发回放系统(第 49 部分):事情变得复杂 (一)
在本文中,我们将把问题复杂化。通过前面文章中展示的内容,我们将开始打开模板文件,以便用户可以使用自己的模板。不过,我将逐步进行修改,因为我还将改进指标,以减少 MetaTrader 5 的负载。
从基础到中级:数组(三)
在本文中,我们将介绍如何在 MQL5 中使用数组,包括如何使用数组在函数和过程之间传递信息。目的是为您准备在本系列后续材料中演示和解释的内容。因此,我强烈建议您仔细研究本文将展示的内容。
神经网络实践:伪逆 (二)
由于这些文章本质上是教育性的,并不打算展示特定功能的实现,因此我们在本文中将做一些不同的事情。我们将重点介绍伪逆的因式分解,而不是展示如何应用因式分解来获得矩阵的逆。原因是,如果我们能以一种特殊的方式来获得一般系数,那么展示如何获得一般系数就没有意义了。更好的是,读者可以更深入地理解为什么事情会以这种方式发生。那么,现在让我们来弄清楚为什么随着时间的推移,硬件正在取代软件。
DoEasy.服务函数(第 3 部分):外包线形态
在本文中,我们将开发 DoEasy 库中的外包线(Outside Bar)价格行为形态,并优化访问价格形态管理的方法。此外,我们将修复在库测试中发现的错误和缺点。
使用Python与MQL5进行多个交易品种分析(第二部分):主成分分析在投资组合优化中的应用
交易账户风险管理是所有交易者面临的共同挑战。我们如何在MetaTrader 5中开发能够动态学习不同交易品种的高、中、低风险模式的交易应用?通过主成分分析(PCA),我们可以更有效地控制投资组合的方差。本文将演示如何从MetaTrader 5获取的市场数据中,训练出这三种风险模式的交易模型。
MQL5自优化智能交易系统(第八部分):多策略分析(2)
欢迎继续阅读本系列文章,我们将把前两个交易策略合并为一个集成交易策略。本文将展示多种合并多个策略的可行方案,并介绍如何控制参数空间,确保即使在参数数量增加的情况下,仍能进行有效的优化。
您应当知道的 MQL5 向导技术(第 18 部分):配合本征向量进行神经架构搜索
神经架构搜素,是一种判定理想神经网络设置的自动化方式,在面对许多选项和大型测试数据集时可能是一个加分项。我们试验了当本征向量搭配时,如何令这个过程更加高效。
开发回放系统(第 35 部分):进行调整 (一)
在向前迈进之前,我们需要解决几个问题。这些实际上并不是必需的修正,而是对类的管理和使用方式的改进。原因是系统内的某些相互作用导致了故障的发生。尽管我们试图找出这些故障的原因以消除它们,但所有这些尝试都没有成功。其中有些情况完全不合理,例如,当我们在 C/C++ 中使用指针或递归时,程序就会崩溃。
交易中的神经网络:对比形态变换器(终章)
在本系列的上一篇文章中,我们考察了“原子-基序对比变换器”(AMCT)框架,其用对比学习来发现各个级别的关键形态,从基本元素到复杂结构。在本文中,我们将继续利用 MQL5 实现 AMCT 方式。
斐波那契(Fibonacci)数列在外汇交易中的应用(第一部分):探究价格与时间的关系
市场如何遵循基于斐波那契数列的关系?在斐波那契数列中,每个后续数字都等于前两个数字之和(1, 1, 2, 3, 5, 8, 13, 21……),该数列不仅描述了兔子种群的增长情况。我们将考虑毕达哥拉斯的假设,即世间万物都遵循某种数字关系……
神经网络实践:割线
正如理论部分已经解释的那样,在使用神经网络时,我们需要使用线性回归和导数。为什么呢?原因是线性回归是现存最简单的公式之一。从本质上讲,线性回归只是一种仿射函数。然而,当我们谈论神经网络时,我们对直接线性回归的影响并不感兴趣。我们感兴趣的是生成这条直线的方程。我们对创建出的线并不感兴趣。你知道我们需要理解的主要方程吗?如果没有,我建议您阅读这篇文章来了解它。
开发具有 RestAPI 集成的 MQL5 强化学习代理(第 3 部分):在 MQL5 中创建自动移动和测试脚本
本文讨论在 Python 中实现井字游戏中的自动移动,并与 MQL5 函数和单元测试集成。目标是通过在 MQL5 中进行测试,提高游戏的互动性并确保系统的可靠性。本文内容包括游戏逻辑开发、集成和实际测试,最后将介绍动态游戏环境和强大集成系统的创建。
开发回放系统(第 39 部分):铺平道路(三)
在进入开发的第二阶段之前,我们需要修正一些想法。您知道如何让 MQL5 满足您的需求吗?您是否尝试过超出文档所包含的范围?如果没有,那就做好准备吧。因为我们将做一些大多数人通常不会做的事情。
数据科学和机器学习(第 37 部分):利用烛条形态和人工智能战胜市场
蜡条形态有助于交易者理解市场心理,并辨别金融市场趋势,令交易决策更加明智,从而带来更佳成果。在本文中,将探讨如何利用蜡条形态与 AI 模型,达成最优交易绩效。
迁移至 MQL5 Algo Forge(第 3 部分):在您自己的项目中使用外部仓库
让我们探索如何开始将 MQL5 Algo Forge 存储中任何仓库的外部代码集成到您自己的项目中。在本文中,我们最后转向这个有前景但更复杂的任务:如何在 MQL5 Algo Forge 中实际连接和使用来自第三方仓库的库。
使用图表可视化交易(第一部分):选择分析时段
在这里,我们将从头开始编写一个脚本,以简化卸载交易截图用于分析交易入场点的过程。能够方便地将所有关于单个交易的必要信息展示在一个图表上,并且该图表可以根据不同时间周期绘制。
在MQL5中创建交易管理员面板(第三部分):通过视觉样式设计增强图形用户界面(1)
在本文中,我们将专注于使用MQL5为交易管理员面板的图形用户界面(GUI)进行视觉样式设计与优化。我们将探讨MQL5中可用的各种技术和功能,这些技术和功能允许对界面进行定制和优化,确保它既能满足交易者的需求,又能保持吸引人的外观。
开发回放系统(第 69 部分):取得正确的时间(二)
今天我们将看看为什么我们需要 iSpread 功能。同时,我们将了解当没有可用的分时报价时,系统如何通知我们柱形的剩余时间。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
开发回放系统(第 36 部分):进行调整(二)
让我们的程序员生活举步维艰的原因之一就是做出假设。在本文中,我将向您展示假设是多么危险:例如在 MQL5 编程中假设类型将具有某个特定值,或是在 MetaTrader 5 中假设不同服务器的工作方式相同。
您应当知道的 MQL5 向导技术(第 21 部分):配以财经日历数据进行测试
默认情况下,财经日历数据在策略测试器中不可用于智能系统测试。我们看看数据库能如何提供帮助,绕过这个限制。故此,在本文中,我们会探讨如何使用 SQLite 数据库来存档财经日历新闻,如此这般,由向导组装的智能系统就可以用它来生成交易信号。
使用MQL5和Python构建自优化的EA(第四部分):模型堆叠
今天,我们将展示如何构建能够从自身错误中学习的AI驱动的交易应用程序。我们将展示一种称为堆叠(stacking)的技术,我们使用2个模型来做出1个预测。第一个模型通常是较弱的学习器,而第二个模型通常是更强大的模型,它学习较弱学习器的残差。我们的目标是创建一个模型集成,以期获得更高的准确性。