MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
绘制支撑/阻力位的方法
绘制支撑/阻力位的方法

绘制支撑/阻力位的方法

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

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

枢轴点(PP)分析是对于日内大幅波动市场最简单和最为有效的策略之一。它早在计算机出现之前已经投入使用,那时证券交易者除了算盘和计数器之外,还无法使用任何自动数据处理设备。
什么是马丁格尔?使用马丁格尔是否合理?
什么是马丁格尔?使用马丁格尔是否合理?

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

本文内容包括了马丁格尔系统的详细描述,精确的数学计算,足以回答这些问题:"使用马丁格尔是否合理?"
将指标从 MQL4 迁移到 MQL5
将指标从 MQL4 迁移到 MQL5

将指标从 MQL4 迁移到 MQL5

本文旨在说明将用 MQL4 编写的价格构建迁移到 MQL5。为了让将指标计算从 MQL4 迁移到 MQL5 的过程更加容易,建议使用 mql4_2_mql5.mqh 函数库。依据 MACD、随机动量指标和 RSI 指标说明其用途。
监视多币种的交易信号(第三部分):引入搜索算法
监视多币种的交易信号(第三部分):引入搜索算法

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

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

Expert Advisor 的测试和优化

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

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

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

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

现在是时候简单总结一下之前关于仓位属性文章的内容了,在本文中,我们会额外创建几个函数来取得只能通过访问交易历史才能获得的属性,我们也会对数据结构更加熟悉,这使我们可以用更加方便的方法访问仓位和交易品种属性。
请保护好自己,开发员!
请保护好自己,开发员!

请保护好自己,开发员!

知识产权的保护依旧是个大问题。 本文对 MQL4 程序保护的基本原则进行阐述。 通过这些原则,你可以确保你所开发的成果不会被窃取,或至少能够让小偷的“工作”复杂化,以让他罢手。
以线性回归为例说明指标加速的 3 种方法
以线性回归为例说明指标加速的 3 种方法

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

本文讨论指标算法优化方法。每个人都会找到最适合自己的方法。本文介绍了三种方法。其中一个非常简单,另一个需要扎实的数学知识,最后一个需要一些智慧。使用指标或 MetaTrader5 客户端设计功能来实现其中的大多数方法。这些方法通用性强,不仅可用于加快线性回归计算,也可用于很多其他指标。
轻松快捷开发 MetaTrader 程序的函数库(第十四部分):品种对象
轻松快捷开发 MetaTrader 程序的函数库(第十四部分):品种对象

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

在本文中,我们将创建品种对象类,该类将成为创建品种集合的基本对象。 该类可令我们获取必要品种的数据,以便进一步进行分析和比较。
用于一组指标信号的朴素贝叶斯分类器
用于一组指标信号的朴素贝叶斯分类器

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

本文通过运用多个独立指标的信号, 分析贝叶斯公式在提高交易系统可靠性方面的应用。理论计算可由一款简单的通用 EA 进行验证, 配置为使用任意指标。
交易货币篮子时可用的形态。第三部分
交易货币篮子时可用的形态。第三部分

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

本文是交易货币篮子时发生形态的终篇。它综合了趋势跟踪指标和标准图形结构的应用。
轻松快捷开发 MetaTrader 程序的函数库 (第 二十八部分) :延后交易请求之平仓、删除和修改
轻松快捷开发 MetaTrader 程序的函数库 (第 二十八部分) :延后交易请求之平仓、删除和修改

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

这是有关延后请求概念的第三篇文章。 我们将创建平仓、删除挂单、修改持仓和挂单参数等方法来完成延后交易请求的测试。
preview
处理时间(第一部分):基础

处理时间(第一部分):基础

能够简化和澄清时间、经纪商时移、以及夏季或冬季变更的时间处理函数和代码片段。 准确的时序也许是交易中的一个关键因素。 在当前钟点,伦敦或纽约的证券交易所是否已经或尚未开市,外汇交易的交易时间何时开始和结束? 对于一名实况手工交易者来说,这不算是个大问题。
通过指定的幻数计算总持仓量的最佳方法
通过指定的幻数计算总持仓量的最佳方法

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

本文探讨了与指定交易品种和幻数有关的总持仓量的计算问题。所提议的方法仅请求交易历史记录的最少必要部分,在总持仓量等于零时查找最接近的时间,并用最新的交易进行计算。还考虑了客户端全局变量的处理。
preview
MetaTrader 5 中的出价/要价(Bid/Ask)点差分析

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

一款能为您报告经纪商平台出价/要价(Bid/Ask)水平的指标。 现在我们可以利用 MT5 的即时报价数据来分析近期的历史真实平均买卖点差是多少。 您不需要查看当前点差,因为若您同时显示出价和要价指示线时,该值已出示。
MetaTrader 5终端策略测试器中的订单生成算法
MetaTrader 5终端策略测试器中的订单生成算法

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

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

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

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

显示支撑/阻力位

文章涉及在 MetaTrader 4 程序中探明和指示支撑/阻力位。 方便又通用的指标基于简单的算法。 本文同时探讨了一个有用的主题,即创建能够在一个工作空间显示不同时间范围结果的简单指标。
交易者的 LifeHack: 四次回测比一次好
交易者的 LifeHack: 四次回测比一次好

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

在第一次测试之前,每个交易者都会面临同样的问题 — "四种模式中使用哪一种呢?" 每种提供的模式都有其优点和特点,所以我们会用简单的方法 - 使用一个按钮一起运行全部四种模式!本文展示了如何使用 Win API 和一点魔术来同时看到全部四个测试图表。
优秀程序员(第 01 部分):您必须停止做这 5 件事才能成为一名成功的 MQL5 程序员
优秀程序员(第 01 部分):您必须停止做这 5 件事才能成为一名成功的 MQL5 程序员

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

萌新甚至高级程序员都会有很多坏习惯,这令他们无法在其编程事业中成为最佳的。 我们将在本文中就这些问题予以讨论并定位。 对于所有梦想成为优秀 MQL5 开发者的人来说,这篇文章都是必读的。
作为技术分析工具的 MTF 指标
作为技术分析工具的 MTF 指标

作为技术分析工具的 MTF 指标

大多数交易者都同意,当前的市场状态分析从评估更高的图表时间框架开始。该分析向下执行,以缩短执行交易的时间范围。这种分析方法似乎是成功交易的专业方法的强制性部分。在本文中,我们将讨论多时间段指标及其创建方法,并提供MQL5代码示例。除了对优缺点进行综合评价外,我们还将提出一种采用MTF模式的新指标方法。
指标喷发整体特征的计算
指标喷发整体特征的计算

指标喷发整体特征的计算

指标喷发是市场研究中较少涉及的一个领域。这主要是由于时变数据超大数组的处理造成的分析难度。现有的图形分析过于资源密集,并由此触发了一种采用喷发时间序列的俭省算法的发展。本文要论述的,就是如何利用喷发整体特征的研究,来替代可视(直观图像)分析。无论是交易者,还是自动化交易系统的开发者,都会感兴趣。
寻找市场形态的计量经济学方法:自相关,热点图和散点图
寻找市场形态的计量经济学方法:自相关,热点图和散点图

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

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

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

在本文中,我们将继续修改之前在MQL5 Cookbook系列文章中的EA交易,这一次,EA交易将进一步增强,使用指标来检查建仓条件。为了增加点乐趣,我们会在外部参数中创建一个下拉列表,可以从三个交易指标中选择一个。
preview
构建自动运行的 EA(第 02 部分):开始编码

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

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。 在上一篇文章中,我们讨论了任何人在继续创建自动交易的智能系统之前需要了解的第一步。 我们首先研究了概念和结构。
preview
聚类分析(第一部分):精通指标线的斜率

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

聚类分析是人工智能最重要的元素之一。 在本文中,我尝试应用指标斜率的聚类分析来获得阈值,据其判定行情是横盘、亦或跟随趋势。
MetaTrader 4客户端的秘密
MetaTrader 4客户端的秘密

MetaTrader 4客户端的秘密

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

字符串:ASCII 符号表和用途

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

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

分步说明如何使用 DDE 将数据从 Matlab 传输到 MetaTrader 4。
跳空缺口 - 是能够获利的策略还是五五开?
跳空缺口 - 是能够获利的策略还是五五开?

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

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

SQL 与 MQL5: 与 SQLite 数据库集成

本文的目的,是那些打算在他们的项目中使用 SQL 的开发者。它解释了 SQLite 的功能和优势。本文不需要特别的 SQLite 函数知识, 当然对 SQL 的最小理解将是有益的。
用于在通道中进行交易的 Expert Advisor
用于在通道中进行交易的 Expert Advisor

用于在通道中进行交易的 Expert Advisor

Expert Advisor 绘制通道线。 上下通道线作为支撑位和阻力位。 Expert Advisor 标记基准点,并在价格达到或穿过通道线时提供声音通知,并绘制相关标记。 分形形成时,对应的箭头将显示在最后一个条柱上。 突破通道线意味着可能会形成上涨趋势。 Expert Advisor 自始至终都有大量的注释。
图形界面 II: 菜单项元件 (第一章)
图形界面 II: 菜单项元件 (第一章)

图形界面 II: 菜单项元件 (第一章)

在本系列文章的第二部分中, 我们将向您展示界面元件开发的详细过程, 例如主菜单和上下文菜单. 我们还会提到元件的绘制以及为此开发一个特别的类. 我们还将深度讨论程序事件管理, 包括自定义事件的问题.
轻松快捷开发 MetaTrader 程序的函数库 (第 二十七部分) :操控交易请求 - 下挂单
轻松快捷开发 MetaTrader 程序的函数库 (第 二十七部分) :操控交易请求 - 下挂单

轻松快捷开发 MetaTrader 程序的函数库 (第 二十七部分) :操控交易请求 - 下挂单

在本文中,我们将继续开发交易请求,实现下挂单,并剔除检测到的交易类操作缺陷。
轻松快捷开发 MetaTrader 程序的函数库(第十部分):与 MQL4 的兼容性 - 开仓和激活挂单的事件
轻松快捷开发 MetaTrader 程序的函数库(第十部分):与 MQL4 的兼容性 - 开仓和激活挂单的事件

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

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第九部分中,我们开始改进 MQL4 的库类。 在此,我们将继续改进函数库,确保其与 MQL4 的完全兼容。
MetaTrader 4 中的事件
MetaTrader 4 中的事件

MetaTrader 4 中的事件

本文介绍的是使用编程方法追踪MetaTrader 4客户终端中的事件, 它的目标读者是对终端的操作和MQL4编程具有基本知识和技能的人员.
跨平台智能交易程序: 概论
跨平台智能交易程序: 概论

跨平台智能交易程序: 概论

本文详细介绍了一种可以更快捷开发跨平台 EA 的方法。其所倡导的方法是将两个版本共享的功能整合到一个单独的类, 并将不兼容的功能分割到派生类。
preview
在 MQL5 中使用资源

在 MQL5 中使用资源

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