MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
价格行为分析工具包开发(第二十九部分):暴涨与暴跌拦截EA

价格行为分析工具包开发(第二十九部分):暴涨与暴跌拦截EA

了解暴涨与暴跌拦截EA如何将您的图表转变为一个主动预警系统 —— 通过超高速扫描价格变动速度、检查波动率激增情况、确认趋势走向以及运用关键枢轴区域过滤条件,精准识别市场的爆发性行情。该工具以清晰的绿色“暴涨”和红色“暴跌”箭头为您的每一次决策提供指引,助您排除市场杂音,以前所未有的方式把握市场价格飙升的机遇。深入探究其工作原理,了解它为何能成为您下一个不可或缺的交易优势。
preview
市场模拟(第 16 部分):套接字(十)

市场模拟(第 16 部分):套接字(十)

我们即将完成这项挑战。然而,在我们开始之前,我希望你们试着理解这两篇文章——这篇文章和上一篇文章。这样,你就能真正理解下一篇文章的内容,在那篇文章中,我将专门介绍与 MQL5 编程相关的部分。但我会尽量让它通俗易懂。如果你不理解最后这两篇文章,那么你很难理解下一篇,因为内容是连贯的。要做的事情越多,为了实现目标,你需要创造和理解的东西就越多。
preview
您应当知道的 MQL5 向导技术(第 31 部分):选择损失函数

您应当知道的 MQL5 向导技术(第 31 部分):选择损失函数

损失函数是机器学习算法的关键量值,即量化给定参数集相比预期目标的性能来为训练过程提供反馈。我们在 MQL5 自定义向导类中探索该函数的各种格式。
preview
集成学习模型中的门控机制

集成学习模型中的门控机制

在本文中,我们继续探讨集成模型,重点讨论“门控”的概念,尤其是门控如何通过整合模型输出来提升预测准确性或模型泛化能力。
preview
Connexus请求解析(第六部分):创建HTTP请求与响应

Connexus请求解析(第六部分):创建HTTP请求与响应

在Connexus库系列文章的第六篇中,我们将聚焦于完整的HTTP请求,涵盖构成请求的各个组件。我们将创建一个表示整个请求的类,这将有助于将之前创建的各个类整合在一起。
preview
价格行为分析工具包开发(第二十五部分):双指数移动平均线(EMA)分形突破策略

价格行为分析工具包开发(第二十五部分):双指数移动平均线(EMA)分形突破策略

价格行为分析是识别盈利交易机会的基础方法。然而,人工监测价格走势和形态不仅困难而且极其耗时。为解决这一痛点,我们开发了自动分析价格行为的工具,一旦检测到潜在机会,就会立刻发出信号。本文将介绍一款强大的工具,该工具结合分形突破以及14周期指数移动平均线(EMA 14)和200周期指数移动平均线(EMA 200)来生成可靠的交易信号,帮助交易者更自信地做出明智决策。
preview
开发回放系统(第 60 部分):玩转服务(一)

开发回放系统(第 60 部分):玩转服务(一)

很长一段时间以来,我们一直在研究指标,但现在是时候让服务重新工作了,看看图表是如何根据提供的数据构建的。然而,由于整个事情并没有那么简单,我们必须注意了解前方等待我们的是什么。
preview
从基础到中级:结构(四)

从基础到中级:结构(四)

在本文中,我们将探讨如何创建所谓的结构化代码,即将处理变量和信息的整个上下文和方法都置于一个结构中,从而为任何代码的实现创造一个合适的上下文环境。因此,我们将探讨使用代码私有部分来区分公有部分和非公有部分的必要性,从而遵守封装原则,并保留创建数据结构时的上下文。
preview
克服机器学习的局限性(第二部分):缺乏可重复性

克服机器学习的局限性(第二部分):缺乏可重复性

本文探讨了即便使用相同的策略和金融标的,不同经纪商的交易结果为何仍会存在显著差异,原因在于定价的分散化以及数据差异。本文有助于MQL5开发者理解为何他们的产品在MQL5市场上的评价褒贬不一,并敦促开发者针对特定经纪商调整方法,以确保结果透明且可重复。如果这一做法能被广泛地采用,将有望成为我们社区重要的特定领域最佳实践。
preview
价格行为分析工具包开发(第 22 部分):相关性仪表盘

价格行为分析工具包开发(第 22 部分):相关性仪表盘

该工具是一个相关性仪表盘,用于计算并显示多个货币对之间的实时相关系数。通过可视化货币对之间的相互走势,它为您的价格行为分析提供了宝贵的视角,并帮助您预测跨市场的动态。继续阅读以探索其功能和应用。
preview
MQL5 简介(第 18 部分):沃尔夫波浪形态简介

MQL5 简介(第 18 部分):沃尔夫波浪形态简介

本文详细解释了沃尔夫波浪形态,涵盖了看跌和看涨两种变体。它还分解了用于基于这种高级图表形态识别有效买卖设置的分步逻辑。
preview
从新手到专家:使用 MQL5 制作动画新闻标题 (三) — 指标洞察

从新手到专家:使用 MQL5 制作动画新闻标题 (三) — 指标洞察

在本文中,我们将通过引入专门的指标洞察通道来推进新闻标题EA —— 一个紧凑的图表显示,显示由RSI、MACD、随机震荡指标和 CCI 等流行指标生成的关键技术信号。这种方法消除了 MetaTrader 5 终端上多个指标子窗口的需要,使您的工作空间保持干净高效。通过利用 MQL5 API 在后台访问指标数据,我们可以使用自定义逻辑实时处理和可视化市场洞察。加入我们,探索如何在 MQL5 中操纵指标数据,以创建一个智能且节省空间的滚动洞察系统,所有这些都在您的交易图表上的一个水平通道内。
preview
从基础到中级:运算符优先级

从基础到中级:运算符优先级

这绝对是纯理论上最难解释的问题。这就是为什么你需要练习我们在这里讨论的所有内容。虽然这起初看起来很简单,但操作符的话题只有在实践中结合不断的教育才能理解。
preview
市场模拟(第二部分):跨期订单(二)

市场模拟(第二部分):跨期订单(二)

与上一篇文章中所做的不同,这里我们将使用 EA 交易来测试选择选项。虽然这还不是最终的解决方案,但目前已经足够了。在本文的帮助下,您将能够理解如何实现一种可能的解决方案。
preview
风险管理(第三部分):构建风险管理主类

风险管理(第三部分):构建风险管理主类

在本文中,我们将开始创建一个核心风险管理类,这将是控制系统风险的关键。我们将重点建立基础,定义基本结构、变量和函数。此外,我们将实施设定最大损益值的必要方法,从而为风险管理奠定基础。
preview
优化中自定义准则的新方法(第一部分):激活函数示例

优化中自定义准则的新方法(第一部分):激活函数示例

本系列文章首篇将探讨自定义准则的数学原理,重点聚焦神经网络中使用的非线性函数、MQL5实现代码,以及目标导向与校正偏移量的应用。
preview
从基础到中级:数组(一)

从基础到中级:数组(一)

本文是迄今为止所讨论的内容与新的研究阶段之间的过渡。要理解这篇文章,您需要阅读前面的文章。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
开发多币种 EA 交易(第 23 部分):整理自动项目优化阶段的输送机(二)

开发多币种 EA 交易(第 23 部分):整理自动项目优化阶段的输送机(二)

我们的目标是创建一个系统,用于自动定期优化最终 EA 中使用的交易策略。随着系统的发展,它变得越来越复杂,因此有必要不时地将其视为一个整体,以确定瓶颈和次优解决方案。
preview
辩证搜索(DA)

辩证搜索(DA)

本文介绍了辩证算法(DA),这是一种受辩证法哲学概念启发的新的全局优化方法。该算法利用了人口中独特的划分,将其分为投机思想者和实践思想者。测试表明,在低维问题上,性能令人印象深刻,高达 98%,整体效率为 57.95%。本文解释了这些度量,并详细描述了算法和不同类型函数的实验结果。
preview
交易中的神经网络:基于 ResNeXt 模型的多任务学习(终篇)

交易中的神经网络:基于 ResNeXt 模型的多任务学习(终篇)

我们继续探索基于 ResNeXt 的多任务学习框架,其特征是模块化、高计算效率、及识别数据中稳定形态的能力。使用单一编码器和专用“头”可降低模型过度拟合风险,提升预测品质。
preview
Connexus助手(第五部分):HTTP方法和状态码

Connexus助手(第五部分):HTTP方法和状态码

在本文中,我们将了解HTTP方法和状态码,这是网络上客户端与服务器之间通信的两个非常重要的部分。了解每种方法的作用,可以让您更精确地发出请求,告知服务器您想要执行的操作,从而提高效率。
preview
从基础到中级:递归

从基础到中级:递归

在本文中,我们将探讨一个非常有趣且颇具挑战性的编程概念,尽管应该非常谨慎地对待它,因为它的误用或误解会将相对简单的程序变成不必要的复杂程序。但是,当正确使用并完全适应同样合适的情况时,递归成为解决问题的绝佳盟友,否则这些问题会更加费力和耗时。此处提供的材料仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
在 MQL5 中实现其他语言的实用模块(第 01 部分):构建受 Python 启发的 SQLite3 库

在 MQL5 中实现其他语言的实用模块(第 01 部分):构建受 Python 启发的 SQLite3 库

Python 中的 sqlite3 模块提供了一种使用 SQLite 数据库的简单方法,它既快速又方便。在本文中,我们将在内置的 MQL5 函数的基础上构建一个类似的模块,用于处理数据库,使在 MQL5 中使用 SQLite3 数据库更容易,就像在 Python 中一样。
preview
您应当知道的 MQL5 向导技术(第 56 部分):比尔·威廉姆斯(Bill Williams)分形

您应当知道的 MQL5 向导技术(第 56 部分):比尔·威廉姆斯(Bill Williams)分形

比尔·威廉姆斯(Bill Williams)的分形是一个强有力的指标,在价格图标上初现时很容易被忽视。它出现得过于繁忙,大概也不够精锐。我们的靶标是配以由向导汇编的智能系统针对所有指标进行前向漫游测试,检验其在各种形态下能够取得怎样的成果,从而揭开该指标的面纱。
preview
在 MQL5 中创建交易管理员面板(第十部分):基于外部资源的界面

在 MQL5 中创建交易管理员面板(第十部分):基于外部资源的界面

今天,我们将深入挖掘 MQL5 的潜力,利用外部资源(例如 BMP 格式的图片)为交易管理面板打造独具风格的主界面。文中演示的策略在打包多种资源(包括图片、声音等)以实现高效分发时尤为实用。欢迎随我们一起探讨,如何利用这些功能为我们的 New_Admin_Panel EA 实现现代、美观的界面设计。
preview
价格行为分析工具包开发(第三十部分):商品通道指数(CCI)零线的EA

价格行为分析工具包开发(第三十部分):商品通道指数(CCI)零线的EA

价格行为分析的自动化是未来发展趋势。在本文中,我们将运用双CCI指标、零线交叉策略、指数移动平均线(EMA)以及价格行为分析,开发一款能够生成交易信号,并利用平均真实波幅(ATR)设定止损(SL)和止盈(TP)水平的工具。请阅读本文,了解我们如何开发这款CCI零线的EA。
preview
数据科学和机器学习(第 34 部分):时间序列分解,剖析股票市场的核心

数据科学和机器学习(第 34 部分):时间序列分解,剖析股票市场的核心

在一个充斥着杂乱且不可预测数据的世界里,识别有意义的形态可能颇具挑战性。在本文中,我们将探讨季节性分解,这是一种强力分析技术,有助于把数据拆分为关键成分:趋势、季节性形态、和噪声。以该途径拆解数据,我们能够揭示隐藏的洞见,并配以更清晰、更易解读的信息工作。
preview
从基础到中级:模板和类型名称(二)

从基础到中级:模板和类型名称(二)

本文解释了如何处理您可能遇到的最困难的编程情况之一:在同一个函数或过程模板中使用不同的类型。尽管我们大部分时间只关注函数,但这里介绍的所有内容都是有用的,并且可以应用于过程。
preview
您应当知道的 MQL5 向导技术(第 64 部分):运用 DeMarker 和包络通道形态,搭配白噪内核

您应当知道的 MQL5 向导技术(第 64 部分):运用 DeMarker 和包络通道形态,搭配白噪内核

DeMarker 振荡器和包络指标是动量和支撑/阻力工具,能够在开发智能系统时配对。我们延续上一篇文章,概述在机器学习中加入把这对指标。我们正在使用一个循环神经网络,利用白噪内核来处理来自这两个指标的向量化信号。这是在一个自定义信号类文件中完成,其与 MQL5 向导汇编的智能系统搭配工作。
preview
价格行为分析工具开发(第 31 部分):基于Python的K线识别引擎(一)—— 手动检测

价格行为分析工具开发(第 31 部分):基于Python的K线识别引擎(一)—— 手动检测

K线图形态是价格行为交易的核心基础,能为潜在的市场反转或趋势延续提供极具价值的研判信号。设想一款稳定可靠的工具:它能持续监控每一根新增的价格 K 线,精准识别吞没形态、锤子线、十字星、启明星 / 黄昏星等关键形态,并在检测到重要交易信号时第一时间发出提醒。这正是我们所开发的系统功能。无论你是交易新手还是资深专业交易者,这套系统都能为你实时预警K线图形态,让你更自信、更高效地专注于交易执行。继续阅读,了解它的运行原理,以及它如何优化你的交易策略。
preview
在训练中激活神经元的函数:快速收敛的关键?

在训练中激活神经元的函数:快速收敛的关键?

本文研究了在神经网络训练背景下,不同激活函数与优化算法之间的相互作用。我们特别关注了经典的 ADAM 算法及其种群版本在处理多种激活函数(包括振荡的 ACON 和 Snake 函数)时的表现。通过使用一个极简的 MLP (1-1-1) 架构和单个训练样本,我们将激活函数对优化的影响与其他因素隔离开来。文章提出了一种通过激活函数边界来管理网络权重的方法,以及一种权重反射机制,这有助于避免训练中的饱和和停滞问题。
preview
从基础到中级:事件(一)

从基础到中级:事件(一)

鉴于目前所展示的一切,我认为我们现在可以开始实现某种应用程序,以便直接在图表上运行某些交易品种。然而,首先我们需要讨论一个对初学者来说可能相当困惑的概念。也就是说,在 MQL5 中开发并用于在图表上显示的应用程序的创建方式与我们迄今为止看到的不同。在本文中,我们将开始更好地理解这一点。
preview
MQL5 中的策略可视化:在标准图表中展示优化结果

MQL5 中的策略可视化:在标准图表中展示优化结果

在本文中,我们编写了一个可视化优化过程的示例,并显示了四个优化标准的前三个步骤。我们还将提供一个机会,从三个最佳通过中选择一个,以便在表格和图表上显示其数据。
preview
您应当知道的 MQL5 向导技术(第 60 部分):推理学习(Wasserstein-VAE),配合移动平均线和随机振荡器形态

您应当知道的 MQL5 向导技术(第 60 部分):推理学习(Wasserstein-VAE),配合移动平均线和随机振荡器形态

我们将目光转向 MA 与随机振荡器的互补配对,实证推理学习在后监督学习与强化学习状况中扮演的角色。显然,推理学习有多种途径可供选择,不过我们的方式是使用变分自编码器。我们先以 Python 探索这些,然后将训练好的模型以 ONNX 格式导出,可在 MetaTrader 中供向导汇编智能系统所用。
preview
精通日志记录(第五部分):通过缓存和轮转优化处理程序

精通日志记录(第五部分):通过缓存和轮转优化处理程序

本文通过为处理器添加格式化器、引入用于管理执行周期的 CIntervalWatcher 类、以及采用缓存和文件轮转进行优化,并辅以性能测试和实际示例,从而改进了该日志库。通过这些改进,我们确保了一个高效、可扩展且能适应不同开发场景的日志系统。
preview
神经网络实践:绘制神经元

神经网络实践:绘制神经元

在本文中,我们将构建一个基本神经元。虽然它看起来很简单,许多人可能会认为这段代码完全微不足道,毫无意义,但我希望你在学习这个简单的神经元草图时能玩得开心。不要害怕修改代码,完全理解它才是目标。
preview
重构经典策略(第十三部分):让我们的交叉策略迈向新维度(2)

重构经典策略(第十三部分):让我们的交叉策略迈向新维度(2)

欢迎参与讨论,一起探索移动平均线交叉策略的更多改进方法。我们将运用数据科学技能,致力于将策略的滞后性降至更低水平,从而提升其可靠性。众所周知,将数据投影到更高维度有时能提高机器学习模型的性能。我们将向交易者展示这一做法的实际意义,并说明如何利用MetaTrader 5交易终端运用这一强大原理。
preview
从基础到中级:指标(一)

从基础到中级:指标(一)

在本文中,我们将创建第一个完全实用和功能齐全的指标。目标不是展示如何创建应用程序,而是帮助您了解如何开发自己的想法,并让您有机会以安全、简单和实用的方式应用它们。
preview
在 MQL5 中实现其他语言的实用模块(第 02 部分):构建受 Python 启发的 REQUESTS 库

在 MQL5 中实现其他语言的实用模块(第 02 部分):构建受 Python 启发的 REQUESTS 库

在本文中,我们实现了一个类似于 Python 中 requests 模块的功能,以便更轻松地使用 MQL5 在 MetaTrader 5 中发送和接收 Web 请求。
preview
从新手到专家:使用 MQL5 制作动画新闻标题(七)—— 新闻交易的后冲击策略

从新手到专家:使用 MQL5 制作动画新闻标题(七)—— 新闻交易的后冲击策略

在重大经济新闻发布后的第一分钟内,市场出现剧烈波动的风险极高。在那短暂的时间窗口内,价格走势可能不稳定且波动剧烈,经常会触发两个方向的挂单。在发布后不久 —— 通常在一分钟内 —— 市场趋于稳定,恢复或纠正更典型的波动性。在本节中,我们将探讨新闻交易的另一种方法,旨在评估其作为交易者工具包中有价值的补充的有效性。继续阅读,了解本讨论中的更多见解和细节。