MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
请保护好自己,开发员!
请保护好自己,开发员!

请保护好自己,开发员!

知识产权的保护依旧是个大问题。 本文对 MQL4 程序保护的基本原则进行阐述。 通过这些原则,你可以确保你所开发的成果不会被窃取,或至少能够让小偷的“工作”复杂化,以让他罢手。
图形界面 X: 在多行文本框中选择文本 (集成构建 13)
图形界面 X: 在多行文本框中选择文本 (集成构建 13)

图形界面 X: 在多行文本框中选择文本 (集成构建 13)

本文将实现使用各种组合键选择文本, 及删除所选文本的功能, 类似于在其它任意文本编辑器中完成的方式。此外, 我们将继续优化代码, 并为进入函数库演变第二阶段的最后一个过程准备好类, 其中所有控件均作为单独的图像 (画布) 呈现。
研究烛条分析技术(第四部分):形态分析器的更新和补充
研究烛条分析技术(第四部分):形态分析器的更新和补充

研究烛条分析技术(第四部分):形态分析器的更新和补充

本文论述了形态分析器(Pattern Analyzer)应用程序的新版本。 此版本修复了已发现错误并提供了一些新功能,还改进了用户界面。 在新版本的开发过程中参考了上一篇文章中的意见和建议。 最终的应用程序会在本文中进行说明。
什么是马丁格尔?使用马丁格尔是否合理?
什么是马丁格尔?使用马丁格尔是否合理?

什么是马丁格尔?使用马丁格尔是否合理?

本文内容包括了马丁格尔系统的详细描述,精确的数学计算,足以回答这些问题:"使用马丁格尔是否合理?"
MQL5 Cookbook: 交易历史和取得仓位信息的函数库
MQL5 Cookbook: 交易历史和取得仓位信息的函数库

MQL5 Cookbook: 交易历史和取得仓位信息的函数库

现在是时候简单总结一下之前关于仓位属性文章的内容了,在本文中,我们会额外创建几个函数来取得只能通过访问交易历史才能获得的属性,我们也会对数据结构更加熟悉,这使我们可以用更加方便的方法访问仓位和交易品种属性。
图形界面 X: 文本编辑框, 图片滑块和简单控件 (构建 5)
图形界面 X: 文本编辑框, 图片滑块和简单控件 (构建 5)

图形界面 X: 文本编辑框, 图片滑块和简单控件 (构建 5)

本文研究新的控件: 文本编辑框, 图片滑块, 以及其它的简单控件: 文本标签和图片。函数库正在持续增长, 并引入了一些其它的新控件, 以前创建的那些也有所改进。
无需 DLL 的原生 MT4/MT5 推特(Twitter)客户端
无需 DLL 的原生 MT4/MT5 推特(Twitter)客户端

无需 DLL 的原生 MT4/MT5 推特(Twitter)客户端

是否曾想访问推文和/或在推特(Twitter)上发布您的交易信号? 无需更多搜索,这些持续更新的系列文章将为您展示如何无需任何 DLL 的情况下进行操作。 畅想 MQL 实现 Twitter API 的旅程。 在第一部分中,我们将在访问 Twitter API 时遵循身份验证和授权的荣耀之路。
监视多币种的交易信号(第三部分):引入搜索算法
监视多币种的交易信号(第三部分):引入搜索算法

监视多币种的交易信号(第三部分):引入搜索算法

在前一篇文章中,我们开发了应用程序的可视部分,以及基本的 GUI 交互元素。 这次,我们将添加内部逻辑,并准备交易信号数据的算法,还要有建立信号、搜索信号、并在监视器中对其可视化的能力。
将指标从 MQL4 迁移到 MQL5
将指标从 MQL4 迁移到 MQL5

将指标从 MQL4 迁移到 MQL5

本文旨在说明将用 MQL4 编写的价格构建迁移到 MQL5。为了让将指标计算从 MQL4 迁移到 MQL5 的过程更加容易,建议使用 mql4_2_mql5.mqh 函数库。依据 MACD、随机动量指标和 RSI 指标说明其用途。
Expert Advisor 的测试和优化
Expert Advisor 的测试和优化

Expert Advisor 的测试和优化

本文详细介绍在 MetaTrader 4 策略测试程序中测试和优化 Expert Advisor 的过程。 此类信息的重要性以及对此出版物的需求不容低估。 很多仅刚刚入门 MetaTrader 4 交易平台的用户对使用 Expert Advisor 时需要做些什么以及应当如何做还只有很模糊的认识。 本文为所有这些问题提供了简单而清晰的解答,并通过具体的示例提供了稍微更加专业的方法来处理这些问题。
绘制支撑/阻力位的方法
绘制支撑/阻力位的方法

绘制支撑/阻力位的方法

本文描述了用于检测支撑/阻力位的简单脚本的创建过程。 由于面向的对象为初学者,你可以找到过程中每个步骤的详细解释。 然而,尽管脚本非常简单,本文对于高级交易者和MetaTrader 4 平台用户也非常有帮助。 其中包含了数据导出至表格格式、表格导入 Microsoft Excel 和绘制便于更加详细分析图表的示例。
基于枢纽点分析的交易策略
基于枢纽点分析的交易策略

基于枢纽点分析的交易策略

枢轴点(PP)分析是对于日内大幅波动市场最简单和最为有效的策略之一。它早在计算机出现之前已经投入使用,那时证券交易者除了算盘和计数器之外,还无法使用任何自动数据处理设备。
preview
MetaTrader 5 中的出价/要价(Bid/Ask)点差分析

MetaTrader 5 中的出价/要价(Bid/Ask)点差分析

一款能为您报告经纪商平台出价/要价(Bid/Ask)水平的指标。 现在我们可以利用 MT5 的即时报价数据来分析近期的历史真实平均买卖点差是多少。 您不需要查看当前点差,因为若您同时显示出价和要价指示线时,该值已出示。
轻松快捷开发 MetaTrader 程序的函数库 (第 二十八部分) :延后交易请求之平仓、删除和修改
轻松快捷开发 MetaTrader 程序的函数库 (第 二十八部分) :延后交易请求之平仓、删除和修改

轻松快捷开发 MetaTrader 程序的函数库 (第 二十八部分) :延后交易请求之平仓、删除和修改

这是有关延后请求概念的第三篇文章。 我们将创建平仓、删除挂单、修改持仓和挂单参数等方法来完成延后交易请求的测试。
以线性回归为例说明指标加速的 3 种方法
以线性回归为例说明指标加速的 3 种方法

以线性回归为例说明指标加速的 3 种方法

本文讨论指标算法优化方法。每个人都会找到最适合自己的方法。本文介绍了三种方法。其中一个非常简单,另一个需要扎实的数学知识,最后一个需要一些智慧。使用指标或 MetaTrader5 客户端设计功能来实现其中的大多数方法。这些方法通用性强,不仅可用于加快线性回归计算,也可用于很多其他指标。
交易者的 LifeHack: 四次回测比一次好
交易者的 LifeHack: 四次回测比一次好

交易者的 LifeHack: 四次回测比一次好

在第一次测试之前,每个交易者都会面临同样的问题 — "四种模式中使用哪一种呢?" 每种提供的模式都有其优点和特点,所以我们会用简单的方法 - 使用一个按钮一起运行全部四种模式!本文展示了如何使用 Win API 和一点魔术来同时看到全部四个测试图表。
用于一组指标信号的朴素贝叶斯分类器
用于一组指标信号的朴素贝叶斯分类器

用于一组指标信号的朴素贝叶斯分类器

本文通过运用多个独立指标的信号, 分析贝叶斯公式在提高交易系统可靠性方面的应用。理论计算可由一款简单的通用 EA 进行验证, 配置为使用任意指标。
通过指定的幻数计算总持仓量的最佳方法
通过指定的幻数计算总持仓量的最佳方法

通过指定的幻数计算总持仓量的最佳方法

本文探讨了与指定交易品种和幻数有关的总持仓量的计算问题。所提议的方法仅请求交易历史记录的最少必要部分,在总持仓量等于零时查找最接近的时间,并用最新的交易进行计算。还考虑了客户端全局变量的处理。
轻松快捷开发 MetaTrader 程序的函数库(第十四部分):品种对象
轻松快捷开发 MetaTrader 程序的函数库(第十四部分):品种对象

轻松快捷开发 MetaTrader 程序的函数库(第十四部分):品种对象

在本文中,我们将创建品种对象类,该类将成为创建品种集合的基本对象。 该类可令我们获取必要品种的数据,以便进一步进行分析和比较。
MetaTrader 5终端策略测试器中的订单生成算法
MetaTrader 5终端策略测试器中的订单生成算法

MetaTrader 5终端策略测试器中的订单生成算法

MetaTrader 5 通过EA交易程序和MQL5编程语言使我们可以在内嵌的策略测试器中模拟自动交易,这种模拟称为EA交易程序的测试,它可以在实现中用多线程优化,也可以在多个设备中同步进行。为了提供完整的测试,我们需要基于可用的分钟历史来生成订单。本文提供了这种算法的详细描述,即在MetaTrader 5客户终端中怎样通过历史生成这些订单。
交易货币篮子时可用的形态。第三部分
交易货币篮子时可用的形态。第三部分

交易货币篮子时可用的形态。第三部分

本文是交易货币篮子时发生形态的终篇。它综合了趋势跟踪指标和标准图形结构的应用。
开发跨平台网格EA(第二部分):在趋势方向上的基于范围的网格
开发跨平台网格EA(第二部分):在趋势方向上的基于范围的网格

开发跨平台网格EA(第二部分):在趋势方向上的基于范围的网格

在本文中,我们将开发一个网格EA,用于在一个范围内的趋势方向上进行交易。这样,此EA主要适用于外汇和大宗商品市场,根据测试,我们的网格EA 自2018年以来显示盈利,不幸的是,这在2014-2018年期间并非如此。
显示支撑/阻力位
显示支撑/阻力位

显示支撑/阻力位

文章涉及在 MetaTrader 4 程序中探明和指示支撑/阻力位。 方便又通用的指标基于简单的算法。 本文同时探讨了一个有用的主题,即创建能够在一个工作空间显示不同时间范围结果的简单指标。
优秀程序员(第 01 部分):您必须停止做这 5 件事才能成为一名成功的 MQL5 程序员
优秀程序员(第 01 部分):您必须停止做这 5 件事才能成为一名成功的 MQL5 程序员

优秀程序员(第 01 部分):您必须停止做这 5 件事才能成为一名成功的 MQL5 程序员

萌新甚至高级程序员都会有很多坏习惯,这令他们无法在其编程事业中成为最佳的。 我们将在本文中就这些问题予以讨论并定位。 对于所有梦想成为优秀 MQL5 开发者的人来说,这篇文章都是必读的。
作为创建自动化交易系统新方法的自动机编程
作为创建自动化交易系统新方法的自动机编程

作为创建自动化交易系统新方法的自动机编程

本文会让我们以一种全新的视角,来进行 MQL4 与 MQL5 中 EA、指标及脚本的开发。将来,此编程范式会逐渐变成 EA 实施领域所有交易者的基本标准。利用这种自动机编程范式,MQL5 和 MetaTrader 5 开发人员也就具备了某种程度上创建新语言 - MQL6 - 和新平台 - MetaTrader 6 的能力。
MQL5 Cookbook: 在EA交易中使用指标来设置交易条件
MQL5 Cookbook: 在EA交易中使用指标来设置交易条件

MQL5 Cookbook: 在EA交易中使用指标来设置交易条件

在本文中,我们将继续修改之前在MQL5 Cookbook系列文章中的EA交易,这一次,EA交易将进一步增强,使用指标来检查建仓条件。为了增加点乐趣,我们会在外部参数中创建一个下拉列表,可以从三个交易指标中选择一个。
指标喷发整体特征的计算
指标喷发整体特征的计算

指标喷发整体特征的计算

指标喷发是市场研究中较少涉及的一个领域。这主要是由于时变数据超大数组的处理造成的分析难度。现有的图形分析过于资源密集,并由此触发了一种采用喷发时间序列的俭省算法的发展。本文要论述的,就是如何利用喷发整体特征的研究,来替代可视(直观图像)分析。无论是交易者,还是自动化交易系统的开发者,都会感兴趣。
preview
掌握 MQL5:从入门到精通(第一部分):开始编程

掌握 MQL5:从入门到精通(第一部分):开始编程

本文是有关编程的系列文章的概述。这里假设的是读者之前从未接触过编程,因此,本系列从最基础的地方开始。编程知识水平:绝对的新手。
轻松快捷开发 MetaTrader 程序的函数库(第十部分):与 MQL4 的兼容性 - 开仓和激活挂单的事件
轻松快捷开发 MetaTrader 程序的函数库(第十部分):与 MQL4 的兼容性 - 开仓和激活挂单的事件

轻松快捷开发 MetaTrader 程序的函数库(第十部分):与 MQL4 的兼容性 - 开仓和激活挂单的事件

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第九部分中,我们开始改进 MQL4 的库类。 在此,我们将继续改进函数库,确保其与 MQL4 的完全兼容。
preview
构建自动运行的 EA(第 02 部分):开始编码

构建自动运行的 EA(第 02 部分):开始编码

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。 在上一篇文章中,我们讨论了任何人在继续创建自动交易的智能系统之前需要了解的第一步。 我们首先研究了概念和结构。
preview
发布算法交易文章,赚取200美元!

发布算法交易文章,赚取200美元!

撰写一篇文章,为算法交易的发展做出贡献。分享您在交易和编程方面的经验,我们将支付您200美元。此外,在受欢迎的MQL5.com网站上发表文章,为您在专业社区中推广个人标签提供绝佳的机会。成千上万的交易者将会阅读您的文章。您可以与志同道合的伙伴讨论您的想法,获得新的经验,并将您的知识货币化。
寻找市场形态的计量经济学方法:自相关,热点图和散点图
寻找市场形态的计量经济学方法:自相关,热点图和散点图

寻找市场形态的计量经济学方法:自相关,热点图和散点图

本文研讨季节性特征的扩展研究:自相关热点图和散点图。 本文之目的是展示“市场记忆”的季节性,它通过任意顺序增量的最大相关性来表达。
preview
在 MQL5 中使用资源

在 MQL5 中使用资源

MQL5程序不仅仅对例行计算进行自动化,还能够创建全功能图形环境。现在,创建真实互动控制的功能,几乎与经典编程语言一样丰富。如果您希望以 MQL5 编写一个完全成熟的独立程序,请使用MQL5中的资源。带有资源的程序更容易维护与分发。
preview
聚类分析(第一部分):精通指标线的斜率

聚类分析(第一部分):精通指标线的斜率

聚类分析是人工智能最重要的元素之一。 在本文中,我尝试应用指标斜率的聚类分析来获得阈值,据其判定行情是横盘、亦或跟随趋势。
字符串:ASCII 符号表和用途
字符串:ASCII 符号表和用途

字符串:ASCII 符号表和用途

本文将分析 ASCII 符号表及其使用方法。我们还将处理某些新函数,基于 ASCII 表特性的操作原理,然后我们将创建一个包括这些函数的新库。这些函数在其他编程语言中相当受欢迎,但并没有纳入到内置函数列表中。此外,我们还将深入研究函数处理字符串的基础。我相信你们在这款有用的数据类型中必然能够学习到新知识。
通过 DDE 在 MetaTrader 4 与 Matlab 之间进行交互
通过 DDE 在 MetaTrader 4 与 Matlab 之间进行交互

通过 DDE 在 MetaTrader 4 与 Matlab 之间进行交互

分步说明如何使用 DDE 将数据从 Matlab 传输到 MetaTrader 4。
MetaTrader 4客户端的秘密
MetaTrader 4客户端的秘密

MetaTrader 4客户端的秘密

21种快捷方法: MetaTrader 4客户端的潜在功能。 全屏模式;热键;快捷键;迷你窗口;收藏;图表最小化; 新闻显示; 货币对设置;市场观察;测试图表和独立图表模板;数据图表;十字光标;电子尺; 柱图表数据;图表中历史账户;定单类型;修改止损和赢利; 取消删除;打印图表。
跳空缺口 - 是能够获利的策略还是五五开?
跳空缺口 - 是能够获利的策略还是五五开?

跳空缺口 - 是能够获利的策略还是五五开?

这篇文章详细讨论了跳空缺口 — 前一时间段的收盘价和后一时间段的开盘价之间的较大差距, 以及对日柱方向的预测。还探讨了通过系统DLL使用 GetOpenFileName 函数的问题。
SQL 与 MQL5: 与 SQLite 数据库集成
SQL 与 MQL5: 与 SQLite 数据库集成

SQL 与 MQL5: 与 SQLite 数据库集成

本文的目的,是那些打算在他们的项目中使用 SQL 的开发者。它解释了 SQLite 的功能和优势。本文不需要特别的 SQLite 函数知识, 当然对 SQL 的最小理解将是有益的。
MQL5 中的事件处理:快速更改 MA 周期
MQL5 中的事件处理:快速更改 MA 周期

MQL5 中的事件处理:快速更改 MA 周期

假设有周期为 13 的简单 MA(移动平均线)指标应用至图表。而我们希望将周期更改为 20,但我们不想转到指标属性对话框去把将数字 13 更改为 20:我们就是对这些使用鼠标和键盘执行的乏味操作感到厌倦。尤其是,我们不希望打开指标代码进行修改。我们只想按一下按钮 - 与数字小键盘相邻的“向上箭头”- 就完成这一切。在本文中,我将给出实现方法。