使用 Python 和 MetaTrader5 python 软件包及 ONNX 模型文件进行深度学习预测和排序
本项目涉及在金融市场中使用 Python 进行基于深度学习的预测。我们将探索使用平均绝对误差(MAE)、均方误差(MSE)和R平方(R2)等关键指标测试模型性能的复杂性,并学习如何将所有内容打包到可执行文件中。我们还将制作一个 ONNX 模型文件以及它的 EA。
重新审视一种旧时的趋势交易策略:两个随机振荡指标,一个移动平均指标和斐波那契线
旧时的交易策略本文介绍了一种纯技术型的趋势跟踪策略。该策略纯粹是技术性的,使用一些技术指标和工具来传递信号和目标。该策略的组成部分如下:一个周期数为14的随机振荡指标,一个周期数为5的随机振荡指标,一个周期数为200的移动平均指标,一个斐波那契投影工具(用于设定目标)。
神经网络实验(第 3 部分):实际应用
在本系列文章中,我会采用实验和非标准方法来开发一个可盈利的交易系统,并检查神经网络是否对交易者有任何帮助。 若在交易中运用神经网络,MetaTrader 5 则可作为近乎自给自足的工具。
从头开始开发智能交易系统(第 21 部分):新订单系统 (IV)
最后,视觉系统将开始工作,尽管它尚未完工。 在此,我们将完成主要更改。 这只是它们当中很少一部份,但都是必要的。 嗯,整个工作将非常有趣。
从头开始开发智能交易系统(第 13 部分):时序与交易(II)
今天,我们将针对市场分析构建《时序与交易》系统的第二部分。 在前一篇文章《时序与交易(I)》当中,我们讨论了一种替代的图表组织系统,该系统能够针对市场上执行的成交进行最快速的解释。
MQL5 简介(第 8 部分):初学者构建 EA 交易系统指南(二)
本文解决了MQL5论坛中常见的初学者问题,并演示了实用的解决方案。学习执行基本任务,如买卖、获取烛形价格以及管理自动交易方面,如交易限额、交易期限和盈亏阈值。获取分步指导,以增强您对 MQL5 中这些概念的理解和实现。
从头开始开发智能交易系统(第 19 部分):新订单系统 (II)
在本文中,我们将开发一个“看看发生了什么”类型的图形订单系统。 请注意,我们这次不是从头开始,只不过我们将修改现有系统,在我们交易的资产图表上添加更多对象和事件。
神经网络变得轻松(第四十三部分):无需奖励函数精通技能
强化学习的问题在于需要定义奖励函数。 它可能很复杂,或难以形式化。 为了定解这个问题,我们正在探索一些基于行动和基于环境的方式,无需明确的奖励函数即可学习技能。
DoEasy 库中的其他类(第六十七部分):图表对象类
在本文中,我将创建图表对象类(单个交易金融产品图表),并改进 MQL5 信号对象的集合类,以便在更新列表时也能为存储在集合中的每个信号对象更新其所有参数。
DoEasy 函数库中的时间序列(第五十四部分):抽象基准指标类的衍生
本文研究基于基准抽象指标衍生对象类的创建。 这些对象所提供功能,可访问创建的指标 EA,收集和获取各种指标和价格数据的数值统计信息。 同样,创建指标对象集合,从中可以访问程序中创建的每个指标的属性和数据。
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表
在本文中,我将创建存储单一品种即时报价数据的列表,并在 EA 中检查其创建状态,以及检索所需数据。 每个所用品种各自的即时报价数据列表将来会构成即时报价数据集合。
神经网络变得轻松(第三十九部分):Go-Explore,一种不同的探索方式
我们继续在强化学习模型中研究环境。 在本文中,我们将见识到另一种算法 — Go-Explore,它允许您在模型训练阶段有效地探索环境。
神经网络变得轻松(第十五部分):利用 MQL5 进行数据聚类
我们继续研究聚类方法。 在本文中,我们将创建一个新的 CKmeans 类来实现最常见的聚类方法之一:k-均值。 在测试期间,该模型成功地识别了大约 500 种形态。
使用MQL5开发基于震荡区间突破策略的EA
本文概述了如何创建一个基于价格突破震荡区间进行交易的EA。通过识别震荡区间并设定突破水平,交易者可以基于这一策略自动化其交易决策。该EA旨在为交易者提供明确的入场和出场点,同时避免虚假突破。
MQL5 中的范畴论 (第 7 部分):多域、相对域和索引域
范畴论是数学的一个多样化和不断扩展的分支,直到最近才在 MQL5 社区中得到一些报道。 这些系列文章旨在探索和验证一些概念和公理,其总体目标是建立一个开放的函数库,提供洞察力,同时也希望进一步在交易者的策略开发中运用这个非凡的领域。
神经网络变得轻松(第十八部分):关联规则
作为本系列文章的延续,我们来研究无监督学习方法中的另一类问题:挖掘关联规则。 这种问题类型首先用于零售业,即超市等,来分析市场篮子。 在本文中,我们将讨论这些算法在交易中的适用性。
神经网络变得轻松(第二十四部分):改进迁移学习工具
在上一篇文章中,我们创建了一款用于创建和编辑神经网络架构的工具。 今天我们将继续打造这款工具。 我们将努力令其对用户更加友好。 也许可以看到,我们的主题往上更进一步。 但是,您不认为规划良好的工作空间在实现结果方面起着重要作用吗?
在MQL5中创建交互式图形用户界面(第1部分):制作面板
本文探讨了使用MetaQuotes Language 5(MQL5)设计和实施图形用户界面(GUI)面板的基本步骤。自定义实用面板通过简化常见任务并可视化重要的交易信息,增强了交易中的用户交互。通过创建自定义面板,交易者可以优化其工作流程,并在交易操作中节省时间。
多层感知器和反向传播算法(第 3 部分):与策略测试器集成 - 概述(I)
多层感知器是简单感知器的演变,可以解决非线性可分离问题。 结合反向传播算法,可以有效地训练该神经网络。 在多层感知器和反向传播系列的第 3 部分当中,我们将见识到如何将此技术集成到策略测试器之中。 这种集成将允许使用复杂的数据分析,旨在制定更好的决策,从而优化您的交易策略。 在本文中,我们将讨论这种技术的优点和问题。
神经网络变得轻松(第四十六部分):条件导向目标强化学习(GCRL)
在本文中,我们要看看另一种强化学习方式。 它被称为条件导向目标强化学习(GCRL)。 按这种方式,代理者经过训练,可以在特定场景中达成不同的目标。
神经网络变得轻松(第二十九部分):优势扮演者-评价者算法
在本系列的前几篇文章中,我们见识到两种增强的学习算法。 它们中的每一个都有自己的优点和缺点。 正如在这种情况下经常发生的那样,接下来的思路是将这两种方法合并到一个算法,使用两者间的最佳者。 这将弥补它们每种的短处。 本文将讨论其中一种方法。
为EA交易提供指标的现成模板(第2部分):交易量和比尔威廉姆斯指标
在本文中,我们将研究交易量和比尔威廉姆斯指标类别的标准指标。我们将创建现成的模板,用于EA中的指标使用——声明和设置参数、指标初始化和析构,以及从EA中的指示符缓冲区接收数据和信号。
DoEasy 函数库中的时间序列(第五十七部分):指标缓冲区数据对象
在本文中,开发一个对象,其中包含一个指标的一个缓冲区的所有数据。 这些对象对于存储指标缓冲区的数据序列将是必需的。 在其的辅助下,才有可能对任何指标的缓冲区数据,以及其他类似数据进行排序和比较。
情绪分析与深度学习在交易策略中的应用以及使用Python进行回测
在本文中,我们将介绍如何使用Python中的情绪分析和ONNX模型,并将它们应用于EA中。使用一个脚本运行TensorFlow训练的ONNX模型,以进行深度学习预测;而通过另一个脚本获取新闻标题,并使用人工智能技术量化情绪。
开发多币种 EA 交易(第 2 部分):过渡到交易策略的虚拟仓位
让我们继续开发多币种 EA,让多个策略并行工作。让我们尝试将与市场开仓相关的所有工作从策略级转移到管理策略的 EA 级。这些策略本身只进行虚拟交易,并不建立市场仓位。
如何利用 MQL5 创建简单的多币种智能交易系统(第 2 部分):指标信号:多时间帧抛物线 SAR 指标
本文中的多币种智能交易系统是智能交易系统或交易机器人,它仅在一个品种图表上就能交易(开单、平单、和管理订单,例如:尾随停损和止盈)超过 1 个交易品种对。这次我们只用 1 个指标,即抛物线 SAR 或 iSAR, 将其应用在 PERIOD_M15 到 PERIOD_D1 的多个时间帧。
构建K线趋势约束模型(第十部分):战略均线金叉与死叉(智能交易系统EA)
您是否知道,基于移动平均线交叉的金叉和死叉策略,是识别长期市场趋势最为可靠的指标之一?当短期移动平均线上穿长期移动平均线时,金叉发出看涨趋势信号;而当短期移动平均线下穿长期移动平均线时,死叉则表明看跌趋势。尽管这些策略简单且有效,但手动运用时往往会导致错失机会或延迟交易。
如何构建和优化基于波动率的交易系统(Chaikin volatility-CHV)
在本文中,我们将介绍另一个基于波动率的指标——蔡金波动率(Chaikin Volatility)。在了解到蔡金波动率的使用方法和构建方式之后,我们将学习如何构建自定义指标。我们将分享一些可用的简单策略,并对其进行测试,以了解哪个策略更优。
如何利用 MQL5 创建简单的多币种智能交易系统(第 5 部分):凯尔特纳(Keltner)通道上的布林带 — 指标信号
本文中的多币种 EA 是一款智能交易系统或交易机器人,可以仅从一个品种图表中交易(开单、平单和管理订单,例如:尾随止损和止盈)多个品种(对)。在本文中,我们将用到来自两个指标的信号,在本例中为凯尔特纳(Keltner)通道上的布林带®。
模式搜索的暴力方法(第六部分):循环优化
在这篇文章中,我将展示改进的第一部分,这些改进不仅使我能够使MetaTrader 4和5交易的整个自动化链闭环,而且还可以做一些更有趣的事情。从现在起,这个解决方案使我能够完全自动化创建EA和优化,并最大限度地降低寻找有效交易配置的劳动力成本。