MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
市场变动及其预测的统计分析
市场变动及其预测的统计分析

市场变动及其预测的统计分析

本文深入探讨统计方法在市场中的广泛机会。遗憾的是,交易新手故意不应用非常强大的统计学。同时,这又是他们在分析市场时潜意识使用的唯一工具。此外,统计可以为很多问题给出回答。
MetaTrader应用商店2013年第三季度业绩
MetaTrader应用商店2013年第三季度业绩

MetaTrader应用商店2013年第三季度业绩

又过了一个季度,我们已决定统计MetaTrader 应用商店的业绩 - MetaTrader平台最大的交易机器人和技术指标商店。 直至报告季度末期,有500多名开发者已经将他们的1200个产品放入MetaTrader 应用商店。
DoEasy 函数库中的时间序列(第三十六部分):所有用到的品种周期的时间序列对象
DoEasy 函数库中的时间序列(第三十六部分):所有用到的品种周期的时间序列对象

DoEasy 函数库中的时间序列(第三十六部分):所有用到的品种周期的时间序列对象

在本文中我们将探讨,把每个用到的品种周期的柱形对象列表合并到单一品种时间序列对象之中。 因此,每个品种均含一个对象,存储所有已用到品种时间序列周期的列表。
preview
神经网络变得轻松(第二十部分):自动编码器

神经网络变得轻松(第二十部分):自动编码器

我们继续研究无监督学习算法。 一些读者可能对最近发表的与神经网络主题的相关性有疑问。 在这篇新文章中,我们回到了对神经网络的研究。
preview
使用 Python 和 MetaTrader5 python 软件包及 ONNX 模型文件进行深度学习预测和排序

使用 Python 和 MetaTrader5 python 软件包及 ONNX 模型文件进行深度学习预测和排序

本项目涉及在金融市场中使用 Python 进行基于深度学习的预测。我们将探索使用平均绝对误差(MAE)、均方误差(MSE)和R平方(R2)等关键指标测试模型性能的复杂性,并学习如何将所有内容打包到可执行文件中。我们还将制作一个 ONNX 模型文件以及它的 EA。
preview
在 Linux 上利用 C++ 多线程支持开发 MetaTrader 5 概念验证 DLL

在 Linux 上利用 C++ 多线程支持开发 MetaTrader 5 概念验证 DLL

我们将开始探索如何仅基于 Linux 系统开发 MetaTrader 5 平台的步骤和工作流程,其中最终产品能在 Windows 和 Linux 系统上无缝运行。 我们将了解 Wine 和 Mingw;两者都是制作跨平台开发任务的基本工具。 特别是 Mingw 的线程实现(POSIX 和 Win32),我们在选择追随哪一个时需要仔细考虑。 然后,我们构建一个能在 MQL5 代码中所用的概念验证 DLL,最后比较两种线程实现的性能。 这一切都是为了您的基金能进一步扩张自己。 阅读本文后,您应该可以轻松地在 Linux 上构建 MT 相关工具。
preview
数据科学与机器学习(第23部分):为什么LightGBM和XGBoost能超越许多AI模型?

数据科学与机器学习(第23部分):为什么LightGBM和XGBoost能超越许多AI模型?

这些先进的梯度提升决策树技术提供了卓越的性能和灵活性,使其成为金融建模和算法交易的理想选择。了解如何利用这些工具来优化您的交易策略、提高预测准确性,并在金融市场中获得竞争优势。
为嘉盛开发群集指标的理论基础
为嘉盛开发群集指标的理论基础

为嘉盛开发群集指标的理论基础

群集指标是一系列将货币对分成独立的货币的指标。指标允许跟踪相对货币波动,确定形成新的货币趋势的潜能,接收交易信号,以及追踪中期和长期仓位。
怎样使用崩溃记录来调试您的动态链接库(DLL)
怎样使用崩溃记录来调试您的动态链接库(DLL)

怎样使用崩溃记录来调试您的动态链接库(DLL)

在收到的用户崩溃记录中,有25%到30%是因为执行自定义动态链接库(DLL)中的输入函数而出的错.
preview
用于时间序列挖掘的数据标签(第 5 部分):使用 Socket 在 EA 中进行应用和测试

用于时间序列挖掘的数据标签(第 5 部分):使用 Socket 在 EA 中进行应用和测试

本系列文章介绍了几种时间序列标注方法,可以创建符合大多数人工智能模型的数据,根据需求有针对性地进行数据标注,可以使训练出来的人工智能模型更符合预期设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
解密开盘区间突破(ORB)日内交易策略

解密开盘区间突破(ORB)日内交易策略

开盘区间突破(ORB)策略基于这样一种理念:市场开盘后不久确立的初始交易区间,反映了买卖双方就价格价值达成共识的重要水平。通过识别突破某一特定区间上方或下方的走势,交易者可以把握随之而来的市场契机——当市场方向愈发明朗时,这种契机往往会进一步显现。本文将探讨三种源自康克瑞图姆集团(Concretum Group)改良的ORB策略。
preview
学习如何基于标准偏差设计交易系统

学习如何基于标准偏差设计交易系统

此为我们该系列中的一篇新文章,介绍如何利用 MetaTrader 5 交易平台中最受欢迎的技术指标来设计交易系统。 在这篇新文章中,我们将学习如何运用标准偏差指标设计交易系统。
preview
从头开始开发智能交易系统(第 28 部分):面向未来((III)

从头开始开发智能交易系统(第 28 部分):面向未来((III)

我们的订单系统有一项任务仍然尚未完成,但我们终将把它搞定。 MetaTrader 5 提供了一个允许创建和更正订单参数值的单据系统。 该思路是拥有一个智能系统,可令相同的票据系统更快、更高效。
金融证券的叠加和干扰
金融证券的叠加和干扰

金融证券的叠加和干扰

随着影响货币对行为受到更多因素影响,评估其行为和对未来进行预测将愈发困难。 因此,如果我们成功提取货币对的组成部分,随时间改变的国家货币值,通过和带有此货币以及影响其行为的多个因素的货币对相比较,我们便可以相当程度上界定国家货币移动的自由度。 因此我们可以提高对其行为评估和未来预测的精准度。 如何办到?
preview
神经网络变得轻松(第三十二部分):分布式 Q-学习

神经网络变得轻松(第三十二部分):分布式 Q-学习

我们在本系列的早期文章中领略了 Q-学习方法。 此方法均化每次操作的奖励。 2017 年出现了两篇论文,在研究奖励分配函数时展现出了极大的成功。 我们来研究运用这种技术解决我们问题的可能性。
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类

DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类

在本文中,我将继续开发图表对象类。 我将添加含有可用指标列表的图表窗口对象列表。
使用 Linux 交易
使用 Linux 交易

使用 Linux 交易

本文描述了如何使用指示器在线观察金融市场的状况。
基于大众交易策略和交易机器人优化点金术的 Expert Advisor(续)
基于大众交易策略和交易机器人优化点金术的 Expert Advisor(续)

基于大众交易策略和交易机器人优化点金术的 Expert Advisor(续)

在本文中,作者提出了用于改进前面几篇文章介绍的交易系统的方法。本文适用于已有 Expert Advisor 编写经验的交易者。
我们如何开发MetaTrader 信号服务和群组交易
我们如何开发MetaTrader 信号服务和群组交易

我们如何开发MetaTrader 信号服务和群组交易

我们持续加强信号服务,完善机制,添加新的功能并修复缺陷。2012年的MetaTrader信号服务和当前的MetaTrader信号服务就像两个完全不同的服务。目前,我们正在实施 虚拟主机云服 务,它由一个服务器网络组成用来支持特定版本的MetaTrader客户端。
preview
优化结果的可视化评估

优化结果的可视化评估

在本文中,我们将研究如何建立所有优化通测的图形,以及选择最优结果的自定义准则。 我们还将看到如何利用网站上发表的文章和论坛评论,在几乎不了解 MQL5 的情况下创建所需的解决方案。
preview
在 ONNX 模型中使用 float16 和 float8 格式

在 ONNX 模型中使用 float16 和 float8 格式

用于表示机器学习模型的数据格式对其有效性起着至关重要的作用。近年来,出现了几种新类型的数据,专门为使用深度学习模型而设计。在本文中,我们将重点介绍两种新的数据格式,它们已在现代模型中广泛采用。
preview
从头开始开发智能交易系统(第 12 部分):时序与交易(I)

从头开始开发智能交易系统(第 12 部分):时序与交易(I)

今天,我们将创建时序与交易,从而快速解读订单流程。 这是我们构建系统的第一部分。 在下一篇文章中,我们将补全该系统缺失的信息。 为了实现这一新功能,我们需要在智能交易系统代码中添加一些新的内容。
preview
您应该知道的 MQL5 向导技术(第 06 部分):傅里叶(Fourier)变换

您应该知道的 MQL5 向导技术(第 06 部分):傅里叶(Fourier)变换

约瑟夫·傅里叶(Joseph Fourier)引入的傅里叶变换是将复杂的数据波分解构为简单分量波的一种方法。 此功能对交易者来说可能更机敏,本文将对此进行关注。
preview
制作仪表板以显示指标和EA中的数据

制作仪表板以显示指标和EA中的数据

在本文中,我们将创建一个用于指标和EA的仪表板类。这是一个小系列文章中的介绍性文章,其中包含模板以在EA交易中包含和使用标准指标。我将首先创建一个类似于MetaTrader 5数据窗口的面板。
preview
构建自动运行的 EA(第 14 部分):自动化(VI)

构建自动运行的 EA(第 14 部分):自动化(VI)

在本文中,我们将把本系列中的所有知识付诸实践。 我们最终将建立一个 100% 自动化和功能性的系统。 但在此之前,我们仍然需要学习最后一个细节。
preview
在 MQL5 中使用 AutoIt

在 MQL5 中使用 AutoIt

简述。 在本文中,我们将探索采用 MetraTrader 5 终端里以集成的 MQL5 编写 AutoIt 脚本。 在其中,我们将覆盖如何操纵终端的用户界面来自动完成各种任务,并介绍一个采用 AutoItX 库的类。
自动控制系统 (ACS) 环境中的技术分析观点,也即"反向观点"
自动控制系统 (ACS) 环境中的技术分析观点,也即"反向观点"

自动控制系统 (ACS) 环境中的技术分析观点,也即"反向观点"

本文介绍技术分析的另一种观点,此观点基于现代化自动控制理论和技术分析自身的原理。本文是一篇介绍性文章,表述的就是这个理论及其一些实际的应用。
将指标代码转移至 Expert Advisor 代码。指标结构
将指标代码转移至 Expert Advisor 代码。指标结构

将指标代码转移至 Expert Advisor 代码。指标结构

本文详细介绍将指标代码转移至 Expert Advisor 代码的方式,并详细介绍编写 Expert Advisor 的过程,在此过程中,不调用任何自定义指标,且整个程序代码用于计算 Expert Advisor 中的必要指标值。本文介绍了指标结构的总体方案、Expert Advisor 中指标缓冲区的模拟以及函数 IndicatorCounted() 的替代项。本文面向拥有使用 MQL4 语言进行编程的经验的读者。
preview
神经网络变得轻松(第二十六部分):强化学习

神经网络变得轻松(第二十六部分):强化学习

我们继续研究机器学习方法。 自本文,我们开始另一个大话题,强化学习。 这种方式允许为模型设置某些策略来解决问题。 我们可以预期,强化学习的这种特性将为构建交易策略开辟新的视野。
DoEasy 函数库中的其他类(第六十六部分):MQL5.com 信号集合类
DoEasy 函数库中的其他类(第六十六部分):MQL5.com 信号集合类

DoEasy 函数库中的其他类(第六十六部分):MQL5.com 信号集合类

在本文中,我将针对 MQL5.com 信号服务创建信号集合类,拥有能够管理信号的函数。 此外,我将改进“市场深度”快照对象类,来显示 DOM 的总买卖量。
preview
开发多币种 EA 交易(第 3 部分):架构修改

开发多币种 EA 交易(第 3 部分):架构修改

我们在开发多币种 EA 方面已经取得了一些进展,该 EA 有几个并行工作的策略。考虑到所积累的经验,让我们回顾一下我们解决方案的架构,并尝试在我们走得太远之前对其进行改进吧。
preview
数据科学和机器学习(第 12 部分):自训练神经网络能否帮助您跑赢股市?

数据科学和机器学习(第 12 部分):自训练神经网络能否帮助您跑赢股市?

您是否厌倦了持续尝试预测股市? 您是否希望有一个水晶球来帮助您做出更明智的投资决策? 自训练神经网络可能是您一直在寻找的解决方案。 在本文中,我们将探讨这些强大的算法是否可以帮助您“乘风破浪”,并跑赢股市。 通过分析大量数据和识别形态,自训练神经网络通常可以做出比人类交易者更准确的预测。 发现如何使用这项尖端技术来最大化您的盈利,并制定更明智的投资决策。
DoEasy 函数库中的时间序列(第四十五部分):多周期指标缓冲区
DoEasy 函数库中的时间序列(第四十五部分):多周期指标缓冲区

DoEasy 函数库中的时间序列(第四十五部分):多周期指标缓冲区

在本文中,我将着手改进指标缓冲区对象和集合类,从而可在多周期和多品种模式下操作。 我打算在当前品种图表上的任何时间帧内接收和显示数据缓冲区对象的操作。
preview
帧分析器(Frames Analyzer)工具带来的时间片交易魔法

帧分析器(Frames Analyzer)工具带来的时间片交易魔法

什么是帧分析器(Frames Analyzer)? 这是适用于任意智能系统的一个插件模块,在策略测试器中、以及测试器之外进行参数优化期间,该工具在参数优化完成后立即读取测试创建的 MQD 文件、或数据库,并分析优化帧数据。 您能够与拥有帧分析器工具的其他用户共享这些优化结果,从而共同讨论结果。
preview
开发回放系统 — 市场模拟(第 01 部分):首次实验(I)

开发回放系统 — 市场模拟(第 01 部分):首次实验(I)

如何创建一个系统,让我们在闭市后也能研究市场,甚至模拟市场情况? 在此,我们将开始一系列新的文章,在其中我们将应对这个主题。
preview
构建自动运行的 EA(第 09 部分):自动化(II)

构建自动运行的 EA(第 09 部分):自动化(II)

如果您无法控制其调度表,则自动化就意味着毫无意义。 没有工人能够一天 24 小时高效工作。 然而,许多人认为自动化系统理所当然地每天 24 小时运行。 但为 EA 设置工作时间范围总是有好处的。 在本文中,我们将研究如何正确设置这样的时间范围。
preview
从头开始开发智能交易系统(第 14 部分):添加价格成交量(II)

从头开始开发智能交易系统(第 14 部分):添加价格成交量(II)

今天,我们要将更多资源加入 EA。 这篇有趣的文章可以提供一些展示信息的新思路和方法。 与此同时,它能帮助修复项目中的小缺陷。
preview
从新手到专家:支撑与阻力强度指标(SRSI)

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

在本文中,我们将分享如何利用MQL5编程来精准定位市场关键价位——区分价格水平中的弱势与强势区域。我们将完整开发一个可用的支撑与阻力强度指标(SRSI)。
通过脉动进行市场诊断
通过脉动进行市场诊断

通过脉动进行市场诊断

本文尝试将特定市场及其时间段的强度可视化,以检测其规律性和行为模式。
preview
模式搜索的暴力方法(第二部分):深入

模式搜索的暴力方法(第二部分):深入

在本文中,我们将继续讨论暴力方法。我将尝试使用我的应用程序的新改进版本来更好地解释这种模式。我还将尝试使用不同的时间间隔和时间框架来找出稳定性的差异。