在MQL5中构建带自定义画布图形的凯特纳通道(Keltner Channel)指标
本文将介绍如何在MQL5中构建一个带自定义画布图形的凯特纳通道(Keltner Channel)指标。我们将详细阐述移动平均线(MA)与平均真实波幅(ATR)计算的集成方法,以及如何增强型图表的可视化效果。此外,我们还将介绍如何通过回测评估该指标的实际交易表现,为实战交易提供有价值的参考依据。
利用Python进行季节性过滤并为EA的ONNX深度学习模型选择时间周期
在利用Python构建深度学习模型时,我们能否从季节性因素中获益?为ONNX模型过滤数据是否有助于获得更好的结果?我们应该使用哪个时间周期?本文将全面探讨这些问题。
价格行为分析工具包开发(第十八部分):四分位理论(3)——四分位看板
本文中,我们在原有四分位脚本的基础上新增 "四分位看板"(Quarters Board) 工具,该工具让您无需返回代码即可直接在图表上切换四分位水平。您可以轻松启用或禁用特定水平,EA还会提供趋势方向注释,帮助您更好地理解市场走势。
MQL5 中的范畴论 (第 16 部分):多层感知器函子
本文是我们系列文章的第 16 篇,继续考察函子以及如何使用人工神经网络实现它们。我们偏离了迄今为止在该系列中所采用的方式,这涉及预测波动率,并尝试实现自定义信号类来设置入仓和出仓信号。
神经网络变得简单(第 69 部分):基于密度的行为政策支持约束(SPOT)
在离线学习中,我们使用固定的数据集,这限制了环境多样性的覆盖范围。在学习过程中,我们的 Agent 能生成超出该数据集之外的动作。如果没有来自环境的反馈,我们如何判定针对该动作的估测是正确的?在训练数据集中维护 Agent 的政策成为确保训练可靠性的一个重要方面。这就是我们将在本文中讨论的内容。
开发多币种 EA 交易(第 20 部分):整理自动项目优化阶段的输送机(一)
我们已经创建了不少有助于安排自动优化的组件。在创建过程中,我们遵循了传统的循环结构:从创建最小的工作代码到重构和获得改进的代码。是时候开始清理我们的数据库了,这也是我们正在创建的系统中的一个关键组件。
从基础到中级:BREAK 和 CONTINUE 语句
在本文中,我们将学习如何在循环中使用 RETURN、BREAK 和 CONTINUE 语句。了解每个语句在循环执行流程中的作用对于处理更复杂的应用程序非常重要。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
开发回放系统 — 市场模拟(第 26 部分):智能交易系统项目 — C_Terminal 类
现在,我们可以开始创建回放/模拟系统的智能系统。不过,我们需要改进一些东西,并非敷衍了事。尽管如此,我们不应被最初的复杂性所吓倒。重要的是从某处开始,否则我们最终只会空想一项任务的难度,甚至没有尝试去克服它。这就是编程的全部意义:通过学习、测试和广泛的研究来攻克障碍。
DoEasy. 控件 (第 19 部分): 在 TabControl 中滚动选项卡、WinForms 对象事件
在本文中,我将创建的功能是利用滚动按钮在 TabControl 中滚动选项卡标题。 该功能旨在将选项卡标题从控件的任一侧拖放到单行之中。
开发多币种 EA 交易 (第 5 部分):可变仓位大小
在前面的部分中,我们正在开发的智能交易系统 (EA) 只能使用固定的仓位大小进行交易。这对于测试来说是可以接受的,但在真实账户交易时并不建议这样做。让我们能够使用可变的仓位大小进行交易。
基于MQL5和Python的自优化EA(第六部分):利用深度双重下降算法
传统的机器学习教导从业者要警惕不要使模型陷入过度拟合。然而,这种观念正受到哈佛大学研究人员最新发表的学术见解的挑战。他们发现,看似过拟合的情形在某些情况下可能是由于提前终止训练过程导致的。我们将展示如何利用研究论文中发表的观点,来改进我们使用人工智能预测市场行为的方式。
开发多币种 EA 交易(第 21 部分):准备重要实验并优化代码
为了取得进一步的进展,最好看看我们是否可以通过定期重新运行自动优化并生成新的 EA 来改进结果。关于使用参数优化的许多争论中的绊脚石是,在将盈利能力和回撤保持在指定水平的同时,所获得的参数在未来一段时间内可用于交易的时间有多长。有可能做到这一点吗?
数据科学和机器学习(第 19 部分):利用 AdaBoost 为您的 AI 模型增压
AdaBoost,一个强力的提升算法,设计用于提升 AI 模型的性能。AdaBoost 是 Adaptive Boosting 的缩写,是一种复杂的融合学习技术,可无缝集成较弱的学习器,增强它们的集体预测强度。
百年数学函数如何革新您的交易策略?
本文聚焦R德马赫(Rademacher)函数与沃尔什(Walsh)函数。探讨如何将这两类诞生于20世纪初的数学工具应用于金融时间序列分析,并揭示其在交易策略中的创新应用场景。
动物迁徙优化(AMO)算法
本文介绍了AMO算法,该算法通过模拟动物的季节性迁徙来寻找适合生存和繁殖的最优条件。AMO的主要特点包括使用拓扑邻域和概率更新机制,使得其易于实现,并且能够灵活应用于各种优化任务。
开发多币种 EA 交易(第 24 部分):添加新策略(一)
在本文中,我们将研究如何将新策略连接到我们创建的自动优化系统。让我们看看我们需要创建哪些类型的 EA,以及是否可以在不更改 EA 库文件的情况下完成,或者尽量减少必要的更改。
风险管理(第一部分):建立风险管理类的基础知识
在本文中,我们将介绍交易风险管理的基础知识,并学习如何创建第一个函数来计算交易的适当手数以及止损。此外,我们将详细介绍这些功能的工作原理,解释每个步骤。我们的目标是清楚地了解如何在自动交易中应用这些概念。最后,我们将通过创建一个包含文件的简单脚本来将所有内容付诸实践。
构建蜡烛图趋势约束模型(第8部分):EA开发(II)
构思一个独立的EA。之前,我们讨论了一个基于指标的EA,它还与一个独立脚本配合,用于绘制风险与收益图形。今天,我们将讨论一个整合了所有功能的MQL5 EA的架构。
价格行为分析工具包开发(第11部分):基于Heikin Ashi(平均K线)信号的智能交易系统(EA)
MQL5为开发者提供了无限可能,助您构建高度定制化的自动化交易系统。您是否知道,它甚至能执行复杂的数学运算?本文将介绍如何将日本Heikin-Ashi(平均K线)技术转化为自动化交易的策略。
使用 MetaTrader 5 在 Python 中查找自定义货币对形态
外汇市场是否存在重复的形态和规律?我决定使用 Python 和 MetaTrader 5 创建自己的形态分析系统。一种数学和编程的共生关系,用于征服外汇。
开发回放系统(第 75 部分):新 Chart Trade(二)
在本文中,我们将讨论 C_ChartFloatingRAD 类。这就是 Chart Trade 发挥作用的原因。然而,解释并未就此结束,我们将在下一篇文章中完成它,因为这篇文章的内容相当广泛,需要深入理解。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
开发回放系统(第 45 部分):Chart Trade 项目(四)
本文的主要目的是介绍和解释 C_ChartFloatingRAD 类。我们有一个 Chart Trade 指标,它的工作方式非常有趣。您可能已经注意到了,图表上的对象数量仍然很少,但我们却获得了预期的功能。指标中的数值是可以编辑的。问题是,这怎么可能呢?这篇文章将使答案变得更加清晰。
使用MQL5中的动态时间规整进行模式识别
在本文中,我们探讨了动态时间规整(Dynamic Time Warping,DTW)作为识别金融时间序列中预测模式的一种方法。我们将深入了解其工作原理,并在纯MQL5语言中展示其实现方法。
从基础到中级:定义(一)
在这篇文章中,我们将做一些许多人会觉得奇怪和完全脱离上下文的事情,但如果使用得当,这将使你的学习更加有趣:我们将能够根据这里显示的内容构建非常有趣的东西。这将使您更好地理解 MQL5 语言的语法。此处提供的材料仅用于教育目的。它不应以任何方式被视为最终应用程序。其目的不是探索所提出的概念。
群体优化算法:抵抗陷入局部极值(第一部分)
本文介绍了一个独特的实验,旨在研究群体优化算法在群体多样性较低时有效逃脱局部最小值并达到全局最大值的能力。朝着这个方向努力将进一步了解哪些特定算法可以使用用户设置的坐标作为起点成功地继续搜索,以及哪些因素会影响它们的成功。
MQL5 中的范畴论 (第 9 部分):幺半群(Monoid)— 动作
本文是以 MQL5 实现范畴论系列的延续。 在这里,我们继续将“幺半群 — 动作”当为幺半群变换的一种手段,如上一篇文章所涵盖的内容,从而增加了应用。