MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
种群优化算法:引力搜索算法(GSA)

种群优化算法:引力搜索算法(GSA)

GSA 是一种受无生命自然启发的种群优化算法。 万幸在算法中实现了牛顿的万有引力定律,对物理物体相互作用进行建模的高可靠性令我们能够观察到行星系统和星系团的迷人舞蹈。 在本文中,我将研究最有趣和最原始的优化算法之一。 还提供了空间物体运动的模拟器。
preview
构建K线图趋势约束模型(第一部分):针对EA和技术指标

构建K线图趋势约束模型(第一部分):针对EA和技术指标

本文面向初学者和专业的MQL5开发者。它提供了一段代码,用于定义并限制信号生成指标仅在较长的时间框架的趋势中运行。通过这种方式,交易者可以通过融入更广泛的市场视角来增强他们的策略,从而可能产生更稳健和可靠的交易信号。
preview
价格行为分析工具箱开发(第三部分):分析大师 —EA

价格行为分析工具箱开发(第三部分):分析大师 —EA

从一个简单的交易脚本升级到一个功能完备的智能交易系统(EA),可以极大地提升您的交易体验。想象一下,拥有一个能够自动监控您的图表、在后台执行关键计算,并每隔两小时提供定期更新的系统。这款EA将配备分析关键指标的功能,而这些指标对于做出明智的交易决策至关重要,从而确保您能获取最新信息,以有效地调整您的交易策略。
preview
DoEasy. 控件 (第 21 部分): SplitContainer 控件 面板隔板

DoEasy. 控件 (第 21 部分): SplitContainer 控件 面板隔板

在本文中,我将为 SplitContainer 控件创建辅助面板隔板对象类。
preview
为 MetaTrader 5 开发一款 MQTT 客户端:TDD 方式

为 MetaTrader 5 开发一款 MQTT 客户端:TDD 方式

本文汇报为 MQL5 开发原生 MQTT 客户端的首次尝试。MQTT 是一种客户端-服务器之间发布/订阅消息的传输协议。它轻巧、开放、简单,并且易于实施。这些特性令其非常适合在多种情况下使用。
preview
开发多币种 EA 交易(第 9 部分):收集单一交易策略实例的优化结果

开发多币种 EA 交易(第 9 部分):收集单一交易策略实例的优化结果

让我们来概述一下 EA 开发的主要阶段。首先要做的一件事就是优化所开发交易策略的单个实例。让我们试着在一个地方收集优化过程中测试器通过的所有必要信息。
preview
在 MQL5 中实现增广迪基–富勒检验

在 MQL5 中实现增广迪基–富勒检验

在本文中,我们演示了增广迪基–富勒(Augmented Dickey-Fuller,ADF)检验的实现,并将其应用于使用 Engle-Granger 方法进行协整检验。
preview
价格行为分析工具包开发(第12部分):外部资金流(3)趋势图谱(TrendMap)

价格行为分析工具包开发(第12部分):外部资金流(3)趋势图谱(TrendMap)

市场走势由多头与空头之间的力量博弈所决定。由于作用在这些水平上的力量,市场会尊重某些特定价位水平。斐波那契(Fibonacci)水平和成交量加权平均价(VWAP)水平在影响市场行为方面尤为强大。请随我一同探讨本文中基于VWAP和斐波那契水平生成交易信号的策略。
preview
掌握 MQL5:从入门到精通(第三部分)复杂数据类型和包含文件

掌握 MQL5:从入门到精通(第三部分)复杂数据类型和包含文件

这是描述 MQL5 编程主要方面的系列文章中的第三篇。本文涵盖了上一篇文章中未讨论的复杂数据类型。这些包括结构、联合、类和“函数”数据类型。它还解释了如何使用 #include 预处理器指令为程序添加模块化。
preview
MQL5 交易管理面板开发指南(第六部分):交易管理面板(续篇)

MQL5 交易管理面板开发指南(第六部分):交易管理面板(续篇)

在本文中,我们对多功能管理面板的“交易面板”进行升级。我们引入一个强大的辅助函数,大幅简化代码,提高可读性、可维护性与运行效率。同时演示如何无缝集成更多按钮,并优化界面,以支持更广泛的交易任务。无论是持仓管理、订单调整,还是简化交互,本文将助您打造稳健且易用的交易管理面板。
preview
图表上的历史仓位及其盈利/亏损图指标

图表上的历史仓位及其盈利/亏损图指标

在本文中,我将探讨根据交易历史获取已平仓头寸信息的选项。此外,我将创建一个简单的指标,以图表的形式显示每个柱形上仓位的大致盈利/亏损。
preview
量化风险管理方法:应用 VaR 模型优化多货币投资组合(使用 Python 和 MetaTrader 5)

量化风险管理方法:应用 VaR 模型优化多货币投资组合(使用 Python 和 MetaTrader 5)

本文探讨了价值风险(VaR)模型在多货币投资组合优化中的潜力。借助 Python 的强大功能和 MetaTrader 5 的功能,我们展示了如何实施 VaR 分析,以实现高效的资金分配和头寸管理。从理论基础到实际实施,文章涵盖了将 VaR——这一最稳健的风险计算系统之一——应用于算法交易的方方面面。
preview
解构客户端交易策略的示例

解构客户端交易策略的示例

本文使用框图来检查位于终端的 Experts\Free Robots 文件夹中的基于烛形的训练 EA 的逻辑。
preview
在MQL5中构建自优化智能交易系统(EA)(第五部分):自适应交易规则

在MQL5中构建自优化智能交易系统(EA)(第五部分):自适应交易规则

如何完美使用指标的原则,并不总是易于遵循。在市场行情较为平稳的情况下,指标可能会意外地给出不构成交易条件的信号,导致算法交易者错失交易机会。本文将提出一个潜在的解决方案,我们将讨论如何构建能够根据现有市场数据调整其交易规则的交易应用程序。
preview
开发回放系统(第32部分):订单系统(一)

开发回放系统(第32部分):订单系统(一)

在我们迄今为止开发的所有东西中,正如你可能会注意到并最终同意的那样,这个系统是最复杂的。现在我们需要做一些非常简单的事情:让我们的系统模拟交易服务器的操作。准确实现交易服务器操作方式似乎是一件轻而易举的事情。至少说起来是这样。但我们需要这样做,以便对回放/模拟系统的用户来说,一切都是无缝和透明的。
preview
DoEasy. 控件 (第 5 部分): 基准 WinForms 对象,面板控件,AutoSize 参数

DoEasy. 控件 (第 5 部分): 基准 WinForms 对象,面板控件,AutoSize 参数

在本文中,我将创建所有函数库 WinForms 对象的基准对象,并开始实现面板 WinForms 对象的 AutoSize 属性 — 自动调整尺寸,从而适应对象内部内容。
preview
MQL5交易策略自动化(第十二部分):实现缓解型订单块(MOB)策略

MQL5交易策略自动化(第十二部分):实现缓解型订单块(MOB)策略

在本文中,我们将构建一个MQL5交易系统,可针对“聪明资金”(Smart Money)交易自动检测订单块。我们将阐述该策略的规则,在MQL5中实现其逻辑,并融入风险管理以实现有效的交易执行。最后,我们将对该系统进行回测,以评估其表现,并对其进行优化以获得最优结果。
preview
暴力方式搜素形态(第 V 部分):全新视角

暴力方式搜素形态(第 V 部分):全新视角

在这篇文章中,我将展示一种完全不同的方式进行算法交易,我经历了很长一段时间后才最终遇到它。当然,这一切所作所为全靠我的暴力程序,其经历了许多更改,令其能够并发解决若干问题。尽管如此,这篇文章明面上仍然比较笼统和尽可能简单,这就是为什么它也适合那些对暴力一无所知的人。
preview
在 MQL5 中创建交互式图形用户界面(第 2 部分):添加控制和响应

在 MQL5 中创建交互式图形用户界面(第 2 部分):添加控制和响应

通过动态功能增强 MQL5 图形用户界面(GUI)面板,可以大大改善用户的交易体验。通过整合互动元素、悬停效果和实时数据更新,该面板成为现代交易者的强大工具。
preview
使用MQL5和Python构建自优化EA(第二部分):调整深度神经网络

使用MQL5和Python构建自优化EA(第二部分):调整深度神经网络

机器学习模型带有各种可调节的参数。在本系列文章中,我们将探讨如何使用SciPy库来定制您的AI模型,使其适应特定的市场。
preview
在MQL5中自动化交易策略(第5部分):开发自适应交叉RSI交易套件策略

在MQL5中自动化交易策略(第5部分):开发自适应交叉RSI交易套件策略

在本文中,我们开发了自适应交叉RSI交易套件系统。该系统使用周期为14和50的移动平均线交叉来产生信号,并由一个周期为14的RSI过滤器进行确认。该系统包含一个交易日过滤器、带注释的信号箭头,以及一个用于监控的实时仪表盘。 这种方法确保了自动化交易中的精确性和适应性。
preview
MQL5 中的范畴论 (第 6 部分):单态回拉和满态外推

MQL5 中的范畴论 (第 6 部分):单态回拉和满态外推

范畴论是数学的一个多样化和不断扩展的分支,直到最近才在 MQL5 社区中得到一些报道。 这些系列文章旨在探索和验证一些概念和公理,其总体目标是建立一个开放的函数库,提供洞察力,同时也希望进一步在交易者的策略开发中运用这个非凡的领域。
preview
神经网络变得轻松(第三十七部分):分散关注度

神经网络变得轻松(第三十七部分):分散关注度

在上一篇文章中,我们讨论了在其架构中使用关注度机制的关系模型。 这些模型的具体特征之一是计算资源的密集功用。 在本文中,我们将研究于自我关注度模块内减少计算操作数量的机制之一。 这将提高模型的常规性能。
preview
开发回放系统 — 市场模拟(第 04 部分):调整设置(II)

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

我们继续创建系统和控制。 没有掌控服务的能力,就很难向前推进和改进系统。
preview
DoEasy.服务功能(第 1 部分):价格形态

DoEasy.服务功能(第 1 部分):价格形态

在本文中,我们将开始开发使用时间序列数据搜索价格形态的方法。一种形态有一组参数,对任何类型的形态都是通用的。所有此类数据都将集中在基础抽象形态的对象类中。在本文中,我们将创建一个抽象形态类和一个 Pin Bar 形态类。
preview
开发多币种 EA 交易系统(第 14 部分):风险管理器的适应性交易量变化

开发多币种 EA 交易系统(第 14 部分):风险管理器的适应性交易量变化

之前开发的风险管理器仅包含基本功能,让我们试着探讨其可能的开发方式,使我们能够在不干扰交易策略逻辑的情况下改善交易结果。
preview
神经网络变得轻松(第十六部分):聚类运用实践

神经网络变得轻松(第十六部分):聚类运用实践

在上一篇文章中,我们为数据聚类创建了一个类。 在本文中,我想分享在解决实际交易任务时应用所获结果会遇到的可能变体。
preview
神经网络变得简单(第 89 部分):频率增强分解变换器(FEDformer)

神经网络变得简单(第 89 部分):频率增强分解变换器(FEDformer)

到目前为止,我们研究过的所有模型在分析环境状态时都将其当作时间序列。不过,时间序列也能以频率特征的形式表示。在本文中,我将向您介绍一种算法,即利用时间序列的频率分量来预测未来状态。
preview
种群优化算法:Boids(虚拟生物)算法

种群优化算法:Boids(虚拟生物)算法

本文基于动物集群行为的独特实例,说明Boids算法。反过来说,Boids算法又成为了一整类算法的基础,这类算法统称为“种群智能”。
preview
您应该知道的 MQL5 向导技术(第 02 部分):Kohonen 映射

您应该知道的 MQL5 向导技术(第 02 部分):Kohonen 映射

这些系列文章所提议的是,MQL5 向导应作为交易员的支柱。 为什么呢? 因为交易员不仅可以利用 MQL5 向导装配他的新想法来节省时间,还可以大大减少重复编码带来的错误;他最终可把精力投向自我交易哲学中的几个关键领域。
preview
MQL5 中的高级变量和数据类型

MQL5 中的高级变量和数据类型

不仅在 MQL5 编程中,在任何编程语言中,变量和数据类型都是非常重要的主题。MQL5 变量和数据类型可分为简单类型和高级类型。在这篇文章中,我们将识别并学习高级类型,因为我们在前一篇文章中已经提到过简单类型。
preview
时间序列分类问题中的因果推理

时间序列分类问题中的因果推理

在本文中,我们将研究使用机器学习的因果推理理论,以及 Python 中的自定义方法实现。因果推理和因果思维植根于哲学和心理学,在我们理解现实中起着重要作用。
preview
交易中的神经网络:基于双注意力的趋势预测模型

交易中的神经网络:基于双注意力的趋势预测模型

我们继续讨论时间序列的分段线性表示的运用,这在前一篇文章中已经开始。今天,我们要看看如何将该方法与其它时间序列分析方法相结合,从而提高价格趋势预测品质。
preview
开发回放系统(第33部分):订单系统(二)

开发回放系统(第33部分):订单系统(二)

今天,我们将继续开发订单系统。正如您将看到的,我们将大规模重用其他文章中已经展示的内容。尽管如此,你还是会在这篇文章中获得一点奖励。首先,我们将开发一个可以与真实交易服务器一起使用的系统,无论是从模拟账户还是从真实账户。我们将广泛使用MetaTrader 5平台,该平台将从一开始就为我们提供所有必要的支持。
preview
多交易品种多周期指标中的 DRAW_ARROW 绘图类型

多交易品种多周期指标中的 DRAW_ARROW 绘图类型

本文将介绍如何绘制多交易品种多周期的箭头指标。我们还将改进类方法,以便正确显示箭头指标的数据,这些数据是根据与当前图表交易品种/周期不一致的交易品种/周期计算的。
preview
彗星尾算法(CTA)

彗星尾算法(CTA)

在这篇文章中,我们将探讨彗星尾优化算法(CTA),该算法从独特的太空物体——彗星及其接近太阳时形成的壮观尾部中汲取灵感。该算法基于彗星及其尾部运动的概念设计而成,旨在寻找优化问题中的最优解。
preview
开发多币种 EA 交易 (第 11 部分):自动化优化(第一步)

开发多币种 EA 交易 (第 11 部分):自动化优化(第一步)

为了获得一个好的 EA,我们需要为它选择多组好的交易策略实例参数。这可以通过对不同的交易品种运行优化然后选择最佳结果来手动完成。但最好将这项工作委托给程序,并从事更有成效的活动。
preview
重构经典策略(第九部分):多时间框架分析(第二部分)

重构经典策略(第九部分):多时间框架分析(第二部分)

在今天的讨论中,我们探讨了多时间框架分析的策略,以确定我们的人工智能(AI)模型在哪个时间框架上表现最优。分析结果表明,在欧元兑美元(EURUSD)货币对上,月度和小时时间框架生成的模型具有相对较低的误差率。我们利用这一优势,开发了一个交易算法,该算法在月度时间框架上进行人工智能预测,并在小时时间框架上执行交易。
preview
构建K线图的趋势约束模型(第四部分):为各个趋势波段自定义显示样式

构建K线图的趋势约束模型(第四部分):为各个趋势波段自定义显示样式

在本文中,我们将探讨强大的MQL5语言在MetaTrader 5上绘制各种指标样式的能力。我们还将研究脚本及其在模型中的应用。
preview
从新手到专家:MQL5中的协作式调试指南

从新手到专家:MQL5中的协作式调试指南

问题解决法能为掌握复杂技能(如MQL5编程)构建高效路径。该方法让您在专注攻克问题的同时,潜移默化地提升技能水平。解决的难题越多,大脑积累的专业知识就越深厚。就我个人而言,调试是精通编程最有效的途径。本文将带你逐步梳理代码清理流程,并探讨将杂乱程序转化为简洁高效代码的核心技巧。阅读本文,洞悉其中的宝贵见解。