MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
在测试程序中对重新报价建模和 Expert Advisor 稳定性分析
在测试程序中对重新报价建模和 Expert Advisor 稳定性分析

在测试程序中对重新报价建模和 Expert Advisor 稳定性分析

重新报价是很多 Expert Advisor 的噩梦,尤其对于进入/退出交易条件非常敏感的 Expert Advisor。本文提供了一种检查 EA 对于重新报价稳定性的方法。
preview
时间序列挖掘的数据标签(第4部分):使用标签数据的可解释性分解

时间序列挖掘的数据标签(第4部分):使用标签数据的可解释性分解

本系列文章介绍了几种时间序列标记方法,这些方法可以创建符合大多数人工智能模型的数据,而根据需要进行有针对性的数据标记可以使训练后的人工智能模型更符合预期设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
MQL5中的范畴论(第22部分):对移动平均的不同看法

MQL5中的范畴论(第22部分):对移动平均的不同看法

在本文中,我们尝试通过只关注一个指标来简化对这些系列中所涵盖概念的说明,这是最常见的,可能也是最容易理解的。它就是移动平均。在这样做的时候,我们会探讨垂直自然变换的意义和可能的应用。
preview
经典策略重塑(第12部分):欧元兑美元(EURUSD)突破交易策略

经典策略重塑(第12部分):欧元兑美元(EURUSD)突破交易策略

今天,我们将挑战在MQL5中构建一套盈利的突破交易系统。我们选择欧元兑美元(EURUSD)货币对,尝试在H1(1小时)时间框架下捕捉价格的突破行情。初期挑战:系统难以区分假突破与真实趋势的开端,导致亏损较多。我们给系统叠加了多层过滤器,旨在把亏损压到最低,同时把盈利抬到最高。最终,我们成功地让系统实现盈利,并大幅降低假突破带来的风险。
preview
如何将 MetaTrader 5 与 PostgreSQL 连接

如何将 MetaTrader 5 与 PostgreSQL 连接

本文讲述了将 MQL5 代码与 Postgres 数据库连接的四种方法,并提供了一个分步教程,指导如何使用 Windows 子系统 Linux (WSL) 为 REST API 设置一个开发环境。 所提供 API 的演示应用程序,配以插入数据并查询相应数据表的 MQL5 代码,以及消化此数据的演示智能系统。
preview
神经网络实验(第 5 部分):常规化传输到神经网络的输入参数

神经网络实验(第 5 部分):常规化传输到神经网络的输入参数

神经网络是交易者工具包中的终极工具。 我们来检查一下这个假设是否成立。 在交易中运用神经网络,MetaTrader 5 是最接近自给自足的媒介。 为此提供了一个简单的解释。
preview
DoEasy 函数库中的图形(第九十八部分):移动扩展的标准图形对象的轴点

DoEasy 函数库中的图形(第九十八部分):移动扩展的标准图形对象的轴点

在本文中,我将继续扩展的标准图形对象的开发,创建移动复合图形对象轴点的功能,通过控制点来管理图形对象轴点坐标。
preview
从头开始开发智能交易系统(第 30 部分):CHART TRADE 当作指标?

从头开始开发智能交易系统(第 30 部分):CHART TRADE 当作指标?

今天我们将再次用到 Chart Trade,但这回它作为一个图表上的指标,或许也可能不在图表上出现。
preview
交易事务. 请求和响应结构、描述和记录

交易事务. 请求和响应结构、描述和记录

本文探讨了处理交易请求结构,即创建请求、将其发送到服务器之前的初步验证、服务器对交易请求的响应以及交易交易的结构。我们将创建简单方便的函数,将交易订单发送到服务器,并根据所讨论的内容,创建EA来通知交易事务。
preview
在类中包装 ONNX 模型

在类中包装 ONNX 模型

面向对象编程可以创建更紧凑、易于阅读和修改的代码。 在此,我们将会看到三个 ONNX 模型的示例。
使用 Skype 发送来自 Expert Advisor 的消息
使用 Skype 发送来自 Expert Advisor 的消息

使用 Skype 发送来自 Expert Advisor 的消息

本文介绍如何使用 Skype 将来自 Expert Advisor 的内部消息和短信发送给移动电话。
DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象
DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象

DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象

在本文中,我将开发单个的动画框,及其衍生类。 该类允许绘制造型,同时维护,并恢复它们得下层背景。
preview
如何开发各种类型的追踪止损并将其加入到EA中

如何开发各种类型的追踪止损并将其加入到EA中

在本文中,我们将探讨用于便捷创建各种追踪止损的类,并学习如何将追踪止损加入到EA中。
preview
使用MQL5与Python构建自我优化的智能交易系统

使用MQL5与Python构建自我优化的智能交易系统

在本文中,我们将讨论如何构建能够根据当前市场条件自主选择和更改交易策略的EA。我们将学习马尔可夫链(Markov Chains)以及它们如何帮助我们作为算法交易者。
preview
如何使用抛物线转向(Parabolic SAR)指标设置跟踪止损(Trailing Stop)

如何使用抛物线转向(Parabolic SAR)指标设置跟踪止损(Trailing Stop)

在创建交易策略时,我们需要测试多种多样的保护性止损。这时,一个随着价格变动而动态调整止损位的想法浮现在我的脑海中。抛物线转向(Parabolic SAR)指标无疑是最佳选择。很难想到有比这更简单且视觉上更清晰的指标了。
preview
从头开始开发智能交易系统(第 11 部分):交叉订单系统

从头开始开发智能交易系统(第 11 部分):交叉订单系统

在本文中,我们将创建一个交叉订单系统。 有一种类型的资产让交易员的生涯变得非常困难 — 那就是期货合约。 但为什么令他们的职业生涯变得如此困难?
preview
构建K线趋势约束模型(第九部分):多策略智能交易系统(EA)(三)

构建K线趋势约束模型(第九部分):多策略智能交易系统(EA)(三)

欢迎来到本趋势系列文章的第三部分!今天,我们将深入探讨如何利用背离(Divergence)策略,在既有的日线趋势中识别最优入场点。同时,我们将引入一种定制化的利润锁定机制——其功能类似于追踪止损(Trailing Stop-Loss),但经过独特的优化升级。此外,我们还将把趋势约束智能交易系统升级为更高级版本,新增一项交易执行条件以完善现有策略框架。随着内容推进,我们将持续探索MQL5在算法开发中的实际应用,为您提供更深入的见解与可落地的技术方案。
preview
数据科学和机器学习(第 27 部分):MetaTrader 5 中训练卷积神经网络(CNN)交易机器人 — 值得吗?

数据科学和机器学习(第 27 部分):MetaTrader 5 中训练卷积神经网络(CNN)交易机器人 — 值得吗?

卷积神经网络(CNN)以其在检测图像和视频形态方面的出色能力而闻名,其应用涵盖众多领域。在本文中,我们探讨了 CNN 在金融市场中识别有价值形态,并为 MetaTrader 5 交易机器人生成有效交易信号的潜力。我们来发现这种深度机器学习技术如何能撬动更聪明的交易决策。
preview
使用凯利准则与蒙特卡洛模拟的投资组合风险模型

使用凯利准则与蒙特卡洛模拟的投资组合风险模型

几十年来,交易员们一直使用凯利准则公式来确定投资或赌注的最优资本配置比例,其目标是在最大化长期增长的同时,最小化破产风险。然而,对于个人交易者而言,盲目地依据单次回测的结果来遵循凯利准则往往是危险的,因为在实盘交易中,交易优势会随着时间的推移而减弱,并且过往业绩并不能保证未来的结果。在本文中,我将提出一种在 MetaTrader 5 平台中,为一个或多个智能交易系统进行风险分配的现实方法,该方法将融合来自 Python 的蒙特卡洛模拟结果。
preview
种群优化算法:类电磁算法(EM - ElectroMagnetism)

种群优化算法:类电磁算法(EM - ElectroMagnetism)

本文讲述在各种优化问题中采用电磁算法(EM - ElectroMagnetism)的原理、方法和可能性。 EM 算法是一种高效的优化工具,能够处理大量数据和多维函数。
preview
理解编程范式(第 1 部分):开发价格行为智能系统的过程化方式

理解编程范式(第 1 部分):开发价格行为智能系统的过程化方式

了解编程范式及利用 MQL5 代码的应用。本文探讨了过程化编程的细节,并通过一个实际示例提供了实经验。您将学习如何利用 EMA 指标和烛条价格数据开发价格行为智能系统。额外,本文还介绍了函数化编程范式。
群体优化算法
群体优化算法

群体优化算法

这是一篇关于优化算法(OA)分类的介绍性文章。 本文尝试创建一个测试基台(一组函数),用于比较 OA,并可识别所有广为人知的算法中最通用的算法。
preview
如何将“聪明钱”概念(OB)与斐波那契指标相结合,实现最优进场策略

如何将“聪明钱”概念(OB)与斐波那契指标相结合,实现最优进场策略

SMC(订单块)是机构交易者发起大规模买入或卖出的关键区域。当价格出现显著波动后,借助斐波那契数字可识别从近期波段高点至波段低点的潜在回撤,从而锁定最佳进场位。
DoEasy 函数库中的图形(第九十二部分):标准图形对象记忆类。 对象属性变更历史记录
DoEasy 函数库中的图形(第九十二部分):标准图形对象记忆类。 对象属性变更历史记录

DoEasy 函数库中的图形(第九十二部分):标准图形对象记忆类。 对象属性变更历史记录

在本文中,我将创建标准图形对象记忆类,能够在对象修改其属性时保存其过往状态。 反之,这样就能够溯源以前的图形对象状态。
preview
神经网络实验(第 4 部分):模板

神经网络实验(第 4 部分):模板

在本文中,我将利用实验和非标准方法开发一个可盈利的交易系统,并验证神经网络是否对交易者有任何帮助。 若在交易中运用神经网络的话, MetaTrader 5 完全可作为一款自给自足的工具。 简单的解释。
DoEasy 函数库中的时间序列(第五十七部分):存储一次即时报价数据的对象
DoEasy 函数库中的时间序列(第五十七部分):存储一次即时报价数据的对象

DoEasy 函数库中的时间序列(第五十七部分):存储一次即时报价数据的对象

从本文开始,着手创建操控价格数据的函数库功能。 今天,创建一个对象类,存储到达的即时报价的全部价格数据。
DoEasy 函数库中的图形(第九十六部分):窗体对象中的图形和鼠标事件的处理
DoEasy 函数库中的图形(第九十六部分):窗体对象中的图形和鼠标事件的处理

DoEasy 函数库中的图形(第九十六部分):窗体对象中的图形和鼠标事件的处理

在本文中,我将启动创建处理窗体对象中的鼠标事件的功能,以及向品种对象添加新属性并跟踪。 此外,我将改进品种对象类,因为图表品种现在有新的属性需要考虑和跟踪。
preview
DoEasy. 控件(第 6 部分):面板控件,自动调整容器大小来适应内部内容

DoEasy. 控件(第 6 部分):面板控件,自动调整容器大小来适应内部内容

在本文中,我将继续研究面板 WinForms 对象,并实现自动调整大小,以便适应位于面板内的 Dock 对象的常规大小。 此外,我将向品种函数库对象添加新属性。
preview
MQL5 中的范畴论 (第 1 部分)

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

范畴论是数学的一个多样化和不断扩展的分支,到目前为止,在 MQL 社区中还相对难以发现。 这些系列文章旨在介绍和研究其一些概念,其总体目标是建立一个开放的函数库,吸引评论和研讨,同时希望在交易者的策略开发中进一步在运用这一非凡的领域。
preview
用于预测波动性的计量经济学工具:GARCH模型

用于预测波动性的计量经济学工具:GARCH模型

文章描述了条件异方差非线性模型(GARCH)的特性。在GARCH模型的基础上,构建了iGARCH指标来预测未来一步的波动性。该模型参数的估计使用了ALGLIB数值分析库。
preview
种群优化算法:树苗播种和成长(SSG)算法

种群优化算法:树苗播种和成长(SSG)算法

树苗播种和成长(SSG)算法的灵感来自星球上最具韧性的生物之一,在各种条件下都表现出杰出的生存能力。
preview
在您的 MQL 项目中使用 JSON 数据 API

在您的 MQL 项目中使用 JSON 数据 API

想象一下,您可以使用 MetaTrader 中没有的数据,您只能通过价格分析和技术分析从指标中获得数据。现在想象一下,您可以访问数据,这将使你的交易能力更高。如果您通过 API(应用程序编程接口)数据混合其他软件、宏观分析方法和超高级工具的输出,您就可以倍增 MetaTrader 软件的力量。在本文中,我们将教您如何使用 API,并介绍有用和有价值的 API 数据服务。
preview
学习如何基于熊市力量设计交易系统

学习如何基于熊市力量设计交易系统

欢迎来到我们的关于学习如何基于最流行的技术指标设计交易系统系列的新篇章,这一篇学习如何基于熊市力量技术指标设计交易系统。
preview
种群优化算法:入侵杂草优化(IWO)

种群优化算法:入侵杂草优化(IWO)

在各种条件下杂草的惊人生存能力已演化成强大优化算法的思路。 IWO 是以前审阅过的算法中最好的算法之一。
preview
人工蜂巢算法(ABHA):理论及方法

人工蜂巢算法(ABHA):理论及方法

在本文中,我们将探讨2009年开发的人工蜂巢算法(ABHA)。该算法旨在解决连续优化问题。我们将研究ABHA如何从蜂群的行为中汲取灵感,其中每只蜜蜂都有独特的角色,帮助它们更有效地寻找资源。
preview
将您自己的 LLM 集成到 EA 中(第 4 部分):使用 GPU 训练自己的 LLM

将您自己的 LLM 集成到 EA 中(第 4 部分):使用 GPU 训练自己的 LLM

随着当今人工智能的快速发展,语言模型(LLMs)是人工智能的重要组成部分,因此我们应该考虑如何将强大的 LLMs 整合到我们的算法交易中。对于大多数人来说,很难根据他们的需求微调这些强大的模型,在本地部署它们,然后将它们应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
preview
开发回放系统 — 市场模拟(第 23 部分):外汇(IV)

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

现在,创建发生在我们将跳价转换为柱线的同一点。以这种方式,如果在转换过程中出现问题,我们就能立即注意到错误。这是因为在快进期间,在图表上放置 1-分钟柱线的代码,也同样在正常表现期间用于定位系统放置柱线。换言之,负责此任务的代码不会在其它任何地方重复。如此这般,我们获得的系统就能更好的维护和改进。
preview
神经网络变得轻松(第四十二部分):模型拖延症、原因和解决方案

神经网络变得轻松(第四十二部分):模型拖延症、原因和解决方案

在强化学习的背景下,模型拖延症可能由多种原因引起。 本文研究了模型拖延症的一些可能原因,以及克服它们的方法。
preview
练习开发交易策略

练习开发交易策略

在本文中,我们将尝试开发自己的交易策略。任何交易策略都必须以某种统计优势为基础。而且,这种优势应该长期存在。
preview
MQL5中的结构及其数据打印方法

MQL5中的结构及其数据打印方法

在本文中,我们将研究MqlDateTime、MqlTick、MqlRates和MqlBookInfo结构,以及从它们打印数据的方法。为了打印结构的所有字段,有一个标准的ArrayPrint()函数,它以方便的表格格式显示数组中包含的数据以及处理结构的类型。