在 MQL5 中创建交易管理员面板(第十部分):基于外部资源的界面
在 MQL5 中创建交易管理员面板(第十部分):基于外部资源的界面
今天,我们将深入挖掘 MQL5 的潜力,利用外部资源(例如 BMP 格式的图片)为交易管理面板打造独具风格的主界面。文中演示的策略在打包多种资源(包括图片、声音等)以实现高效分发时尤为实用。欢迎随我们一起探讨,如何利用这些功能为我们的 New_Admin_Panel EA 实现现代、美观的界面设计。
重构经典策略(第十四部分):高胜率交易形态
重构经典策略(第十四部分):高胜率交易形态
高胜率交易形态在交易圈内广为人知,但遗憾的是,其定义始终缺乏明确标准。本文将通过实证研究与算法建模,为高胜率形态构建量化定义框架,并探索其识别与运用方法。借助梯度提升树模型,我们演示如何系统性优化任意交易策略的性能,同时以更精准、可解释的方式向计算机传达交易指令的核心逻辑。
从新手到专家:对K线进行编程
从新手到专家:对K线进行编程
在本文中,我们将迈出 MQL5 编程的第一步,即使是完全零基础的初学者也能上手。我们将向您展示,如何将熟悉的 K线形态 转换为一个功能完备的自定义指标。K线形态之所以有价值,是因为它们反映了真实的价格行为,并预示着市场的转变。与其手动扫描图表——这种方法容易出错且效率低下——我们将讨论如何通过一个指标来自动化这个过程,该指标会自动识别并标记出这些形态。在此过程中,我们将探讨一些关键概念,例如索引、时间序列、平均真实波幅(用于在多变的市场波动性中提高准确性),以及如何开发一个可自定义、可复用的 K线形态库,以便在未来的项目中使用。
从基础到中级:结构(二)
从基础到中级:结构(二)
在本文中,我们将尝试理解为什么像 MQL5 这样的编程语言有结构,为什么在某些情况下,结构是在函数和过程之间传递值的理想方式,而在其他情况下,它们可能不是最好的方式。
从基础到中级:结构(一)
从基础到中级:结构(一)
今天,我们将开始以更简单、更实用、更舒适的方式研究结构。结构是编程的基础之一,无论它们是否结构化。我知道很多人认为结构只是数据的集合,但我向你保证,它们不仅仅是结构。接下来,我们将以最富启发性的方式开始探索这个全新的宇宙。
市场模拟(第七部分):套接字(一)
市场模拟(第七部分):套接字(一)
套接字,你知道它们在 MetaTrader 5 中的用途或使用方法吗?如果答案是否定的,那么让我们从研究它们开始。在今天的文章中,我们将介绍一些基础知识。由于有几种方法可以做同样的事情,而且我们总是对结果感兴趣,我想证明确实有一种简单的方法可以将数据从 MetaTrader 5 传输到其他程序,如 Excel。然而,主要目的不是将数据从 MetaTrader 5 传输到 Excel,而是相反,即将数据从 Excel 或任何其他程序传输到 MetaTrader 5。
价格行为分析工具包开发(第二十部分):外部资金流(4)——相关性路径探索器
价格行为分析工具包开发(第二十部分):外部资金流(4)——相关性路径探索器
作为价格行为分析工具包开发系列的一部分,相关性路径探索器为理解货币对动态提供了一种全新方法。该工具可自动收集和分析数据,深入分析诸如欧元兑美元(EUR/USD)和英镑兑美元(GBP/USD)等货币对之间的相互作用。借助其实用、实时的信息,增强你的交易策略,助您更有效地管理风险并发现机会。
风险管理(第二部分):在图形界面中实现手数计算
风险管理(第二部分):在图形界面中实现手数计算
在本文中,我们将探讨如何使用强大的 MQL5 图形控件库来改进和更有效地应用上一篇文章中提出的概念。我们将逐步完成创建一个功能齐全的图形用户界面。我将解释它背后的想法,以及所使用的每种方法的目的和操作。此外,在本文的最后,我们将测试我们创建的面板,以确保它正确运行并实现其既定目标。
从基础到中级:模板和类型名称 (五)
从基础到中级:模板和类型名称 (五)
在本文中,我们将探讨模板的最后一个简单用例,并讨论在代码中使用 typename 的好处和必要性。虽然这篇文章乍一看可能有点复杂,但为了以后使用模板和 typename,正确理解它很重要。
使用Python和MQL5进行特征工程(第四部分):基于UMAP回归的K线模式识别
使用Python和MQL5进行特征工程(第四部分):基于UMAP回归的K线模式识别
降维技术被广泛用于提升机器学习模型的性能。让我们来讨论一项被称为“统一流形逼近与投影”的相对较新的技术(UMAP)。这项新技术的开发旨在针对性地克服传统方法在数据中产生伪影和失真的局限性。UMAP是一种强大的降维技术,它能以一种新颖而有效的方式帮助我们将相似的K线进行分组,从而降低在样本外数据上的错误率,并提升我们的交易表现。
接受者操作特征(ROC)曲线入门
接受者操作特征(ROC)曲线入门
ROC 曲线是用于评估分类器性能的图形工具。尽管 ROC 图形相对简单,但在实践中使用它们时,仍存在一些常见的误解和误区。本文旨在为那些希望理解分类器性能评估的交易者提供一份关于 ROC 图形的入门介绍。
在 MQL5 中创建交易管理面板(第九部分):代码组织(三):通信模块
在 MQL5 中创建交易管理面板(第九部分):代码组织(三):通信模块
欢迎参与本次深度讨论,我们将揭示 MQL5 界面设计的最新进展,着重介绍重新设计的通信面板,并继续我们关于使用模块化原则构建新管理面板的系列文章。我们将逐步开发 CommunicationsDialog 类,并详细解释如何从 Dialog 类进行继承。此外,在我们的开发过程中,还将利用数组(arrays)和 ListView 类。获取可行的方案,以提升您的 MQL5 开发技能——请阅读本文,并在评论区加入讨论!
在MQL5中创建交易管理面板(第九部分):代码组织(5):分析面板(AnalyticsPanel)类
在MQL5中创建交易管理面板(第九部分):代码组织(5):分析面板(AnalyticsPanel)类
在本文中,我们将探讨如何获取实时市场数据和交易账户信息,执行各种计算,并将结果展示在自定义面板上。为此,我们将深入开发一个分析面板(AnalyticsPanel)类,该类封装了所有这些功能,包括面板创建功能。这项工作是我们正在进行的新建管理面板智能交易系统(EA)扩展工作的一部分,旨在运用模块化设计原则和代码组织的最佳实践来引入高级功能。
从基础到中级:模板和类型名称(三)
从基础到中级:模板和类型名称(三)
在本文中,我们将讨论该主题的第一部分,这对初学者来说并不容易理解。为了避免更加困惑并正确解释这个话题,我们将把解释分为几个阶段。我们将把这篇文章用于第一阶段。然而,尽管在本文末尾,我们似乎已经陷入僵局,但事实上,我们将朝着另一种情况迈出一步,这将在下一篇文章中得到更好的理解。
价格行为分析工具包开发(第19部分):ZigZag分析器
价格行为分析工具包开发(第19部分):ZigZag分析器
每一位价格行为交易者都会手动使用趋势线来确认趋势,并找出潜在的转折或延续水平。在这个关于开发价格行为分析工具包的系列中,我们介绍一款专注于绘制倾斜趋势线的工具,以便于进行市场分析。该工具通过清晰地勾勒出有效价格行为评估所必需的关键趋势和水平,简化了交易者的流程。
智能系统健壮性测试
智能系统健壮性测试
在策略开发中,有许多错综复杂的细节需要考虑,对于初学交易者其中许多都未予重视。如是结果,众多交易者,包括我自己,都不得不历经苦难来学习这些教训。本文基于我观察到的大多数初学交易者在 MQL5 上开发策略时常见的陷阱。它将提供一系列提示、技巧、和示例,帮助辨别不合格的 EA,并以一种易于实现的方式来测试我们自己 EA 的稳健性。目标是教导读者,帮助他们未来购买 EA 时避免遭遇骗局,以及预防他们自己开发策略时的错误。
MQL5交易管理面板开发(第九部分):代码组织(4):交易管理面板类
MQL5交易管理面板开发(第九部分):代码组织(4):交易管理面板类
本文探讨我们在New_Admin_Panel智能交易系统(EA)中更新交易管理面板(TradeManagementPanel)。此次更新通过引入内置类组件,显著提升了面板的用户友好性,为交易者提供了直观的交易管理界面。其内置交易按钮,可一键开仓,并提供管理现有持仓与挂单的控制选项。核心亮点是集成的风险管理功能——可直接在界面内设置止损与止盈值。此次更新优化了大型程序的代码组织方式,并简化了对终端中常见繁杂订单管理工具的访问。
风险管理(第一部分):建立风险管理类的基础知识
风险管理(第一部分):建立风险管理类的基础知识
在本文中,我们将介绍交易风险管理的基础知识,并学习如何创建第一个函数来计算交易的适当手数以及止损。此外,我们将详细介绍这些功能的工作原理,解释每个步骤。我们的目标是清楚地了解如何在自动交易中应用这些概念。最后,我们将通过创建一个包含文件的简单脚本来将所有内容付诸实践。
从基础到中级:模板和类型名称(二)
从基础到中级:模板和类型名称(二)
本文解释了如何处理您可能遇到的最困难的编程情况之一:在同一个函数或过程模板中使用不同的类型。尽管我们大部分时间只关注函数,但这里介绍的所有内容都是有用的,并且可以应用于过程。
日内交易:拉里·康纳斯(Larry Connors)RSI2均值回归策略
日内交易:拉里·康纳斯(Larry Connors)RSI2均值回归策略
拉里·康纳斯(Larry Connors)是知名交易员与量化交易领域权威作家,其最著名的成果之一是2周期相对强弱指数(RSI2)策略。该指标通过捕捉短期超买超卖信号,辅助判断市场反转时机。在本文中,我们将首先阐述研究契机,随后在MQL5中复现康纳斯的三大经典策略,并应用于标普500指数差价合约(CFD)的日内交易场景。
在 MQL5 中构建自优化EA(第六部分):自适应交易规则(二)
在 MQL5 中构建自优化EA(第六部分):自适应交易规则(二)
本文探讨了如何优化 RSI 的水平和周期,以获得更好的交易信号。我们介绍了估算最优 RSI 值的方法,并使用网格搜索和统计模型来自动选择周期。最后,我们在 MQL5 中实现了该解决方案,同时利用 Python 进行分析。我们的方法力求务实和直接,旨在以简单的方式帮助您解决潜在复杂的问题。
MQL5 交易工具包(第 6 部分):使用最新成交的挂单函数扩展历史管理 EX5 库
MQL5 交易工具包(第 6 部分):使用最新成交的挂单函数扩展历史管理 EX5 库
了解如何创建可导出函数的 EX5 模块,无缝查询和保存最近填写的挂单数据。在本全面的分步指南中,我们将通过开发专用和分隔的函数来检索最后填写的挂单的基本属性,从而增强历史管理 EX5 库。这些属性包括订单类型、设置时间、执行时间、填充类型以及有效管理和分析挂单交易历史所需的其他关键细节。
时间演化旅行算法(TETA)
时间演化旅行算法(TETA)
这是我自己的算法。本文表阐述受平行宇宙和时间流概念启发的时间演化旅行算法(TETA)。该算法的基本思路是,尽管传统意义上的时间旅行是不可能的,但我们能够选择一系列事件来导致不同的现实。
市场模拟(第三部分):性能问题
市场模拟(第三部分):性能问题
我们经常需要后退一步,然后继续前进。在本文中,我们将展示所有必要的更改,以确保鼠标和 Chart Trade 指标不会中断。作为奖励,我们还将介绍未来将广泛使用的其他头文件中发生的其他更改。
卡尔曼滤波器在外汇均值回归策略中的应用
卡尔曼滤波器在外汇均值回归策略中的应用
卡尔曼滤波器是一种递归算法,在算法交易中用于通过滤除价格走势中的噪声来估计金融时间序列的真实状态。它能够根据新的市场数据动态更新预测,这使得它在均值回归等自适应策略中极具价值。本文首先介绍卡尔曼滤波器,涵盖其计算方法和实现方式。接下来,我们以外汇领域一个经典的均值回归策略为例,应用该滤波器。最后,我们通过将卡尔曼滤波器与移动平均线(MA)在外汇不同货币对上进行比较,开展各种统计分析。
使用Python和MQL5进行多品种分析(第三部分):三角汇率
使用Python和MQL5进行多品种分析(第三部分):三角汇率
交易者常常因虚假信号而面临资金回撤,而等待确认信号又可能导致错失交易机会。本文介绍了一种三角交易策略,该策略利用白银兑美元(XAGUSD)和白银兑欧元(XAGEUR)的价格,以及欧元兑美元(EURUSD)的汇率,来过滤市场噪音。通过利用跨市场关系,交易者可以揭示隐藏的市场情绪,并实时优化交易入场点。
在 MetaTrader 5 中交易的可视评估和调整
在 MetaTrader 5 中交易的可视评估和调整
策略测试器允许您所做的不光是优化交易机器人的参数。我将展示如何在事后评估您账户的交易历史,并通过在测试器中更改持仓的止损来调整您的交易。
在 MQL5 中构建自优化智能交易系统(第六部分):防止爆仓
在 MQL5 中构建自优化智能交易系统(第六部分):防止爆仓
在今天的讨论中,我们将一同寻找一种算法程序,以最大限度地减少我们因盈利交易被止损而平仓的总次数。我们面临的问题极具挑战性,社区讨论中给出的大多数解决方案都缺乏既定且固定的规则。我们解决问题的算法方法提高了我们交易的盈利能力,并降低了我们的平均每笔交易亏损。然而,要完全过滤掉所有将被止损的交易,还需要进一步的改进,但我们的解决方案对任何人来说都是一个很好的初步尝试
从基础到中级:重载
从基础到中级:重载
也许这篇文章对新手程序员来说是最令人困惑的。事实上,在这里我将证明,并非所有函数和过程在同一代码中都有唯一的名称。是的,我们可以很容易地使用同名函数和过程 —— 这被称为重载。
在 MQL5 中创建交易管理面板(第九部分):代码组织(二):模块化
在 MQL5 中创建交易管理面板(第九部分):代码组织(二):模块化
在本次讨论中,我们进一步将 MQL5 程序分解为更小、更易于管理的模块。然后,这些模块化组件将被集成到主程序中,从而增强其组织性和可维护性。这种方法简化了我们主程序的结构,并使各个组件可以在其他EA和指标的开发中复用。通过采用这种模块化设计,我们为未来的增强功能创建了坚实的基础,这将使我们的项目和更广泛的开发者社区都受益。