MQL4和MQL5编程文章

icon

在众多发表的文章中研究 MQL5语言编程交易策略 的多数由您—我们 MQL5.community的会员所作。文章以类别分组来帮助您迅速找到任何有关MQL5编程问题的答案:集成,测试,交易策略等等。

Follow our 新发表讨论它们在 MQL5.community论坛

添加一个新的文章
最近 | 最佳
preview
价格行为分析工具包开发(第十五部分):引入四分位理论(1)——四分位绘图脚本

价格行为分析工具包开发(第十五部分):引入四分位理论(1)——四分位绘图脚本

支撑位与阻力位是预示潜在趋势反转和延续的关键价位。尽管识别这些价位颇具挑战性,但一旦精准定位,您便能从容应对市场波动。如需进一步辅助,请参阅本文介绍的四分位绘图工具,该工具可帮助您识别主要及次要支撑位与阻力位。
preview
将 ML 模型与策略测试器集成(第 3 部分):CSV(II)文件管理

将 ML 模型与策略测试器集成(第 3 部分):CSV(II)文件管理

这篇资料提供了以 MQL5 创建类,从而高效管理 CSV 文件的完整指南。 我们将看到打开、写入、读取、和转换数据等方法的实现。 我们还将研究如何使用它们来存储和访问信息。 此外,我们将讨论使用该类的限制和最重要的方面。 本文对于那些想要学习如何在 MQL5 中处理 CSV 文件的人来说是一个宝贵的资源。
preview
MQL5 中的组合对称交叉验证

MQL5 中的组合对称交叉验证

在本文中,我们介绍使用纯 MQL5 语言实现组合对称交叉验证的情况,以衡量使用策略测试器的慢速完全算法优化策略后可能出现的过拟合程度。
preview
市场模拟(第七部分):套接字(一)

市场模拟(第七部分):套接字(一)

套接字,你知道它们在 MetaTrader 5 中的用途或使用方法吗?如果答案是否定的,那么让我们从研究它们开始。在今天的文章中,我们将介绍一些基础知识。由于有几种方法可以做同样的事情,而且我们总是对结果感兴趣,我想证明确实有一种简单的方法可以将数据从 MetaTrader 5 传输到其他程序,如 Excel。然而,主要目的不是将数据从 MetaTrader 5 传输到 Excel,而是相反,即将数据从 Excel 或任何其他程序传输到 MetaTrader 5。
preview
DoEasy. 控件(第三十一部分):滚动条控件内内容的滚动

DoEasy. 控件(第三十一部分):滚动条控件内内容的滚动

在本文中,我将实现通过按钮滚动水平滚动条容器内容的功能。
preview
MQL5交易管理面板开发(第九部分):代码组织(4):交易管理面板类

MQL5交易管理面板开发(第九部分):代码组织(4):交易管理面板类

本文探讨我们在New_Admin_Panel智能交易系统(EA)中更新交易管理面板(TradeManagementPanel)。此次更新通过引入内置类组件,显著提升了面板的用户友好性,为交易者提供了直观的交易管理界面。其内置交易按钮,可一键开仓,并提供管理现有持仓与挂单的控制选项。核心亮点是集成的风险管理功能——可直接在界面内设置止损与止盈值。此次更新优化了大型程序的代码组织方式,并简化了对终端中常见繁杂订单管理工具的访问。
preview
种群优化算法:社群进化(ESG)

种群优化算法:社群进化(ESG)

我们将研究构造多种群算法的原理。作为该算法类别的一个示例,我们将查看新的自定义算法 — 社群进化(ESG)。我们将分析该算法的基本概念、种群互动机制和优势,并检查其在优化问题中的表现。
preview
掌握 MQL5:从入门到精通(第五部分):基本控制流操作符

掌握 MQL5:从入门到精通(第五部分):基本控制流操作符

本文探讨了用于修改程序执行流程的关键操作符:条件语句、循环和 switch 语句。利用这些操作符将使我们创建的函数表现得更加“智能”。
preview
开发回放系统 — 市场模拟(第 18 部分):跳价和更多跳价(II)

开发回放系统 — 市场模拟(第 18 部分):跳价和更多跳价(II)

显然,目前的衡量度与创建 1-分钟柱线的理想时间相距甚远。这是我们要率先解决的一件事。解决同步问题并不困难。也许这看起来很难,但实际上却很简单。在上一篇文章中,我们没有进行所需的调整,因为它的目的是解释如何把图表上创建 1-分钟柱线的跳价数据转移至市场观察窗口。
preview
您应当知道的 MQL5 向导技术(第 13 部分):智能信号类 DBSCAN

您应当知道的 MQL5 向导技术(第 13 部分):智能信号类 DBSCAN

《基于密度的空间聚类参与噪声应用》是一种无监督的数据分组形式,除 2 个参数外,几乎不需要任何输入参数,比之其它方式,譬如 k-平均,这是一个福音。我们深入研究使用由向导组装的智能系统如何在测试、及最终交易时起到建设性作用。
preview
开发多币种 EA 交易系统(第 15 部分):为真实交易准备 EA

开发多币种 EA 交易系统(第 15 部分):为真实交易准备 EA

当我们逐渐接近获得一个现成的 EA 时,我们需要注意在测试交易策略阶段看似次要的问题,但在转向真实交易时变得重要。
preview
您应当知道的 MQL5 向导技术(第 39 部分):相对强度指数

您应当知道的 MQL5 向导技术(第 39 部分):相对强度指数

RSI 是一款流行的动量震荡指标,衡量证券近期价格变化的速度和规模,从而评估证券价格中被高估和低估的情况。这些对速度和幅度的洞察是定义反转点的关键。我们将这个振荡器放入另一个自定义信号类中工作,并验证其信号的一些特征。不过,我们先从总结我们之前在布林带的内容开始。
preview
开发基于订单簿的交易系统(第一部分):指标

开发基于订单簿的交易系统(第一部分):指标

市场深度无疑是执行快速交易的一个非常重要的因素,特别是在高频交易(HFT)算法中。在本系列文章中,我们将探讨这种类型的交易事件,这些事件可以通过经纪商在许多可交易的交易品种上获得。我们将从一个指标开始,您可以在其中自定义直接显示在图表上的直方图的调色板、位置和大小。我们还将研究如何生成 BookEvent 事件,以在特定条件下测试指标。未来文章的其他可能主题包括如何存储价格分布数据以及如何在策略测试器中使用它。
preview
神经网络变得简单(第 59 部分):控制二分法(DoC)

神经网络变得简单(第 59 部分):控制二分法(DoC)

在上一篇文章中,我们领略了决策变换器。但是,外汇市场复杂的随机环境不允许我们充分发挥所提议方法的潜能。在本文中,我将讲述一种算法,旨在提高在随机环境中的性能。
preview
使用Python和MQL5进行多交易品种分析(第一部分):纳斯达克集成电路制造商

使用Python和MQL5进行多交易品种分析(第一部分):纳斯达克集成电路制造商

加入我们的讨论,了解如何利用人工智能(AI)优化您的仓位规模和订单数量,以最大化您的投资组合回报。我们将展示如何通过算法识别一个最优的投资组合,并根据您的回报预期或风险承受能力来调整投资组合。在本次讨论中,我们将使用SciPy库和MQL5语言,利用所拥有的全部数据创建一个最优且多样化的投资组合。
preview
MQL5 交易策略自动化(第 23 部分):带追踪止损与篮子交易的区间补仓系统

MQL5 交易策略自动化(第 23 部分):带追踪止损与篮子交易的区间补仓系统

在本文中,我们将通过引入追踪止损机制与多篮子交易功能,对原有区间补仓系统(Zone Recovery System)进行升级优化。我们将探索升级版架构如何借助动态追踪止损机制锁定已实现利润,以及通过篮子交易管理系统高效处理多维度交易信号。通过实现与回测,我们展示了一个更强大、更能适应市场变化表现的交易系统。
preview
MQL5 简介(第 12 部分):构建自定义指标的初学者指南

MQL5 简介(第 12 部分):构建自定义指标的初学者指南

了解如何在 MQL5 中构建自定义指标。采用基于项目的方法。本初学者指南涵盖指标缓冲区、属性和趋势可视化,让您一步一步地学习。
preview
构建K线图趋势约束模型(第九部分):多策略EA(第一部分)

构建K线图趋势约束模型(第九部分):多策略EA(第一部分)

今天,我们将探讨如何使用MQL5将多种策略集成到一个EA中。EA不仅仅提供指标和脚本,还允许采用更复杂的交易方法,这些方法能够适应不断变化的市场条件。请阅读本文,带您了解更多。
preview
神经网络变得简单(第 96 部分):多尺度特征提取(MSFformer)

神经网络变得简单(第 96 部分):多尺度特征提取(MSFformer)

高效提取与集成长期依赖关系和短期特征,仍然是时间序列分析中的一项重要任务。它们的正确理解及整合,对于创建准确可靠的预测模型是必要的。
preview
交易中的神经网络:统一轨迹生成模型(UniTraj)

交易中的神经网络:统一轨迹生成模型(UniTraj)

理解个体在众多不同领域的行为很重要,但大多数方法只专注其中一项任务(理解、噪声消除、或预测),这会降低它们在现实中的有效性。在本文中,我们将领略一个可以适配解决各种问题的模型。
preview
外汇套利交易:一款轻松上手的简单合成做市商机器人

外汇套利交易:一款轻松上手的简单合成做市商机器人

今天,来了解一下我的首个套利机器人——一款针对合成资产的流动性提供者(如果这么称呼它也算恰当的话)。目前,该机器人作为一个模块,在一套大型机器学习系统中成功运行,但我从云端调出了一个旧版的外汇套利EA,让我们一起来看一下,并思考如今能用它做些什么。
preview
MQL5交易工具(第一部分):构建交互式可视化挂单交易助手工具

MQL5交易工具(第一部分):构建交互式可视化挂单交易助手工具

本文将介绍如何使用MQL5开发一款交互式交易助手工具,旨在简化外汇交易中的挂单操作流程。我们首先阐述其核心设计理念:通过用户友好的图形界面(GUI),实现图表上直观设置入场点、止损位和止盈位的功能。此外,本文将详细说明MQL5代码实现过程及回测验证方法,确保工具的可靠性,并为后续高级功能开发奠定基础。
preview
两样本Kolmogorov-Smirnov检验作为时间序列非平稳性的指标

两样本Kolmogorov-Smirnov检验作为时间序列非平稳性的指标

本文探讨了最著名的非参数同质性检验之一——两样本柯尔莫哥洛夫-斯米尔诺夫(Kolmogorov-Smirnov)检验。文章对模型数据和实际价格都进行了分析。此外,本文还给出了构建非平稳性指标(iSmirnovDistance)的一个示例。
preview
神经网络变得轻松(第五十部分):软性扮演者-评价者(模型优化)

神经网络变得轻松(第五十部分):软性扮演者-评价者(模型优化)

在上一篇文章中,我们实现了软性扮演者-评论者算法,但未能训练出一个可盈利的模型。在此,我们将优化先前创建的模型,以期获得所需的结果。
preview
从零开始在MQL5中实现移动平均线:简单明了

从零开始在MQL5中实现移动平均线:简单明了

我们将通过简单的示例,探究移动平均线的计算原理,同时了解优化指标计算(包括移动平均线计算)的方法。
preview
精通 MQL5 文件操作:从基础 I/O 到构建自定义 CSV 读取器

精通 MQL5 文件操作:从基础 I/O 到构建自定义 CSV 读取器

本文聚焦于 MQL5 文件处理的核心技术,涵盖交易日志、CSV 处理以及外部数据集成。它既提供概念性理解,也包含实用的编程指导。读者将逐步学习如何构建一个自定义的 CSV 导入器类,从而掌握适用于实际应用的实用技能。
preview
DoEasy 函数库中的图形(第九十七部分):独立处理窗体对象移动

DoEasy 函数库中的图形(第九十七部分):独立处理窗体对象移动

在本文中,我将研究实现鼠标独立拖动任何窗体对象。 此外,我还将在该函数库里补充错误消息和之前在终端和 MQL5 中实现的新成交属性。
preview
数据科学和机器学习(第 31 部分):利用 CatBoost AI 模型进行交易

数据科学和机器学习(第 31 部分):利用 CatBoost AI 模型进行交易

CatBoost AI 模型最近在机器学习社区中广受欢迎,因为它们的预测准确性、效率、及针对分散和困难数据集的健壮性。在本文中,我们将详细讨论如何实现这些类型的模型,进而尝试进击外汇市场。
preview
矩阵分解基础知识

矩阵分解基础知识

由于这里的目标是教学,我们将尽可能简单地进行。也就是说,我们将只实现所需的功能:矩阵乘法。今天您将看到,这足以模拟矩阵标量乘法。许多人在使用矩阵分解实现代码时遇到的最大困难是:与标量分解不同,在标量分解中,几乎所有情况下因子的顺序都不会改变结果,但使用矩阵时情况并非如此。
preview
MetaTrader 中的 Multibot(第二部分):改进的动态模板

MetaTrader 中的 Multibot(第二部分):改进的动态模板

在开发上一篇文章的主题时,我决定创建一个更灵活、功能更强大的模板,该模板具有更大的功能,可以有效地用于自由职业,也可以作为开发多货币和多时段 EA 的基础,并能够与外部解决方案集成。
preview
开发多币种 EA 交易(第 7 部分):根据前向时间段选择组

开发多币种 EA 交易(第 7 部分):根据前向时间段选择组

在此之前,我们曾对一组交易策略实例的选择进行过评估,目的是改进它们的联合运行结果,但这只是在对单个实例进行优化的同一时间段进行的。让我们拭目以待在前向时间段会发生什么。
preview
交易中的神经网络:用于时间序列预测的轻量级模型

交易中的神经网络:用于时间序列预测的轻量级模型

轻量级时间序列预测模型使用最少的参数数量实现高性能。这反过来减少了计算资源的消耗并加快了决策速度。尽管是轻量级的,这些模型实现了与更复杂模型相当的预测质量。
preview
在MQL5中置换价格柱

在MQL5中置换价格柱

在这篇文章中,我们提出了一种置换价格柱的算法,并详细说明了如何使用置换测试来识别策略性能被编造来欺骗 EA 交易的潜在买家的情况。
preview
如何使用 MetaTrader 和 Google Sheets 创建交易日志

如何使用 MetaTrader 和 Google Sheets 创建交易日志

使用 MetaTrader 和 Google Sheets 创建交易日志!您将学习如何通过 HTTP POST 同步您的交易数据,并使用 HTTP 请求来获取它。最后,您有一个交易日志,可以帮助您有效地跟踪您的交易。
preview
利用CatBoost机器学习模型作为趋势跟踪策略的过滤器

利用CatBoost机器学习模型作为趋势跟踪策略的过滤器

CatBoost是一种强大的基于树的机器学习模型,擅长基于静态特征进行决策。其他基于树的模型,如XGBoost和随机森林(Random Forest),在稳健性、处理复杂模式的能力以及可解释性方面具有相似特性。这些模型应用广泛,可用于特征分析、风险管理等多个领域。在本文中,我们将逐步介绍如何将训练好的CatBoost模型用作经典移动平均线交叉趋势跟踪策略的过滤器。
preview
MQL5中的范畴论(第23部分):对双重指数移动平均的不同看法

MQL5中的范畴论(第23部分):对双重指数移动平均的不同看法

在这篇文章中,我们继续我们的主题,最后是从“新”的角度处理日常交易指标。我们正在为这篇文章处理自然变换的水平组合,而这方面的最佳指标是双重指数移动平均(DEMA),它扩展了我们刚刚涵盖的内容。
preview
在 MQL5 中实现广义赫斯特指数和方差比检验

在 MQL5 中实现广义赫斯特指数和方差比检验

在本文中,我们将研究如何利用广义赫斯特指数(Generalized Hurst Exponent)和方差比检验(Variance Ratio Test)来分析 MQL5 中价格序列的行为。
preview
在任何市场中获得优势(第四部分):CBOE欧元和黄金波动率指数

在任何市场中获得优势(第四部分):CBOE欧元和黄金波动率指数

我们将分析芝加哥期权交易所(CBOE)整理的替代数据,以提高我们的深度神经网络在预测XAUEUR货币对时的准确性。
preview
如何使用 Controls 类创建交互式 MQL5 仪表盘/面板(第 2 部分):添加按钮响应。

如何使用 Controls 类创建交互式 MQL5 仪表盘/面板(第 2 部分):添加按钮响应。

在本文中,我们将聚焦于实现按钮的响应,把静态的 MQL5 面板转变为一个交互式工具。我们将探讨如何自动化 GUI 组件的功能,确保它们能够恰当地响应用户的点击操作。最终,我们将建立一个动态界面,提升交互性和交易体验。
preview
在任何市场中获得优势(第五部分):联邦储备经济数据库(FRED)欧元兑美元( EURUSD)可替代数据

在任何市场中获得优势(第五部分):联邦储备经济数据库(FRED)欧元兑美元( EURUSD)可替代数据

在今天的讨论中,我们使用了圣路易斯联邦储备银行(St. Louis Federal Reserve)提供的关于广义美元指数以及其他一系列宏观经济指标的可替代日数据,来预测欧元兑美元(EURUSD)未来的汇率。遗憾的是,尽管数据似乎具有近乎完美的相关性,但我们在模型准确性方面未能实现任何实质性提升,这可能暗示投资者最好采用常规的市场价格数据。