如何使用MQL5的控件类创建交互式仪表板/面板(第一部分):设置面板
在本文中,我们将使用MQL5的控件类创建一个交互式交易仪表板,旨在简化交易操作。该面板包含标题、用于交易、平仓和信息的导航按钮,以及用于执行交易和管理仓位的专用操作按钮。到文章结束时,你将拥有一个基础面板,为未来的扩展做好准备。
DoEasy. 控件(第 16 部分):TabControl WinForms 对象 — 多行选项卡标题,拉伸标题适配容器
在本文中,我将继续开发 TabControl,并针对设置标题大小的所有模式,实现选项卡标题在控件所有四个侧边的排列:正常、固定、和靠右填充。
神经网络变得轻松(第二十八部分):政策梯度算法
我们继续研究强化学习方法。 在上一篇文章中,我们领略了深度 Q-学习方法。 按这种方法,已训练模型依据在特定情况下采取的行动来预测即将到来的奖励。 然后,根据政策和预期奖励执行动作。 但并不总是能够近似 Q-函数。 有时它的近似不会产生预期的结果。 在这种情况下,近似方法不应用于功用函数,而是应用于动作的直接政策(策略)。 其中一种方法是政策梯度。
用Python重塑经典策略:移动平均线交叉
在本文中,我们重新审视了经典的移动平均线交叉策略,以评估其当前的有效性。鉴于该策略自诞生以来已经过去了很长时间,我们探索了人工智能可能为其带来的潜在增强效果。通过融入人工智能技术,我们旨在利用高级的预测能力来潜在地优化交易的入场和出场点,适应不断变化的市场条件,并与传统方法相比提高整体表现。
DoEasy 库中的其他类(第七十部分):扩展功能并自动更新图表对象集合
在本文中,我将扩展图表对象的功能,并编排图表导航、创建屏幕截图、以及为图表保存和应用模板。 此外,我还将实现图表对象集合、其窗口和其内指标的自动更新。
种群优化算法:模拟各向同性退火(SIA)算法。第 II 部分
第一部分专注于众所周知、且流行的算法 — 模拟退火。我们已经通盘研究了它的利弊。本文的第二部分专注于算法的彻底变换,将其转变为一种新的优化算法 — 模拟各向同性退火(SIA)。
DoEasy. 控件 (第 3 部分): 创建绑定控件
在本文中,我将创建绑定到基准元素的从属控件。 开发任务将使用基准控件功能执行。 此外,我还会稍微修改一下图形元素阴影对象,因为把它应用于任何有阴影的对象时会遇到一些逻辑错误。
时间序列挖掘的数据标签(第3部分):使用标签数据的示例
本系列文章介绍了几种时间序列标记方法,这些方法可以创建符合大多数人工智能模型的数据,而根据需要进行有针对性的数据标记可以使训练后的人工智能模型更符合预期设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
DoEasy 函数库中的图形(第九十五部分):复合图形对象控件
在本文中,我将研究管理复合图形对象的工具包 — 管理扩展标准图形对象的控件。 今天,我从复合图形对象重新定位的内容稍微离题 ,并实现图表上复合图形对象的变更事件处理。 此外,我将重点讲解管理复合图形对象的控件。
开发回放系统(第 37 部分):铺平道路 (一)
在这篇文章中,我们终于要开始做我们早就想做的事情了。之前,由于缺乏 "坚实的基础",我没有信心公开介绍这部分内容。现在我有了这样做的基础。我建议您尽可能集中精力理解本文的内容。我指的不仅仅是阅读,我想强调的是,如果你不理解这篇文章,你可能就是完全放弃了理解以后文章内容的希望。
MQL5 简介(第 6 部分):MQL5 中的数组函数新手指南 (二)
开始我们 MQL5 旅程的下一阶段。在这篇深入浅出、适合初学者的文章中,我们将探讨其余的数组函数,揭开复杂概念的神秘面纱,让您能够制定高效的交易策略。我们将讨论 ArrayPrint、ArrayInsert、ArraySize、ArrayRange、ArrarRemove、ArraySwap、ArrayReverse 和 ArraySort。利用这些基本的数组函数,提升您的算法交易专业知识。加入我们的精通 MQL5 之路吧!
开发多币种 EA 交易(第 17 部分):为真实交易做进一步准备
目前,我们的 EA 使用数据库来获取交易策略单个实例的初始化字符串。然而,这个数据库相当大,包含许多实际 EA 操作不需要的信息。让我们尝试在不强制连接到数据库的情况下确保 EA 的功能。
DoEasy 函数库中的时间序列(第五十八部分):指标缓冲区数据的时间序列
关于操控时间序列的主题总结,诸如组织存储、针对存储在指标缓冲区中的数据进行搜索和分类,如此即可在程序里利用函数库创建指标值,并进一步据其执行分析。 函数库的所有集合类的一般概念,能够轻松地在相应的集合中找到必要的数据。 在今天创建的类中,也可分别完成同样功能。
神经网络变得简单(第 71 部分):目标条件预测编码(GCPC)
在之前的文章中,我们讨论了决策转换器方法,以及从其衍生的若干种算法。我们测验了不同的目标设定方法。在测验期间,我们依据各种设定目标的方式进行操作。然而,该模型早期研究时验算过的轨迹,始终处于我们的关注范围之外。在这篇文章中。我想向您介绍一种填补此空白的方法。
MetaTrader 5 和 R 进行算法交易新手指南
当我们揭开 R 和 MetaTrader 5 无缝结合的艺术面纱时,您将开始一场金融分析与算法交易的精彩探索。本文是您将 R 语言中的分析技巧与 MetaTrader 5 强大的交易功能连接起来的指南。
使用PSAR、Heiken Ashi和深度学习进行交易
本项目探索深度学习与技术分析的融合,用于在外汇市场测试交易策略。使用Python脚本进行快速实验,结合ONNX模型和传统指标(如PSAR、SMA和RSI)来预测欧元/美元(EUR/USD )的走势。之后,MQL5脚本将此策略引入实时环境,利用历史数据和技术分析帮助交易者做出明智的交易决策。回测结果表明,该策略秉持保守且稳健的运作理念,始终将风险管控置于首位,追求持续稳定的收益增长模式,摒弃激进逐利的行为。
神经网络变得简单(第 61 部分):离线强化学习中的乐观情绪问题
在离线学习期间,我们基于训练样本数据优化了智能体的政策。成品政策令智能体对其动作充满信心。然而,这种乐观情绪并不总是正当的,并且可能会在模型操作期间导致风险增加。今天,我们要寻找降低这些风险的方法之一。
神经网络变得简单(第 90 部分):时间序列的频率插值(FITS)
通过研究 FEDformer 方法,我们打开了时间序列频域表述的大门。在这篇新文章中,我们将继续一开始的主题。我们将研究一种方法,据其我们不仅能进行分析,还可以预测特定区域的后续状态。
DoEasy. 控件 (第 11 部分): WinForms 对象 — 群组,CheckedListBox WinForms 对象
本文将讨论 WinForms 对象群组,及创建 CheckBox 对象列表对象。
从新手到专家:MQL5中的协作式调试指南
问题解决法能为掌握复杂技能(如MQL5编程)构建高效路径。该方法让您在专注攻克问题的同时,潜移默化地提升技能水平。解决的难题越多,大脑积累的专业知识就越深厚。就我个人而言,调试是精通编程最有效的途径。本文将带你逐步梳理代码清理流程,并探讨将杂乱程序转化为简洁高效代码的核心技巧。阅读本文,洞悉其中的宝贵见解。
开发回放系统 — 市场模拟(第 16 部分):新的类系统
我们需要更好地组织我们的工作。 代码正在快速增长,如果现在不做,那么以后就变得更不可能了。 我们分而治之。 MQL5 支持类,可协助实现此任务,但为此,我们需要对类有一定的了解。 大概最让初学者困惑的是继承。 在本文中,我们将看到如何以实用和简单的方式来运用这些机制。
基于MQL5的自动化交易策略(第一部分):Profitunity系统(比尔·威廉姆斯的《交易混沌》)
在本文中,我们研究了比尔·威廉姆斯(Bill Williams)的Profitunity系统,深入剖析其核心组成部分以及在混沌市场中独特的交易方法。我们指导读者在MQL5中实现该系统,专注于自动化关键指标和入场/出场信号。最后,我们对策略进行测试和优化,提供其在不同市场环境下的表现。
DoEasy. 控件 (第 14 部分): 命名图形元素的新算法。 继续操控 TabControl WinForms 对象
在本文中,我将创建一个新算法来为构建自定义图形的所有图形元素命名,并继续开发 TabControl WinForms 对象。
数据科学和机器学习(第 28 部分):使用 AI 预测 EURUSD 的多个期货
众多人工智能模型的惯常做法是预测单一未来值。不过,在本文中,我们将钻研运用机器学习模型的更强大技术,即预测多个未来值。这种方式被称为多步预测,它令我们不仅能够预测明天的收盘价,还可以预测后天、及更久的收盘价。通过掌握多步骤预测,交易者和数据科学家能够获得更深入的见解,并制定更明智的决策,从而显著增强他们的预测能力和策略计划。
神经网络变得轻松(第四十八部分):降低 Q-函数高估的方法
在上一篇文章中,我们概述了 DDPG 方法,它允许在连续动作空间中训练模型。然而,与其它 Q-学习方法一样,DDPG 容易高估 Q-函数的数值。这个问题往往会造成训练代理者时选择次优策略。在本文中,我们将研究一些克服上述问题的方式。
MQL5 交易工具包(第 2 部分):扩展和实现仓位管理 EX5 库
了解如何在 MQL5 代码或项目中导入和使用 EX5 库。在这篇续文中,我们将通过向现有库中添加更多仓位管理功能并创建两个 EA 交易系统来扩展 EX5 库。第一个例子将使用可变指数动态平均(Variable Index Dynamic Average,VIDYA)技术指标来开发追踪止损交易策略 EA 交易,而第二个例子将利用交易面板来监控、开仓、平仓和修改仓位。这两个例子将演示如何使用和实现升级后的 EX5 仓位管理库。
使用PatchTST机器学习算法预测未来24小时的价格走势
在本文中,我们将应用2023年发布的一种相对复杂的神经网络算法——PatchTST,来预测未来24小时的价格走势。我们将使用官方仓库的代码,并对其进行一些微小的修改,训练一个针对EURUSD(欧元兑美元)的模型,然后在Python和MQL5环境中应用该模型进行未来预测。
射箭算法(Archery Algorithm, AA)
本文详细探讨了受射箭启发的优化算法——射箭算法(Archery Algorithm, AA),重点介绍了如何使用轮盘赌法(roulette method)作为选择“箭矢”目标区域的机制。该方法允许评估解决方案的质量,并选择最有希望的位置进行进一步的探究。