MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
开发回放系统 — 市场模拟(第 06 部分):首次改进(I)

开发回放系统 — 市场模拟(第 06 部分):首次改进(I)

在本文中,我们将开始稳固整个系统,若无,则我们可能无法进行后续步骤。
preview
重构经典策略(第十一部分)移动平均线的交叉(二)

重构经典策略(第十一部分)移动平均线的交叉(二)

移动平均线和随机振荡器可用于生成趋势跟踪交易信号。然而,这些信号只有在价格行为发生之后才会被观察到。我们可以有效地利用人工智能克服技术指标中这种固有的滞后性。本文将教您如何创建一个完全自主的人工智能驱动型EA,这种方式可以改进您现有的任何交易策略。即使是最古老的交易策略也可以被改进。
preview
通过成交量洞察交易:趋势确认

通过成交量洞察交易:趋势确认

增强型趋势确认技术结合了价格行为、成交量分析和机器学习,用以识别真实的市场行情。该技术要求价格突破和成交量激增(高于平均值50%)这两个条件同时满足以验证交易信号,同时使用一个LSTM神经网络进行附加确认。该系统采用基于ATR(平均真实波幅)的仓位调整和动态风险管理,使其能够适应不同的市场条件,同时过滤掉虚假信号。
preview
MQL5中使用坐标下降法的弹性网络回归

MQL5中使用坐标下降法的弹性网络回归

在这篇文章中,我们探索了弹性网络回归的实际实现,以最大限度地减少过拟合,同时自动将有用的预测因子与那些预测能力很小的预测因子区分开来。
preview
DoEasy 函数库中的图形(第一百部分):改进扩展标准图形对象的处理

DoEasy 函数库中的图形(第一百部分):改进扩展标准图形对象的处理

在本文中,我将剔除在画布上同时处理扩展(和标准)图形对象和窗体对象方面的明显缺陷,并修复在前一篇文章中执行测试期间检测到的错误。 本文总结了函数库说明的这一部分。
preview
Python中的虚假回归(伪回归)

Python中的虚假回归(伪回归)

虚假回归通常发生在两个时间序列之间仅因偶然因素而展现出高度相关性时,这会导致回归分析产生误导性的结果。在这种情况下,尽管变量之间可能看似存在关联,但这种关联仅仅是巧合,模型可能并不可靠。
preview
威廉·甘恩(William Gann)方法(第一部分):创建甘恩角度指标

威廉·甘恩(William Gann)方法(第一部分):创建甘恩角度指标

甘恩理论的精髓是什么?甘恩角度是如何构建的?我们将为MetaTrader 5创建甘恩角度指标。
preview
开发回放系统 — 市场模拟(第 03 部分):调整设置(I)

开发回放系统 — 市场模拟(第 03 部分):调整设置(I)

我们从梳理当前状况开始,因为我们尚未以最好的方式开始。 如果我们现在不这样做,我们很快就会遇到麻烦。
preview
一个基于新指标和条件长短期记忆网络(LSTM)的实例

一个基于新指标和条件长短期记忆网络(LSTM)的实例

本文探讨了一种用于自动化交易的EA的开发,该EA结合了技术分析和深度学习预测。
preview
市场轮廓指标

市场轮廓指标

在本文中,我们将探讨市场轮廓指标。我们将探究这个名称背后隐藏的内容,尝试理解其运行原理,并分析其程序代码(MarketProfile)。
preview
射箭算法(Archery Algorithm, AA)

射箭算法(Archery Algorithm, AA)

本文详细探讨了受射箭启发的优化算法——射箭算法(Archery Algorithm, AA),重点介绍了如何使用轮盘赌法(roulette method)作为选择“箭矢”目标区域的机制。该方法允许评估解决方案的质量,并选择最有希望的位置进行进一步的探究。
preview
因果推理中的倾向性评分

因果推理中的倾向性评分

本文探讨因果推理中的匹配问题。匹配用于比较数据集中的类似观察结果,这对于正确确定因果关系和消除偏见是必要的。作者解释了这如何有助于构建基于机器学习的交易系统,这些系统在没有经过训练的新数据上变得更加稳定。倾向性评分在因果推理中起着核心作用并被广泛应用。
preview
关于因果网络分析(Causality Network Analysis,CNA)和向量自回归(Vector Autoregression,VAR)模型在市场事件预测中的应用实例

关于因果网络分析(Causality Network Analysis,CNA)和向量自回归(Vector Autoregression,VAR)模型在市场事件预测中的应用实例

本文提供了一个使用因果网络分析(Causality Network Analysis,CNA)和向量自回归(Vector Autoregression,VAR)模型在MQL5中实现复杂交易系统的全面指南。文章涵盖了这些方法的理论背景,详细解释了交易算法中的关键函数,并提供了实现的示例代码。
preview
研究PrintFormat()并应用现成的示例

研究PrintFormat()并应用现成的示例

这篇文章对初学者和有经验的开发人员都很有用。我们将研究PrintFormat()函数,分析字符串格式的示例,并编写用于在终端日志中显示各种信息的模板。
preview
构建和测试 Aroon 交易系统

构建和测试 Aroon 交易系统

在本文中,我们将学习在了解了 Aroon 指标(阿隆指标)的基础知识和基于该指标构建交易系统的必要步骤之后,如何构建 Aroon 交易系统。建立这个交易系统后,我们将对其进行测试,看看它是否能盈利,还是需要进一步优化。
preview
理解编程范式(第 2 部分):面向对象方式开发价格行为智能系统

理解编程范式(第 2 部分):面向对象方式开发价格行为智能系统

学习面向对象的编程范式,及其在 MQL5 代码中的应用。这是第二篇文章,更深入地讲解面向对象编程的规范,并通过一个实际示例提供上手经验。您将学习如何运用 EMA 指标,和烛条价格数据,将我们早期开发的过程化价格行为智能系统转换为面向对象的代码。
preview
密码锁算法(CLA)

密码锁算法(CLA)

在本文中,我们将重新考虑密码锁,将它们从安全机制转变为解决复杂优化问题的工具。让我们探索密码锁的世界,不再将其视为简单的安全装置,而是作为优化问题新方法的灵感来源。我们将创建一整群“锁”,其中每把锁都代表问题的一个独特解决方案。然后,我们将开发一种算法来“破解”这些锁,并从机器学习到交易系统开发等多个领域中找到最优解。
preview
开发回放系统(第 40 部分):启动第二阶段(一)

开发回放系统(第 40 部分):启动第二阶段(一)

今天我们将讨论回放/模拟器系统的新阶段。在这个阶段,谈话才会变得真正有趣,内容也相当丰富。我强烈建议您仔细阅读本文并使用其中提供的链接。这将帮助您更好地理解内容。
preview
开发多币种 EA 交易(第 4 部分):虚拟挂单和保存状态

开发多币种 EA 交易(第 4 部分):虚拟挂单和保存状态

在开始开发多币种 EA 后,我们已经取得了一些成果,并成功地进行了多次代码改进迭代。但是,我们的 EA 无法处理挂单,也无法在终端重启后恢复运行。让我们添加这些功能。
preview
DoEasy. 控件 (第 25 部分): Tooltip WinForms 对象

DoEasy. 控件 (第 25 部分): Tooltip WinForms 对象

在本文中,我将开始开发 Tooltip(工具提示)控件,以及函数库的新图形基元。 自然而然地,并非每个元素都有工具提示,但每个图形对象都有设置它的能力。
preview
价格行为分析工具包开发(第七部分):信号脉冲智能交易系统(EA)

价格行为分析工具包开发(第七部分):信号脉冲智能交易系统(EA)

借助“信号脉冲(Signal Pulse)”这款MQL5智能交易系统(EA),释放多时间框架分析的潜力。该EA整合了布林带(Bollinger Bands)和随机震荡器(Stochastic Oscillator),以提供准确、高概率的交易信号。了解如何实施这一策略,并使用自定义箭头有效直观地显示买入和卖出机会。非常适合希望借助多时间框架的自动化分析来提升自身判断能力的交易者。
preview
种群优化算法:微人工免疫系统(Micro-AIS)

种群优化算法:微人工免疫系统(Micro-AIS)

本文研究一种基于人体免疫系统原理的优化方法 — 微人工免疫系统(Micro-AIS) - AIS 的修订版。Micro-AIS 使用更简单的免疫系统模型,和更简单的免疫信息处理操作。本文还讨论了 Micro-AIS 与传统 AIS 相比的优缺点。
preview
MQL5 Algo Forge 入门

MQL5 Algo Forge 入门

我们正在推出 MQL5 Algo Forge —— 一个专为算法交易开发人员设计的门户网站。它将 Git 的强大功能与直观的界面相结合,用于管理和组织 MQL5 生态系统内的项目。在这里,您可以关注有趣的作者,组建团队,并在算法交易项目上进行协作。
preview
神经网络变得轻松(第四十九部分):软性扮演者-评价者

神经网络变得轻松(第四十九部分):软性扮演者-评价者

我们继续讨论解决连续动作空间问题的强化学习算法。在本文中,我将讲演软性扮演者-评论者(SAC)算法。SAC 的主要优点是拥有查找最佳策略的能力,不仅令预期回报最大化,而且拥有最大化的动作熵(多样性)。
preview
群体优化算法:随机扩散搜索(SDS)

群体优化算法:随机扩散搜索(SDS)

本文讨论了基于随机游走原理的随机扩散搜索(Stochastic Diffusion Search,SDS)算法,它是一种非常强大和高效的优化算法。该算法允许在复杂的多维空间中找到最优解,同时具有高收敛速度和避免局部极值的能力。
preview
您应当知道的 MQL5 向导技术(第 09 部分):K-Means 聚类与分形波配对

您应当知道的 MQL5 向导技术(第 09 部分):K-Means 聚类与分形波配对

“K-均值”聚类采用数据点分组的方式,该过程最初侧重于数据集的宏观视图,使用随机生成的聚类质心,然后放大并调整这些质心,从而准确表示数据集。我们将对此进行研究,并开拓一些它的用例。
preview
在MQL5中创建交易管理员面板(第六部分):多功能界面(一)

在MQL5中创建交易管理员面板(第六部分):多功能界面(一)

交易管理员的角色不仅限于Telegram通信,他们还可以参与各种控制活动,包括订单管理、持仓跟踪和界面定制。在本文中,我们将分享有关扩展程序以支持MQL5中多种功能的实用见解。此次更新旨在克服当前管理员面板主要聚焦于通信这一局限,使其能够处理更广泛的任务。
preview
MQL5中的范畴论(第19部分):自然性四边形归纳法

MQL5中的范畴论(第19部分):自然性四边形归纳法

我们继续通过探讨自然性四边形归纳法来研究自然变换。对于使用MQL5向导构建的EA交易来说,对多货币实现的轻微限制意味着我们正在通过脚本展示我们的数据分类能力。所考虑的主要应用是价格变化分类及其预测。
preview
神经网络变得简单(第 75 部分):提升轨迹预测模型的性能

神经网络变得简单(第 75 部分):提升轨迹预测模型的性能

我们创建的模型变得越来越大,越来越复杂。这不光提高了它们的训练成本,还有操作成本。不过,做出决定所需的时间往往很关键。有关于此,我们来研究在不损失品质的情况下优化模型性能的方法。
preview
开发多币种 EA 交易(第 6 部分):自动选择实例组

开发多币种 EA 交易(第 6 部分):自动选择实例组

在优化交易策略后,我们会收到一组参数。我们可以使用它们在一个 EA 中创建多个交易策略实例。以前,我们都是手动操作。在此,我们将尝试自动完成这一过程。
preview
DoEasy. 控件 (第 9 部分): 重新编排 WinForms 对象方法、RadioButton 和 Button 控件

DoEasy. 控件 (第 9 部分): 重新编排 WinForms 对象方法、RadioButton 和 Button 控件

在本文中,我将修复 WinForms 对象类方法的名称,并创建 WinForms 的对象 Button 和 RadioButton。
preview
开发多币种 EA 交易系统(第 16 部分):不同报价历史对测试结果的影响

开发多币种 EA 交易系统(第 16 部分):不同报价历史对测试结果的影响

正在开发中的 EA 预计在与不同经纪商进行交易时都会表现出良好的效果。但目前我们一直使用 MetaQuotes 模拟账户的报价进行测试。让我们看看我们的 EA 是否准备好使用与测试和优化期间使用的报价不同的交易账户。
preview
DoEasy. 控件(第 二十九 部分):滚动条(ScrollBar)辅助控件

DoEasy. 控件(第 二十九 部分):滚动条(ScrollBar)辅助控件

在本文中,我起始开发滚动条(ScrollBar)辅助控制元素,及其衍生对象 — 垂直和水平滚动条。 滚动条用于窗体内容(如果窗体超出容器)的滚动显示。 滚动条通常位于窗体的底部和右侧。 底部的水平滚动条可左右滚动内容,而垂直的则上下滚动内容。
preview
神经网络变得简单(第 70 部分):封闭式政策改进运算器(CFPI)

神经网络变得简单(第 70 部分):封闭式政策改进运算器(CFPI)

在本文中,我们将领略一种算法,其使用封闭式政策改进运算器来优化离线模式下的智能体动作。
preview
3D 柱线上的趋势强度和方向指标

3D 柱线上的趋势强度和方向指标

我们将研究一种市场趋势分析新方法,基于市场微观结构的三维可视化、及张量分析。
preview
基于转移熵的时间序列因果分析

基于转移熵的时间序列因果分析

在本文中,我们讨论了如何将统计因果关系应用于识别预测变量。我们将探讨因果关系与传递熵(Transfer Entropy, TE)之间的联系,并展示用于检测两个变量之间信息方向性传递的MQL5代码。
preview
开发回放系统 — 市场模拟(第 24 部分):外汇(V)

开发回放系统 — 市场模拟(第 24 部分):外汇(V)

今天,我们将去除阻止基于最后成交价进行模拟的限制,并将专门针对这类模拟引入一个新的切入点。整个操作机制将基于外汇市场的原则。该过程的主要区别在于出价(Bid)和最后成交价(Last)模拟的分离。不过,重点要注意,用于随机化时间,并将其调整为与 C_Replay 类兼容的方法在两类模拟中保持雷同。这很好,因为一种模式的变化会导致另一种模式的自动改进,尤其遇到处理跳价之间的时间。
preview
开发回放系统(第30部分):EA交易项目——C_Mouse类(四)

开发回放系统(第30部分):EA交易项目——C_Mouse类(四)

今天,我们将学习一种技术,它可以在程序员职业生涯的不同阶段对我们有很大帮助。通常,受到限制的不是平台本身,而是谈论限制的人的知识。这篇文章将告诉你,凭借常识和创造力,你可以让 MetaTrader 5 平台变得更加有趣和通用,而无需创建疯狂的程序或类似的东西,并创建简单但安全可靠的代码。我们将利用我们的创造力修改现有代码,而不删除或添加源代码中的任何一行。
preview
您应当知道的 MQL5 向导技术(第 45 部分):蒙特卡洛强化学习

您应当知道的 MQL5 向导技术(第 45 部分):蒙特卡洛强化学习

蒙特卡洛是我们正在研究的第四种不同的强化学习算法,目的是探索它在向导汇编智能交易系统中的实现。尽管它锚定在随机抽样,但它提供了我们可以利用的多种模拟方法。
preview
MetaTrader 5中的蒙特卡罗置换测试

MetaTrader 5中的蒙特卡罗置换测试

在本文中,我们将了解如何仅使用 Metatrader 5在任何 EA 交易上基于修改的分时数据进行置换测试。