价格行为分析工具包开发(第六部分):均值回归信号捕捉器
有些概念乍一看似乎简单明了,但在实际操作中的实现却颇具挑战。在接下来的文章中,将带您了解我们创新性地自动化一款运用均值回归策略分析市场的智能交易系统(EA)的方法。与我们一同揭开这一激动人心的自动化过程的神秘面纱吧。
重构经典策略(第十一部分)移动平均线的交叉(二)
移动平均线和随机振荡器可用于生成趋势跟踪交易信号。然而,这些信号只有在价格行为发生之后才会被观察到。我们可以有效地利用人工智能克服技术指标中这种固有的滞后性。本文将教您如何创建一个完全自主的人工智能驱动型EA,这种方式可以改进您现有的任何交易策略。即使是最古老的交易策略也可以被改进。
神经网络变得简单(第 61 部分):离线强化学习中的乐观情绪问题
在离线学习期间,我们基于训练样本数据优化了智能体的政策。成品政策令智能体对其动作充满信心。然而,这种乐观情绪并不总是正当的,并且可能会在模型操作期间导致风险增加。今天,我们要寻找降低这些风险的方法之一。
因果推理中的倾向性评分
本文探讨因果推理中的匹配问题。匹配用于比较数据集中的类似观察结果,这对于正确确定因果关系和消除偏见是必要的。作者解释了这如何有助于构建基于机器学习的交易系统,这些系统在没有经过训练的新数据上变得更加稳定。倾向性评分在因果推理中起着核心作用并被广泛应用。
价格行为分析工具包开发(第10部分):外部资金流(二)VWAP
通过我们的综合指南,掌握VWAP的强大力量!学习如何使用MQL5和Python将VWAP分析集成到您的交易策略中。最大化您的市场洞察力,并改善您今天的交易决策。
神经网络变得轻松(第四十八部分):降低 Q-函数高估的方法
在上一篇文章中,我们概述了 DDPG 方法,它允许在连续动作空间中训练模型。然而,与其它 Q-学习方法一样,DDPG 容易高估 Q-函数的数值。这个问题往往会造成训练代理者时选择次优策略。在本文中,我们将研究一些克服上述问题的方式。
射箭算法(Archery Algorithm, AA)
本文详细探讨了受射箭启发的优化算法——射箭算法(Archery Algorithm, AA),重点介绍了如何使用轮盘赌法(roulette method)作为选择“箭矢”目标区域的机制。该方法允许评估解决方案的质量,并选择最有希望的位置进行进一步的探究。
开发多币种 EA 交易(第 6 部分):自动选择实例组
在优化交易策略后,我们会收到一组参数。我们可以使用它们在一个 EA 中创建多个交易策略实例。以前,我们都是手动操作。在此,我们将尝试自动完成这一过程。
价格行为分析工具包开发(第十三部分):RSI 哨兵工具
通过识别背离,可以有效地分析价格行为,而像 RSI 这样的技术指标则能提供关键的确认信号。在下面的文章中,我们将解释自动化的 RSI 背离分析如何识别趋势的延续和反转,从而为市场情绪提供宝贵的见解。
将您自己的 LLM 集成到 EA 中(第 5 部分):使用 LLM 开发和测试交易策略(四) —— 测试交易策略
随着当今人工智能的快速发展,语言模型(LLMs)是人工智能的重要组成部分,因此我们应该考虑如何将强大的 LLMs 整合到我们的算法交易中。对于大多数人来说,很难根据他们的需求微调这些强大的模型,在本地部署它们,然后将它们应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
关于因果网络分析(Causality Network Analysis,CNA)和向量自回归(Vector Autoregression,VAR)模型在市场事件预测中的应用实例
本文提供了一个使用因果网络分析(Causality Network Analysis,CNA)和向量自回归(Vector Autoregression,VAR)模型在MQL5中实现复杂交易系统的全面指南。文章涵盖了这些方法的理论背景,详细解释了交易算法中的关键函数,并提供了实现的示例代码。
构建和测试 Aroon 交易系统
在本文中,我们将学习在了解了 Aroon 指标(阿隆指标)的基础知识和基于该指标构建交易系统的必要步骤之后,如何构建 Aroon 交易系统。建立这个交易系统后,我们将对其进行测试,看看它是否能盈利,还是需要进一步优化。
基于LSTM的趋势预测在趋势跟踪策略中的应用
长短期记忆网络(LSTM)是一种特殊的循环神经网络(RNN),其设计初衷是通过有效捕捉数据中的长期依赖关系,并解决传统RNN存在的梯度消失问题,从而实现对时序数据的高效建模。本文将系统阐述如何利用LSTM进行未来趋势预测,进而提升趋势跟踪策略的实战表现。具体内容涵盖这些模块:LSTM关键概念介绍与发展契机、从MetaTrader 5平台提取数据、在Python中构建并训练模型、将机器学习模型嵌入MQL5中、基于统计回测的结果分析与改进方向。
开发多币种 EA 交易(第 4 部分):虚拟挂单和保存状态
在开始开发多币种 EA 后,我们已经取得了一些成果,并成功地进行了多次代码改进迭代。但是,我们的 EA 无法处理挂单,也无法在终端重启后恢复运行。让我们添加这些功能。
开发先进的 ICT 交易系统:在订单块指标中实现信号
在本文中,您将学习如何基于订单簿交易量(市场深度)开发订单块(Order Blocks)指标,并使用缓冲区对其进行优化以提高准确性。这结束了项目的当前阶段,并为下一阶段做准备,下一阶段将包括实施风险管理类和使用指标生成的信号的交易机器人。
价格行为分析工具包开发(第 17 部分):TrendLoom EA 工具
作为一名价格行为的观察者和交易者,我注意到当一个趋势得到多个时间周期的确认时,它通常会朝着该方向延续。可能不同的是趋势持续的时间,而这取决于您是哪种类型的交易者,无论是长期持仓还是从事剥头皮交易。您为确认所选的时间周期起着至关重要的作用。读这篇文章,了解一个快速、自动化的系统,只需点击一下按钮或通过定期更新,就能帮助您分析不同时间周期的整体趋势。
将 MQL5 与数据处理包集成(第 1 部分):高级数据分析和统计处理
集成实现了无缝的工作流程,来自 MQL5 的原始金融数据可以导入到 Jupyter Lab 等数据处理包中,用于包括统计测试在内的高级分析。
卡尔曼滤波器在外汇均值回归策略中的应用
卡尔曼滤波器是一种递归算法,在算法交易中用于通过滤除价格走势中的噪声来估计金融时间序列的真实状态。它能够根据新的市场数据动态更新预测,这使得它在均值回归等自适应策略中极具价值。本文首先介绍卡尔曼滤波器,涵盖其计算方法和实现方式。接下来,我们以外汇领域一个经典的均值回归策略为例,应用该滤波器。最后,我们通过将卡尔曼滤波器与移动平均线(MA)在外汇不同货币对上进行比较,开展各种统计分析。
理解编程范式(第 2 部分):面向对象方式开发价格行为智能系统
学习面向对象的编程范式,及其在 MQL5 代码中的应用。这是第二篇文章,更深入地讲解面向对象编程的规范,并通过一个实际示例提供上手经验。您将学习如何运用 EMA 指标,和烛条价格数据,将我们早期开发的过程化价格行为智能系统转换为面向对象的代码。
开发多币种 EA 交易系统(第 16 部分):不同报价历史对测试结果的影响
正在开发中的 EA 预计在与不同经纪商进行交易时都会表现出良好的效果。但目前我们一直使用 MetaQuotes 模拟账户的报价进行测试。让我们看看我们的 EA 是否准备好使用与测试和优化期间使用的报价不同的交易账户。
开发回放系统(第 40 部分):启动第二阶段(一)
今天我们将讨论回放/模拟器系统的新阶段。在这个阶段,谈话才会变得真正有趣,内容也相当丰富。我强烈建议您仔细阅读本文并使用其中提供的链接。这将帮助您更好地理解内容。
您应当知道的 MQL5 向导技术(第 45 部分):蒙特卡洛强化学习
蒙特卡洛是我们正在研究的第四种不同的强化学习算法,目的是探索它在向导汇编智能交易系统中的实现。尽管它锚定在随机抽样,但它提供了我们可以利用的多种模拟方法。
如何利用 MQL5 创建简单的多币种智能交易系统(第 7 部分):依据动量振荡器指标的之字折线
本文中的多货币智能系统是利用之字折线(ZigZag)指标的自动交易系统,该指标依据动量振荡器过滤、或彼此过滤信号。
价格行为分析工具包开发(第五部分):波动率导航智能交易系统(Volatility Navigator EA)
判断市场方向或许相对简单,但把握入场时机却颇具挑战。作为“价格行为分析工具包开发”系列文章的一部分,我很高兴再为大家介绍一款能够提供入场点、止盈水平和止损设置位置的工具。为实现这一目标,我们采用了MQL5编程语言。让我们在本文中深入探讨每一步。
开发回放系统(第 56 部分):调整模块
虽然模块之间已经可以正常交互,但在回放服务中尝试使用鼠标指标时会出现错误。在进入下一步之前,我们需要解决这个问题。此外,我们还将修复鼠标指标代码中的一个问题。所以这个版本经过适当的打磨,最终会稳定下来。
开发回放系统 — 市场模拟(第 22 部分):外汇(III)
虽然这是关于这个主题的第三篇文章,但我必须为那些还不了解股票市场和外汇市场之间区别的人解释一下:最大的区别在于,在外汇中没有、或者更确切地说,我们得不到交易过程中有关一些实际发生关键处的信息。
神经网络变得轻松(第四十九部分):软性扮演者-评价者
我们继续讨论解决连续动作空间问题的强化学习算法。在本文中,我将讲演软性扮演者-评论者(SAC)算法。SAC 的主要优点是拥有查找最佳策略的能力,不仅令预期回报最大化,而且拥有最大化的动作熵(多样性)。
神经网络变得简单(第 75 部分):提升轨迹预测模型的性能
我们创建的模型变得越来越大,越来越复杂。这不光提高了它们的训练成本,还有操作成本。不过,做出决定所需的时间往往很关键。有关于此,我们来研究在不损失品质的情况下优化模型性能的方法。
开发回放系统 — 市场模拟(第 24 部分):外汇(V)
今天,我们将去除阻止基于最后成交价进行模拟的限制,并将专门针对这类模拟引入一个新的切入点。整个操作机制将基于外汇市场的原则。该过程的主要区别在于出价(Bid)和最后成交价(Last)模拟的分离。不过,重点要注意,用于随机化时间,并将其调整为与 C_Replay 类兼容的方法在两类模拟中保持雷同。这很好,因为一种模式的变化会导致另一种模式的自动改进,尤其遇到处理跳价之间的时间。
在 MQL5 中构建自优化智能交易系统(第六部分):防止爆仓
在今天的讨论中,我们将一同寻找一种算法程序,以最大限度地减少我们因盈利交易被止损而平仓的总次数。我们面临的问题极具挑战性,社区讨论中给出的大多数解决方案都缺乏既定且固定的规则。我们解决问题的算法方法提高了我们交易的盈利能力,并降低了我们的平均每笔交易亏损。然而,要完全过滤掉所有将被止损的交易,还需要进一步的改进,但我们的解决方案对任何人来说都是一个很好的初步尝试
您应当知道的 MQL5 向导技术(第 09 部分):K-Means 聚类与分形波配对
“K-均值”聚类采用数据点分组的方式,该过程最初侧重于数据集的宏观视图,使用随机生成的聚类质心,然后放大并调整这些质心,从而准确表示数据集。我们将对此进行研究,并开拓一些它的用例。
开发回放系统(第30部分):EA交易项目——C_Mouse类(四)
今天,我们将学习一种技术,它可以在程序员职业生涯的不同阶段对我们有很大帮助。通常,受到限制的不是平台本身,而是谈论限制的人的知识。这篇文章将告诉你,凭借常识和创造力,你可以让 MetaTrader 5 平台变得更加有趣和通用,而无需创建疯狂的程序或类似的东西,并创建简单但安全可靠的代码。我们将利用我们的创造力修改现有代码,而不删除或添加源代码中的任何一行。
改编版 MQL5 网格对冲 EA(第 IV 部分):优化简单网格策略(I)
在第四篇中,我们重新审视了之前开发的“简单对冲”和“简单网格”智能系统(EA)。我们的专注点转移到通过数学分析和暴力方式完善简单网格 EA,旨在优化策略用法。本文深入策略的数学优化,为在以后文章中探索未来基于编码的优化奠定了基础。
在MQL5中创建交易管理员面板(第三部分):扩展内置类以进行主题管理(II)
在本文的讨论中,我们将逐步扩展现有的对话框库,以纳入主题管理逻辑。此外,我们将把主题切换方法整合到管理员面板项目中使用的 CDialog、CEdit 和 CButton 类中。继续阅读,获取更多深入的了解。
MQL5中的范畴论(第19部分):自然性四边形归纳法
我们继续通过探讨自然性四边形归纳法来研究自然变换。对于使用MQL5向导构建的EA交易来说,对多货币实现的轻微限制意味着我们正在通过脚本展示我们的数据分类能力。所考虑的主要应用是价格变化分类及其预测。