MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
让新闻交易变得容易(第一部分):创建一个数据库

让新闻交易变得容易(第一部分):创建一个数据库

新闻交易可能很复杂,令人难以招架,在本文中我们将介绍获取新闻数据的步骤。此外,我们还将了解MQL5经济数据日历及其提供的功能。
preview
使用 SMA 和 EMA 自动优化止盈和指标参数的示例

使用 SMA 和 EMA 自动优化止盈和指标参数的示例

本文介绍了一种用于外汇交易的复杂 EA 交易,它能够将机器学习与技术分析相结合。它专注于交易苹果股票,具有自适应优化、风险管理和多策略的特点。回溯测试显示出良好的结果,盈利能力较高,但也有显著的回撤,表明还有进一步改进的潜力。
preview
如何不通过翻找历史交易记录直接在图表上查看交易情况

如何不通过翻找历史交易记录直接在图表上查看交易情况

在本文中,我们将创建一个简单的工具,通过按键导航方式方便地直接在图表上查看持仓和交易。这将使交易者能够直观地检查每笔交易,并当场获取有关交易结果的所有信息。
preview
人工蜂巢算法(ABHA):理论及方法

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

在本文中,我们将探讨2009年开发的人工蜂巢算法(ABHA)。该算法旨在解决连续优化问题。我们将研究ABHA如何从蜂群的行为中汲取灵感,其中每只蜜蜂都有独特的角色,帮助它们更有效地寻找资源。
preview
了解 MQL5 面向对象编程(OOP)

了解 MQL5 面向对象编程(OOP)

作为开发人员,我们需要学习如何在创建和开发软件时,无需重复代码做到可重用、且灵活,尤其是当我们拥有不同行为的不同对象时。这可以利用面向对象的编程技术和原则来顺滑地达到。在本文中,我们将介绍 MQL5 面向对象编程的基础知识,以便了解如何在我们的软件中利用这一关键主题的原则和实践。
preview
开发回放系统 — 市场模拟(第 12 部分):模拟器的诞生(II)

开发回放系统 — 市场模拟(第 12 部分):模拟器的诞生(II)

开发模拟器可能比看起来有趣得多。 今天,我们将朝着这个方向再走几步,因为事情变得越来越有趣。
preview
如何开发各种类型的追踪止损并将其加入到EA中

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

在本文中,我们将探讨用于便捷创建各种追踪止损的类,并学习如何将追踪止损加入到EA中。
preview
DoEasy. 控件 (第 5 部分): 基准 WinForms 对象,面板控件,AutoSize 参数

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

在本文中,我将创建所有函数库 WinForms 对象的基准对象,并开始实现面板 WinForms 对象的 AutoSize 属性 — 自动调整尺寸,从而适应对象内部内容。
preview
DoEasy 函数库中的时间序列(第五十六部分):自定义指标对象,从集合中的指标对象获取数据

DoEasy 函数库中的时间序列(第五十六部分):自定义指标对象,从集合中的指标对象获取数据

本文研究在 EA 中创建自定义指标对象。 我们稍微改进一下库类,并添加一些方法,以便从 EA 中的指标对象获取数据。
preview
将您自己的 LLM 集成到 EA 中(第 4 部分):使用 GPU 训练自己的 LLM

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

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

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

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

如何在MQL5的EA中实现自优化

MQL5中EA自优化的分步指南。我们将涵盖稳健的优化逻辑、参数选择的最佳实践,以及如何通过回测重构策略。此外,还将讨论诸如分步优化等高级方法,以增强您的交易方法。
preview
学习如何基于 DeMarker 设计交易系统

学习如何基于 DeMarker 设计交易系统

此为我们系列中的一篇新文章,介绍如何基于最流行的技术指标设计交易系统。 在本文中,我们将介绍如何基于 DeMarker 指标创建交易系统。
preview
您应该知道的 MQL5 向导技术(第 04 部分):线性判别分析

您应该知道的 MQL5 向导技术(第 04 部分):线性判别分析

今天的交易者都是哲学家,几乎总是在寻找新的想法,尝试提炼它们,选择修改或丢弃它们:一个探索性的过程,肯定会花费相当的勤奋程度。 这些系列文章将提出 MQL5 向导应该是交易者在此领域努力的中流砥柱。
preview
MQL5中的结构及其数据打印方法

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

在本文中,我们将研究MqlDateTime、MqlTick、MqlRates和MqlBookInfo结构,以及从它们打印数据的方法。为了打印结构的所有字段,有一个标准的ArrayPrint()函数,它以方便的表格格式显示数组中包含的数据以及处理结构的类型。
preview
DoEasy 函数库中的图形(第九十九部分):依据单个控制点移动扩展图形对象

DoEasy 函数库中的图形(第九十九部分):依据单个控制点移动扩展图形对象

在前一篇文章中,我实现了依据控件窗体移动扩展图形对象轴点的功能。 现在,我将实现依据单个图形对象控制点(窗体)移动复合图形对象的功能。
preview
开发回放系统 — 市场模拟(第 15 部分):模拟器的诞生(V)- 随机游走

开发回放系统 — 市场模拟(第 15 部分):模拟器的诞生(V)- 随机游走

在本文中,我们将完成自有系统模拟器的开发。 于此的主要目标是就上一篇文章中讨论的算法进项配置。 该算法旨在创建随机游走走势。 因此,为了明白今天的讲义,有必要了解以前文章的内容。 如果您尚未跟踪模拟器的开发,我建议您从头开始阅读本系列文章。 否则,您也许对此处将要讲解的内容不明所以。
preview
在MetaTrader 5中集成隐马尔可夫模型

在MetaTrader 5中集成隐马尔可夫模型

在本文中,我们将展示如何将使用Python训练的隐马尔可夫模型(Hidden Markov Models, HMMs)集成到MetaTrader 5应用程序中。HMM是一种强大的统计工具,用于对时间序列数据进行建模,其中被建模的系统以不可观察(隐藏)的状态为特征。HMM的一个基本前提是,在特定时间处于给定状态的概率取决于该过程在前一个时间点的状态。
preview
DoEasy. 控件 (第 21 部分): SplitContainer 控件 面板隔板

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

在本文中,我将为 SplitContainer 控件创建辅助面板隔板对象类。
preview
使用凯利准则与蒙特卡洛模拟的投资组合风险模型

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

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

重构经典策略(第十部分):人工智能(AI)能否为MACD提供动力?

加入我们的行列,我们将实证分析MACD指标,以测试将AI应用于包含该指标的策略是否会在预测欧元兑美元(EURUSD)方面提高准确性。我们同时评估该指标本身是否比价格更容易预测,以及该指标的值是否能预测未来的价格水平。我们将为您提供所需的信息,以决定是否应该考虑将MACD整合到您的AI交易策略中。
preview
开发回放系统(第33部分):订单系统(二)

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

今天,我们将继续开发订单系统。正如您将看到的,我们将大规模重用其他文章中已经展示的内容。尽管如此,你还是会在这篇文章中获得一点奖励。首先,我们将开发一个可以与真实交易服务器一起使用的系统,无论是从模拟账户还是从真实账户。我们将广泛使用MetaTrader 5平台,该平台将从一开始就为我们提供所有必要的支持。
preview
MQL5 简介(第 4 部分):掌握结构、类和时间函数

MQL5 简介(第 4 部分):掌握结构、类和时间函数

在我们的最新文章中揭开 MQL5 编程的秘密!深入了解结构、类和时间函数的基本要素,为您的编码之旅赋能。无论您是初学者还是经验丰富的开发人员,我们的指南都简化了复杂的概念,为掌握 MQL5 提供了宝贵的见解。提升你的编程技能,在算法交易领域保持领先!
preview
开发回放系统 — 市场模拟(第 04 部分):调整设置(II)

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

我们继续创建系统和控制。 没有掌控服务的能力,就很难向前推进和改进系统。
preview
练习开发交易策略

练习开发交易策略

在本文中,我们将尝试开发自己的交易策略。任何交易策略都必须以某种统计优势为基础。而且,这种优势应该长期存在。
preview
暴力方式搜素形态(第 V 部分):全新视角

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

在这篇文章中,我将展示一种完全不同的方式进行算法交易,我经历了很长一段时间后才最终遇到它。当然,这一切所作所为全靠我的暴力程序,其经历了许多更改,令其能够并发解决若干问题。尽管如此,这篇文章明面上仍然比较笼统和尽可能简单,这就是为什么它也适合那些对暴力一无所知的人。
preview
数据科学和机器学习(第 27 部分):MetaTrader 5 中训练卷积神经网络(CNN)交易机器人 — 值得吗?

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

卷积神经网络(CNN)以其在检测图像和视频形态方面的出色能力而闻名,其应用涵盖众多领域。在本文中,我们探讨了 CNN 在金融市场中识别有价值形态,并为 MetaTrader 5 交易机器人生成有效交易信号的潜力。我们来发现这种深度机器学习技术如何能撬动更聪明的交易决策。
preview
种群优化算法:Nelder-Mead(NM),或单纯形搜索方法

种群优化算法:Nelder-Mead(NM),或单纯形搜索方法

本文表述针对 Nelder-Mead 方法进行的彻底探索,解释了如何在每次迭代中修改和重新排列单纯形(函数参数空间),从而达成最优解,并讲述了如何改进该方法。
preview
构建一个K线图趋势约束模型(第二部分):融合原生指标

构建一个K线图趋势约束模型(第二部分):融合原生指标

这篇文章的重点在于如何利用MetaTrader 5的内置指标来甄别逆势信号。在上一篇文章的基础上,我们将进一步探讨如何使用MQL5代码将我们的想法最终用代码实现。
preview
从新手到专家:支撑与阻力强度指标(SRSI)

从新手到专家:支撑与阻力强度指标(SRSI)

在本文中,我们将分享如何利用MQL5编程来精准定位市场关键价位——区分价格水平中的弱势与强势区域。我们将完整开发一个可用的支撑与阻力强度指标(SRSI)。
preview
龟壳演化算法(TSEA)

龟壳演化算法(TSEA)

这是一种受乌龟壳演化启发的独特优化算法。TSEA算法模拟了角质化皮肤区域的逐渐形成,这些区域代表了一个问题的最优解。最优解会变得更加“坚硬”,并位于更靠近外层表面的位置,而不太理想的解则保持“较软”的状态,并位于内部。该算法通过根据质量和距离对解进行聚类,从而保留了不太理想的选项,并提供了灵活性和适应性。
preview
开发多币种 EA 交易(第 9 部分):收集单一交易策略实例的优化结果

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

让我们来概述一下 EA 开发的主要阶段。首先要做的一件事就是优化所开发交易策略的单个实例。让我们试着在一个地方收集优化过程中测试器通过的所有必要信息。
preview
用于预测波动性的计量经济学工具:GARCH模型

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

文章描述了条件异方差非线性模型(GARCH)的特性。在GARCH模型的基础上,构建了iGARCH指标来预测未来一步的波动性。该模型参数的估计使用了ALGLIB数值分析库。
preview
图表上的历史仓位及其盈利/亏损图指标

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

在本文中,我将探讨根据交易历史获取已平仓头寸信息的选项。此外,我将创建一个简单的指标,以图表的形式显示每个柱形上仓位的大致盈利/亏损。
preview
您应该知道的 MQL5 向导技术(第 02 部分):Kohonen 映射

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

这些系列文章所提议的是,MQL5 向导应作为交易员的支柱。 为什么呢? 因为交易员不仅可以利用 MQL5 向导装配他的新想法来节省时间,还可以大大减少重复编码带来的错误;他最终可把精力投向自我交易哲学中的几个关键领域。
preview
在 MQL5 中实现增广迪基–富勒检验

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

在本文中,我们演示了增广迪基–富勒(Augmented Dickey-Fuller,ADF)检验的实现,并将其应用于使用 Engle-Granger 方法进行协整检验。
preview
数据科学和机器学习(第 26 部分):时间序列预测的终极之战 — LSTM 对比 GRU 神经网络

数据科学和机器学习(第 26 部分):时间序列预测的终极之战 — LSTM 对比 GRU 神经网络

在上一篇文章中,我们讨论了一个简单的 RNN,尽管它对理解数据中的长期依赖关系无能为力,却仍能制定可盈利策略。在本文中,我们将讨论长-短期记忆(LSTM)、门控递归单元(GRU)。引入这两个是为了克服简单 RNN 的缺点,并令其更聪慧。
preview
神经网络变得轻松(第三十七部分):分散关注度

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

在上一篇文章中,我们讨论了在其架构中使用关注度机制的关系模型。 这些模型的具体特征之一是计算资源的密集功用。 在本文中,我们将研究于自我关注度模块内减少计算操作数量的机制之一。 这将提高模型的常规性能。
preview
重构经典策略:原油

重构经典策略:原油

在本文中,我们重新审视一种经典的原油交易策略,旨在通过利用监督机器学习算法来对其进行优化。我们将构建一个最小二乘模型,该模型基于布伦特原油(Brent)和西德克萨斯中质原油(WTI)之间的价差来预测未来布伦特原油价格。我们的目标是找到一个能够预测布伦特原油未来价格变化的领先指标。
preview
构建K线趋势约束模型(第5部分):通知系统(第一部分)

构建K线趋势约束模型(第5部分):通知系统(第一部分)

我们将会把关键的MQL5代码分解成特定的代码段,以展示如何在本系列文章中创建的“趋势约束”指标中集成Telegram和WhatsApp来接收信号通知。这将帮助交易者,无论是新手还是经验丰富的开发者,都能更容易地理解这一概念。首先,我们将介绍MetaTrader 5的通知设置及其对用户的重要性。这将有助于开发者提前做好笔记,以便在他们的系统中做进一步应用。