MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
理解编程范式(第 2 部分):面向对象方式开发价格行为智能系统

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

学习面向对象的编程范式,及其在 MQL5 代码中的应用。这是第二篇文章,更深入地讲解面向对象编程的规范,并通过一个实际示例提供上手经验。您将学习如何运用 EMA 指标,和烛条价格数据,将我们早期开发的过程化价格行为智能系统转换为面向对象的代码。
preview
关于因果网络分析(Causality Network Analysis,CNA)和向量自回归(Vector Autoregression,VAR)模型在市场事件预测中的应用实例

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

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

密码锁算法(CLA)

在本文中,我们将重新考虑密码锁,将它们从安全机制转变为解决复杂优化问题的工具。让我们探索密码锁的世界,不再将其视为简单的安全装置,而是作为优化问题新方法的灵感来源。我们将创建一整群“锁”,其中每把锁都代表问题的一个独特解决方案。然后,我们将开发一种算法来“破解”这些锁,并从机器学习到交易系统开发等多个领域中找到最优解。
preview
3D 柱线上的趋势强度和方向指标

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

我们将研究一种市场趋势分析新方法,基于市场微观结构的三维可视化、及张量分析。
preview
使用MQL5和Python构建自优化EA(第三部分):破解Boom 1000算法

使用MQL5和Python构建自优化EA(第三部分):破解Boom 1000算法

在本系列文章中,我们探讨了如何构建能够自主适应动态市场条件的EA。今天的文章中,我们将尝试调整一个深度神经网络以适应Deriv的合成市场。
preview
在 MQL5 中构建自定义市场状态检测系统(第二部分):智能交易系统(EA)

在 MQL5 中构建自定义市场状态检测系统(第二部分):智能交易系统(EA)

本文详细介绍如何利用第一篇开发的状态检测器,构建一个自适应的智能交易系统(MarketRegimeEA)。该系统能够根据趋势、震荡或高波动市场,自动切换交易策略与风险参数。文中涵盖了实用的参数优化、状态过渡处理以及多时间周期指标的应用。
preview
高效处理指标的便捷方法

高效处理指标的便捷方法

在本文中,我将介绍如何制作一个简单的面板,以便直接从图表中更改指标设置,以及需要对指标进行哪些更改以连接该面板。本文面向 MQL5 的新手用户。
preview
CatBoost 模型中的交叉验证和因果推理基础及导出为 ONNX 格式

CatBoost 模型中的交叉验证和因果推理基础及导出为 ONNX 格式

本文提出了使用机器学习创建 EA 交易的方法。
preview
将 MQL5 与数据处理包集成(第 1 部分):高级数据分析和统计处理

将 MQL5 与数据处理包集成(第 1 部分):高级数据分析和统计处理

集成实现了无缝的工作流程,来自 MQL5 的原始金融数据可以导入到 Jupyter Lab 等数据处理包中,用于包括统计测试在内的高级分析。
在杀毒软件和防火墙下运行的 MetaTrader 4
在杀毒软件和防火墙下运行的 MetaTrader 4

在杀毒软件和防火墙下运行的 MetaTrader 4

大多数交易者使用特定的程序保护其电脑。不幸的是,这些程序不仅保护电脑免于入侵、病毒和木马,同时还占用了相当多的资源。首先,这跟网络流量相关。网络流量完全由各种智能杀毒软件和防火墙控制。之所以写这篇文章,是因为交易者抱怨在使用 Outpost 防火墙时 MetaTrader 4 客户端太慢。我们决定使用 Kaspersky Antivirus 6.0 和 Outpost Firewall Pro 4.0 进行自己的研究。
preview
数据分组处理方法:在MQL5中实现多层迭代算法。

数据分组处理方法:在MQL5中实现多层迭代算法。

在本文中,我们介绍如何在MQL5中实现分组数据处理方法中的多层迭代算法。
preview
价格行为分析工具包开发(第二十一部分):市场结构反转检测工具

价格行为分析工具包开发(第二十一部分):市场结构反转检测工具

市场结构反转检测智能交易系统(EA) 是您洞察市场情绪变化的得力助手,能够实时监控市场结构的潜在反转信号。该工具通过基于平均真实波幅(ATR)的动态阈值,精准识别市场结构的反转点,并在图表上以清晰的可视化指标标记每一处更高低点和更低高点。依托MQL5的极速执行能力与高度灵活的API接口,该工具提供实时动态分析,可以自动调整显示效果,确保图表清晰易读,并提供实时数据仪表板,实时统计反转次数与时间分布。此外,还支持自定义声音警报和移动端推送通知,确保关键信号无遗漏,通过将原始价格波动转化为可执行的交易策略,帮助您在瞬息万变的市场中抢占先机。
preview
让新闻交易轻松上手(第3部分):执行交易

让新闻交易轻松上手(第3部分):执行交易

在本文中,我们的新闻交易EA将根据存储在数据库中的经济日历开始交易。此外,我们将改进EA的图表,以显示更多关于即将到来的经济日历事件的相关信息。
preview
开发多币种 EA 交易系统(第 16 部分):不同报价历史对测试结果的影响

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

正在开发中的 EA 预计在与不同经纪商进行交易时都会表现出良好的效果。但目前我们一直使用 MetaQuotes 模拟账户的报价进行测试。让我们看看我们的 EA 是否准备好使用与测试和优化期间使用的报价不同的交易账户。
preview
创建 MQL5-Telegram 集成 EA 交易 (第一部分):从 MQL5 发送消息到 Telegram

创建 MQL5-Telegram 集成 EA 交易 (第一部分):从 MQL5 发送消息到 Telegram

在本文中,我们在 MQL5 中创建一个 EA 交易,以使用机器人向 Telegram 发送消息。我们设置必要的参数,包括机器人的 API 令牌和聊天 ID,然后通过执行 HTTP POST 请求来传递消息。之后,我们将处理响应以确保成功传达,并排除故障时出现的任何问题。这确保我们能够通过创建的机器人将消息从 MQL5 发送到 Telegram。
preview
使用莱文贝格-马夸尔特(Levenberg-Marquardt,LM)算法训练多层感知器

使用莱文贝格-马夸尔特(Levenberg-Marquardt,LM)算法训练多层感知器

本文介绍了一种用于训练前馈神经网络的莱文贝格-马夸尔特(Levenberg-Marquardt,LM)算法的实现。与Python的scikit-learn库中的算法进行性能比较分析。初步探讨更简便的学习方法,如梯度下降、带动量的梯度下降和随机梯度下降。
preview
MQL5自动化交易策略(第四部分):构建多层级区域恢复系统

MQL5自动化交易策略(第四部分):构建多层级区域恢复系统

本文将介绍如何在MQL5中开发一个基于相对强弱指数(RSI)生成交易信号的多层级区域恢复(反转)系统(Multi-Level Zone Recovery System)。该系统通过动态数组结构管理多个信号实例,使区域恢复逻辑能够同时处理多重交易信号。通过这种设计,我们展示了如何在保持代码可扩展性和健壮性的前提下,有效应对复杂的交易管理场景。
preview
MQL5中交易策略的自动化实现(第六部分):掌握智能资金交易中的订单块(Order Block)检测技巧

MQL5中交易策略的自动化实现(第六部分):掌握智能资金交易中的订单块(Order Block)检测技巧

在本文中,我们将运用纯粹的价格行为分析方法,在MQL5平台上实现订单块的自动化检测。我们将界定订单块的定义,实现其检测功能,并集成自动化交易执行系统。最后,我们通过回测来评估该策略的表现。
preview
MQL5 向导技巧须知(第27部分):移动平均线与攻击角度

MQL5 向导技巧须知(第27部分):移动平均线与攻击角度

攻击角度是一个经常被引用的指标,其陡峭程度被认为与当前趋势的强度密切相关。让我们来看一下通常如何使用和理解该指标,并探讨在测量时是否可以做出一些改变,以优化那些将其纳入交易系统的应用效果。
preview
您应当知道的 MQL5 向导技术(第 42 部分):ADX 振荡器

您应当知道的 MQL5 向导技术(第 42 部分):ADX 振荡器

ADX 是一些交易者用来衡量主流趋势强度的另一个相对热门的技术指标。作为其它两个指标的组合,它体现为振荡器,在本文中我们借助 MQL5 向导汇编、及其支持类,来探索其形态。
preview
MQL5交易策略自动化(第十七部分):借助动态仪表盘精通网格马丁格尔(Grid-Mart)短线交易策略

MQL5交易策略自动化(第十七部分):借助动态仪表盘精通网格马丁格尔(Grid-Mart)短线交易策略

在本文中,我们将探讨网格马丁格尔(Grid-Mart)短线交易策略,并阐述如何在MQL5中实现该策略的自动化,同时配备一个动态仪表盘以提供实时交易分析。我们将详细介绍该策略基于网格的马丁格尔逻辑以及风险管理功能。此外,我们还将指导如何进行回测和部署,以确保策略的稳健表现。
preview
构建和测试 Aroon 交易系统

构建和测试 Aroon 交易系统

在本文中,我们将学习在了解了 Aroon 指标(阿隆指标)的基础知识和基于该指标构建交易系统的必要步骤之后,如何构建 Aroon 交易系统。建立这个交易系统后,我们将对其进行测试,看看它是否能盈利,还是需要进一步优化。
preview
MQL5中使用坐标下降法的弹性网络回归

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

在这篇文章中,我们探索了弹性网络回归的实际实现,以最大限度地减少过拟合,同时自动将有用的预测因子与那些预测能力很小的预测因子区分开来。
preview
让手动回测变得简单:为MQL5策略测试器构建自定义工具包

让手动回测变得简单:为MQL5策略测试器构建自定义工具包

在本文中,我们设计了一个自定义的MQL5工具包,用于在策略测试器中轻松进行手动回测。我们将解释其设计与实现方案,重点介绍交互式交易控制功能。然后,我们将展示如何使用它来有效地测试交易策略。
preview
MQL5 交易策略自动化(第24篇):集成风险管理与移动止损的伦敦时段突破系统

MQL5 交易策略自动化(第24篇):集成风险管理与移动止损的伦敦时段突破系统

本文将搭建一套伦敦时段突破交易系统,可识别伦敦开盘前区间的突破机会,并支持自定义交易类型、风险参数来挂入挂单。系统内置移动止损、盈亏比、最大回撤限制等功能,同时配备控制面板,可实时监控与管理交易。
preview
在 MQL5 中构建自优化智能交易系统(第六部分):防止爆仓

在 MQL5 中构建自优化智能交易系统(第六部分):防止爆仓

在今天的讨论中,我们将一同寻找一种算法程序,以最大限度地减少我们因盈利交易被止损而平仓的总次数。我们面临的问题极具挑战性,社区讨论中给出的大多数解决方案都缺乏既定且固定的规则。我们解决问题的算法方法提高了我们交易的盈利能力,并降低了我们的平均每笔交易亏损。然而,要完全过滤掉所有将被止损的交易,还需要进一步的改进,但我们的解决方案对任何人来说都是一个很好的初步尝试
preview
MQL5 中的定量分析:实现有前途的算法

MQL5 中的定量分析:实现有前途的算法

我们将分析什么是定量分析,以及主要参与者如何运用定量分析的问题。我们将用 MQL5 语言创建一种定量分析算法。
preview
DoEasy 函数库中的图形(第一百部分):改进扩展标准图形对象的处理

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

在本文中,我将剔除在画布上同时处理扩展(和标准)图形对象和窗体对象方面的明显缺陷,并修复在前一篇文章中执行测试期间检测到的错误。 本文总结了函数库说明的这一部分。
preview
DoEasy. 控件 (第 11 部分): WinForms 对象 — 群组,CheckedListBox WinForms 对象

DoEasy. 控件 (第 11 部分): WinForms 对象 — 群组,CheckedListBox WinForms 对象

本文将讨论 WinForms 对象群组,及创建 CheckBox 对象列表对象。
preview
开发回放系统(第 40 部分):启动第二阶段(一)

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

今天我们将讨论回放/模拟器系统的新阶段。在这个阶段,谈话才会变得真正有趣,内容也相当丰富。我强烈建议您仔细阅读本文并使用其中提供的链接。这将帮助您更好地理解内容。
preview
您应当知道的 MQL5 向导技术(第 45 部分):蒙特卡洛强化学习

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

蒙特卡洛是我们正在研究的第四种不同的强化学习算法,目的是探索它在向导汇编智能交易系统中的实现。尽管它锚定在随机抽样,但它提供了我们可以利用的多种模拟方法。
preview
群体优化算法:随机扩散搜索(SDS)

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

本文讨论了基于随机游走原理的随机扩散搜索(Stochastic Diffusion Search,SDS)算法,它是一种非常强大和高效的优化算法。该算法允许在复杂的多维空间中找到最优解,同时具有高收敛速度和避免局部极值的能力。
preview
价格行为分析工具包开发(第八部分):指标看板

价格行为分析工具包开发(第八部分):指标看板

作为价格行为分析领域最强大的工具之一,指标看板(Metrics Board)旨在通过一键操作简化市场分析流程,实时提供关键市场指标数据。每个功能按钮均对应特定的功能,无论是分析高/低趋势、交易量还是其他关键指标。该工具能在您最需要的时候提供精准、实时的数据。让我们通过本文更深入地了解它的功能。
preview
血液遗传优化算法(BIO)

血液遗传优化算法(BIO)

我向大家介绍我的新种群优化算法——血液遗传优化算法(Blood Inheritance Optimization,BIO),该算法的灵感源自人类血型遗传系统。在该算法中,每个解都有其自身的“血型”,这一血型决定了其进化方式。正如自然界中,孩子的血型是依据特定规则遗传而来,在BIO算法中,新解通过一套遗传与变异机制来获取自身特性。
preview
掌握 MQL5:从入门到精通(第四部分):关于数组、函数和全局终端变量

掌握 MQL5:从入门到精通(第四部分):关于数组、函数和全局终端变量

本文是初学者系列文章的延续。它详细介绍了数据数组、数据和函数的交互,以及允许不同 MQL5 程序之间交换数据的全局终端变量。
preview
开发回放系统 — 市场模拟(第 03 部分):调整设置(I)

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

我们从梳理当前状况开始,因为我们尚未以最好的方式开始。 如果我们现在不这样做,我们很快就会遇到麻烦。
preview
机器学习中的量化(第1部分):使用 CatBoost 的理论、示例代码和实现分析

机器学习中的量化(第1部分):使用 CatBoost 的理论、示例代码和实现分析

本文探讨了量化在树模型构建中的理论应用,并展示了使用 CatBoost 实现的量化方法。不使用复杂的数学方程。
preview
您应当知道的 MQL5 向导技术(第 44 部分):平均真实范围(ATR)技术指标

您应当知道的 MQL5 向导技术(第 44 部分):平均真实范围(ATR)技术指标

ATR 振荡指标是一款非常流行的指标,权当波动率代表,尤其是在交易量数据稀缺的外汇市场当中。我们以形态为基础来验证这一点,就如我们对先前指标所做那样,并分享策略和测试报告,致谢 MQL5 向导库的类和汇编。
preview
开发回放系统 — 市场模拟(第 06 部分):首次改进(I)

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

在本文中,我们将开始稳固整个系统,若无,则我们可能无法进行后续步骤。
preview
神经网络变得轻松(第四十九部分):软性扮演者-评价者

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

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