MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
MQL5交易策略自动化(第八部分):构建基于蝴蝶谐波形态的智能交易系统(EA)

MQL5交易策略自动化(第八部分):构建基于蝴蝶谐波形态的智能交易系统(EA)

在本文中,我们将构建一个MQL5智能交易系统(EA),用于检测蝴蝶谐波形态。我们会识别关键转折点,并验证斐波那契(Fibonacci)水平以确认该形态。之后,我们会在图表上可视化该形态,并在得到确认时自动执行交易。
preview
时间序列分类问题中的因果推理

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

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

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

我们继续讨论时间序列的分段线性表示的运用,这在前一篇文章中已经开始。今天,我们要看看如何将该方法与其它时间序列分析方法相结合,从而提高价格趋势预测品质。
preview
开发多币种 EA 交易 (第 11 部分):自动化优化(第一步)

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

为了获得一个好的 EA,我们需要为它选择多组好的交易策略实例参数。这可以通过对不同的交易品种运行优化然后选择最佳结果来手动完成。但最好将这项工作委托给程序,并从事更有成效的活动。
preview
在MQL5中实现基于抛物线转向指标(Parabolic SAR)和简单移动平均线(SMA)的快速交易策略算法

在MQL5中实现基于抛物线转向指标(Parabolic SAR)和简单移动平均线(SMA)的快速交易策略算法

在本文中,我们将在MQL5中开发一个快速交易EA,利用抛物线SAR和简单移动平均线(SMA)指标来创建一个响应迅速的交易策略。我们详细介绍了该策略的实施过程,包括指标的使用、信号的生成以及测试和优化过程。
preview
神经网络变得简单(第 66 部分):离线学习中的探索问题

神经网络变得简单(第 66 部分):离线学习中的探索问题

使用准备好的训练数据集中的数据对模型进行离线训练,这种方法虽然有一定的优势,但其不利的一面是,环境信息被大大压缩到训练数据集的大小。这反过来又限制了探索的可能性。在本文中,我们将探讨一种方法,这种方法可以用尽可能多样化的数据来填充训练数据集。
preview
MQL5 交易工具包(第 2 部分):扩展和实现仓位管理 EX5 库

MQL5 交易工具包(第 2 部分):扩展和实现仓位管理 EX5 库

了解如何在 MQL5 代码或项目中导入和使用 EX5 库。在这篇续文中,我们将通过向现有库中添加更多仓位管理功能并创建两个 EA 交易系统来扩展 EX5 库。第一个例子将使用可变指数动态平均(Variable Index Dynamic Average,VIDYA)技术指标来开发追踪止损交易策略 EA 交易,而第二个例子将利用交易面板来监控、开仓、平仓和修改仓位。这两个例子将演示如何使用和实现升级后的 EX5 仓位管理库。
preview
解构客户端交易策略的示例

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

本文使用框图来检查位于终端的 Experts\Free Robots 文件夹中的基于烛形的训练 EA 的逻辑。
preview
神经网络变得轻松(第十六部分):聚类运用实践

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

在上一篇文章中,我们为数据聚类创建了一个类。 在本文中,我想分享在解决实际交易任务时应用所获结果会遇到的可能变体。
preview
开发回放系统 — 市场模拟(第 08 部分):锁定指标

开发回放系统 — 市场模拟(第 08 部分):锁定指标

在本文中,我们将亲眼见证如何在简单地利用 MQL5 语言锁定指标,我们将以一种非常有趣和迷人的方式做到这一点。
preview
价格行为分析工具箱开发(第三部分):分析大师 —EA

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

从一个简单的交易脚本升级到一个功能完备的智能交易系统(EA),可以极大地提升您的交易体验。想象一下,拥有一个能够自动监控您的图表、在后台执行关键计算,并每隔两小时提供定期更新的系统。这款EA将配备分析关键指标的功能,而这些指标对于做出明智的交易决策至关重要,从而确保您能获取最新信息,以有效地调整您的交易策略。
preview
构建K线图的趋势约束模型(第四部分):为各个趋势波段自定义显示样式

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

在本文中,我们将探讨强大的MQL5语言在MetaTrader 5上绘制各种指标样式的能力。我们还将研究脚本及其在模型中的应用。
preview
MQL5 中的范畴论 (第 6 部分):单态回拉和满态外推

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

范畴论是数学的一个多样化和不断扩展的分支,直到最近才在 MQL5 社区中得到一些报道。 这些系列文章旨在探索和验证一些概念和公理,其总体目标是建立一个开放的函数库,提供洞察力,同时也希望进一步在交易者的策略开发中运用这个非凡的领域。
preview
在MQL5中构建自优化智能交易系统(EA)(第五部分):自适应交易规则

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

如何完美使用指标的原则,并不总是易于遵循。在市场行情较为平稳的情况下,指标可能会意外地给出不构成交易条件的信号,导致算法交易者错失交易机会。本文将提出一个潜在的解决方案,我们将讨论如何构建能够根据现有市场数据调整其交易规则的交易应用程序。
preview
DoEasy. 控件 (第 12 部分): 基准列表对象、ListBox 和 ButtonListBox WinForms 对象

DoEasy. 控件 (第 12 部分): 基准列表对象、ListBox 和 ButtonListBox WinForms 对象

在本文中,我将继续创建 WinForms 对象列表的基准对象,以及两个新对象:ListBox 和 ButtonListBox。
preview
价格行为分析工具包开发(第19部分):ZigZag分析器

价格行为分析工具包开发(第19部分):ZigZag分析器

每一位价格行为交易者都会手动使用趋势线来确认趋势,并找出潜在的转折或延续水平。在这个关于开发价格行为分析工具包的系列中,我们介绍一款专注于绘制倾斜趋势线的工具,以便于进行市场分析。该工具通过清晰地勾勒出有效价格行为评估所必需的关键趋势和水平,简化了交易者的流程。
preview
重构经典策略(第九部分):多时间框架分析(第二部分)

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

在今天的讨论中,我们探讨了多时间框架分析的策略,以确定我们的人工智能(AI)模型在哪个时间框架上表现最优。分析结果表明,在欧元兑美元(EURUSD)货币对上,月度和小时时间框架生成的模型具有相对较低的误差率。我们利用这一优势,开发了一个交易算法,该算法在月度时间框架上进行人工智能预测,并在小时时间框架上执行交易。
preview
价格行为分析工具包开发(第12部分):外部资金流(3)趋势图谱(TrendMap)

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

市场走势由多头与空头之间的力量博弈所决定。由于作用在这些水平上的力量,市场会尊重某些特定价位水平。斐波那契(Fibonacci)水平和成交量加权平均价(VWAP)水平在影响市场行为方面尤为强大。请随我一同探讨本文中基于VWAP和斐波那契水平生成交易信号的策略。
preview
神经网络变得简单(第 89 部分):频率增强分解变换器(FEDformer)

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

到目前为止,我们研究过的所有模型在分析环境状态时都将其当作时间序列。不过,时间序列也能以频率特征的形式表示。在本文中,我将向您介绍一种算法,即利用时间序列的频率分量来预测未来状态。
preview
量化风险管理方法:应用 VaR 模型优化多货币投资组合(使用 Python 和 MetaTrader 5)

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

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

通过注释确定代码中错误的方法

本文介绍了基于注释搜索 MQL4 代码中错误的方法。当大而合理的代码中的错误导致编译出现问题时,该方法被认为非常有用。
preview
掌握 MQL5:从入门到精通(第三部分)复杂数据类型和包含文件

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

这是描述 MQL5 编程主要方面的系列文章中的第三篇。本文涵盖了上一篇文章中未讨论的复杂数据类型。这些包括结构、联合、类和“函数”数据类型。它还解释了如何使用 #include 预处理器指令为程序添加模块化。
preview
DRAKON可视化编程语言 - 面向MQL开发人员和客户的通信工具

DRAKON可视化编程语言 - 面向MQL开发人员和客户的通信工具

DRAKON是一种可视化编程语言,旨在简化来自不同领域的专家(生物学家、物理学家、工程师…)与俄罗斯太空项目(例如,Buran可重复使用航天器项目)程序员之间的互动。在这篇文章中,我将讨论DRAKON如何使算法的创建变得容易和直观,即使你从未遇到过代码,以及客户在订购交易机器人时如何更容易解释他们的想法,以及程序员如何在复杂函数中减少错误。
preview
彗星尾算法(CTA)

彗星尾算法(CTA)

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

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

之前开发的风险管理器仅包含基本功能,让我们试着探讨其可能的开发方式,使我们能够在不干扰交易策略逻辑的情况下改善交易结果。
preview
同时交易多种工具时平衡风险

同时交易多种工具时平衡风险

本文将帮助初学者从头开始编写一个脚本的实现,用于在同时交易多种工具时平衡风险。此外,它还可以为有经验的用户提供新的思路,使他们可以根据本文提出的方案来实现自己的解决方案。
preview
MQL5 中的高级变量和数据类型

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

不仅在 MQL5 编程中,在任何编程语言中,变量和数据类型都是非常重要的主题。MQL5 变量和数据类型可分为简单类型和高级类型。在这篇文章中,我们将识别并学习高级类型,因为我们在前一篇文章中已经提到过简单类型。
preview
在 MQL5 中创建交互式图形用户界面(第 2 部分):添加控制和响应

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

通过动态功能增强 MQL5 图形用户界面(GUI)面板,可以大大改善用户的交易体验。通过整合互动元素、悬停效果和实时数据更新,该面板成为现代交易者的强大工具。
preview
种群优化算法:Boids(虚拟生物)算法

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

本文基于动物集群行为的独特实例,说明Boids算法。反过来说,Boids算法又成为了一整类算法的基础,这类算法统称为“种群智能”。
preview
MQL5 中的范畴论 (第 5 部分):均衡器

MQL5 中的范畴论 (第 5 部分):均衡器

范畴论是数学的一个多样化和不断扩展的分支,直到最近才在 MQL5 社区中得到一些报道。 这些系列文章旨在探索和验证一些概念和公理,其总体目标是建立一个开放的函数库,提供洞察力,同时也希望进一步在交易者的策略开发中运用这个非凡的领域。
preview
开发具有 RestAPI 集成的 MQL5 强化学习代理(第 1 部分):如何在 MQL5 中使用 RestAPI

开发具有 RestAPI 集成的 MQL5 强化学习代理(第 1 部分):如何在 MQL5 中使用 RestAPI

在本文中,我们将讨论 API(Application Programming Interface,应用程序编程接口)对于不同应用程序和软件系统之间交互的重要性。我们将看到 API 在简化应用程序间交互方面的作用,使它们能够有效地共享数据和功能。
preview
MQL5 中的范畴论 (第 2 部分)

MQL5 中的范畴论 (第 2 部分)

范畴论是数学的一个多样化和不断扩展的分支,到目前为止,在 MQL5 社区中还相对难以发现。 这些系列文章旨在介绍和研究其一些概念,其总体目标是建立一个开放的函数库,吸引评论和研讨,同时希望在交易者的策略开发中进一步在运用这一非凡的领域。
preview
矩阵实用工具,扩展矩阵和向量的标准库功能

矩阵实用工具,扩展矩阵和向量的标准库功能

矩阵作为机器学习算法和计算机的基础,因为它们能够有效地处理大型数学运算,标准库拥有所需的一切,但让我们看看如何在实用工具文件中引入若干个函数来扩展它,这些函数在标准库中尚未提供。
preview
衡量指标信息

衡量指标信息

机器学习已成为策略制定的流行方法。 虽然人们更强调最大化盈利能力和预测准确性,但处理用于构建预测模型的数据的重要性,仍未受到太多关注。 在本文中,我们研究依据熵的概念来评估预测模型构建的指标的适配性,如 Timothy Masters 的《测试和优调市场交易系统》一书中所述。
preview
神经网络变得轻松(第五十二部分):研究乐观情绪和分布校正

神经网络变得轻松(第五十二部分):研究乐观情绪和分布校正

由于模型是基于经验复现缓冲区进行训练,故当前的扮演者政策会越来越远离存储的样本,这会降低整个模型的训练效率。在本文中,我们将查看一些能在强化学习算法中提升样本使用效率的算法。
preview
MQL5交易策略自动化(第十二部分):实现缓解型订单块(MOB)策略

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

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

MQL5 中的交易策略自动化(第十五部分):可视化价格行为的谐波形态模式

本文探讨了在 MQL5 中实现谐波形态的自动化,详细介绍了如何在 MetaTrader 5 图表上对其进行检测和可视化。我们将实现一个EA,用于识别摆动点,验证基于斐波那契比率的形态,并通过清晰的图形标注执行交易。文章最后还提供了关于回测和优化程序的指导,以助力有效的交易。
preview
开发回放系统 — 市场模拟(第 07 部分):首次改进(II)

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

在上一篇文章中,我们针对复现系统进行了一些修复并加入了测试,以确保可能的最佳稳定性。 我们还着手为这个系统创建和使用配置文件。
preview
交易中的神经网络:状态空间模型

交易中的神经网络:状态空间模型

到目前为止,我们审阅的大量模型都是基于变换器架构。不过,在处理长序列时,它们或许效率低下。在本文中,我们将领略一种替代方向,即基于状态空间模型的时间序列预测。
preview
离散哈特莱变换

离散哈特莱变换

在本文中,我们将探讨频谱分析和信号处理的方法之一——离散哈特莱变换(discrete Hartley transform,DHT)。它可以过滤信号,分析它们的频谱等等。DHT的性能不亚于离散傅立叶变换(discrete Fourier transform,DFT)。然而,与DFT不同的是,DHT只使用实数,这使得它在实践中更方便实现,并且它的应用结果更直观。