MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
基于 .Net 框架和 C# 开发图形界面(第二部分):另外的图形元素
基于 .Net 框架和 C# 开发图形界面(第二部分):另外的图形元素

基于 .Net 框架和 C# 开发图形界面(第二部分):另外的图形元素

本文是之前发表的“基于.NET框架和C为EA交易和指标开发图形界面”的后续部分,它引入了新的图形元素来创建图形界面。
轻松快捷开发 MetaTrader 程序的函数库 (第 三十部分) :延后交易请求 - 管理请求对象
轻松快捷开发 MetaTrader 程序的函数库 (第 三十部分) :延后交易请求 - 管理请求对象

轻松快捷开发 MetaTrader 程序的函数库 (第 三十部分) :延后交易请求 - 管理请求对象

在上一篇文章中,我们遵照函数库对象的一般概念创建了相对应的延后请求对象类。 本次,我们将着手允许管理延后请求对象的类。
图形界面 VII: 表格控件 (第一章)
图形界面 VII: 表格控件 (第一章)

图形界面 VII: 表格控件 (第一章)

MetaTrader 图形界面系列的第七部分处理的是三种表格类型:文本标签型,编辑框型,以及绘制型。另一种重要并且常用的控件是页面,它使您可以显示/隐藏成组的其他控件并且在您的MQL应用程序中开发有效利用空间的界面。
轻松快捷开发 MetaTrader 程序的函数库(第五部分):交易事件集合类,向程序发送事件
轻松快捷开发 MetaTrader 程序的函数库(第五部分):交易事件集合类,向程序发送事件

轻松快捷开发 MetaTrader 程序的函数库(第五部分):交易事件集合类,向程序发送事件

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台上的程序开发。 在第四部分中,我们测试了在帐户上跟踪交易事件。 在本文中,我们将开发交易事件类,并将它们置于事件集合当中。 从那里,它们将被发送到 Engine (引擎)库的基准对象,并控制程序图表。
用于轻松快速开发 MetaTrader 程序的函数库(第三部分)。 市价订单和仓位的集合,搜索和排序
用于轻松快速开发 MetaTrader 程序的函数库(第三部分)。 市价订单和仓位的集合,搜索和排序

用于轻松快速开发 MetaTrader 程序的函数库(第三部分)。 市价订单和仓位的集合,搜索和排序

在第一部分中,我们曾创建了一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 再者,我们实现了历史订单和成交的集合。 我们的下一步是创建一个类,用来针对订单、成交和仓位的集合进行选择和排序。 我们将实现名为引擎(Engine)的基准函数库对象,并向函数库中添加市价订单和仓位的集合。
学习如何设计不同的移动平均线系统
学习如何设计不同的移动平均线系统

学习如何设计不同的移动平均线系统

有众多策略可依据任何规则过滤生成的信号,甚至可采用本文自身所讨论的移动平均值。 因此,本文的目的是与大家分享一些移动平均线策略,以及如何设计一款算法交易系统。
使用标准库类和Google Chart API 创建信息板
使用标准库类和Google Chart API 创建信息板

使用标准库类和Google Chart API 创建信息板

MQL5 编程语言主要针对自动化交易系统的创建以及复杂的技术分析工具。除此之外,它还允许我们创建有趣的信息系统以跟踪市场情况,并实现了与交易者的回路连接。本文会讲述 MQL5标准库的各个组件,并向大家展示它们为达各自目的的实际应用示例。还会呈示一个使用 Google Chart API 创建图表的例子。
MQL5 代码自动生成文档
MQL5 代码自动生成文档

MQL5 代码自动生成文档

大多数 Java 代码编写者熟悉可通过 JavaDocs 创建的自动生成文档。其思路是以一种半结构化的方式向代码添加注释,然后可以将这些注释提取到易于导航的帮助文件。C++ 世界也有若干文档自动生成器,其中微软的 SandCastle 和 Doxygen 是两款领先产品。本文说明使用 Doxygen,从 MQL5 代码的结构化注释创建 HTML 帮助文件。试验非常成功,我认为 Doxygen 从 MQL5 代码生成的帮助文档会增加很多价值。
交易之间的停顿
交易之间的停顿

交易之间的停顿

文章解决的问题:当一定数量的智能交易在MТ 4客户端运行时,如何很好的安排交易之间的停顿。 在终端和MQL 4程序中用户需要的基本技能。
ZUP - 派斯温托通用锯齿形调整浪模式。第 1 部分
ZUP - 派斯温托通用锯齿形调整浪模式。第 1 部分

ZUP - 派斯温托通用锯齿形调整浪模式。第 1 部分

本文简要描述了指标 ZUP(派斯温托通用锯齿形调整浪模式)的基本原理。文章还描述了 ZUP 中内置的各个锯齿形调整浪指标。
图形界面 X: 多行文本框中的字词回卷算法 (集成编译 12)
图形界面 X: 多行文本框中的字词回卷算法 (集成编译 12)

图形界面 X: 多行文本框中的字词回卷算法 (集成编译 12)

我们继续开发多行文本框控件。这次我们的任务是实现一个自动的文字回卷, 以防发生文本框宽度溢出, 或者如果出现机会, 将文本逆卷到上一行。
preview
神经网络在交易中的实际应用 Python (第一部分)

神经网络在交易中的实际应用 Python (第一部分)

在本文中,我们将分析一个基于Python的深层神经网络编程的交易系统的分步实现。这将使用谷歌开发的 TensorFlow 机器学习库执行。我们还将使用 Keras 库来描述神经网络。
如何评估智能交易测试结果
如何评估智能交易测试结果

如何评估智能交易测试结果

文章在测试报告中给出了数据的计算公式和定单计算。
在 MQL5 中使用对象指针
在 MQL5 中使用对象指针

在 MQL5 中使用对象指针

默认情况下,MQL5 中的所有对象都通过引用传递,但还有使用对象指针的可能性。然而,由于对象可能没有初始化,我们必须执行指针检查。在这种情况下,MQL5程序可能会因为关键性错误而终止并卸载。自动创建的对象不会引起此类错误,因此就此意义而言它们十分安全。通过本文,我们将理解对象引用和对象指针之间的差异,并思考如何编写使用指针的安全代码。
Strategy Tester:交易策略测试中模式化的方式
Strategy Tester:交易策略测试中模式化的方式

Strategy Tester:交易策略测试中模式化的方式

技术分析的很多程序允许在历史数据上测试交易策略。在大多数情况下, 测试被连接到已经完成的数据上,在价格柱内这些数据不带有任何试图模式化的趋势。测试会快速进行,但是不精确。
对冲 Expert Advisor 编码基础
对冲 Expert Advisor 编码基础

对冲 Expert Advisor 编码基础

本文给出了对冲 Expert Advisor 的示例。作者将选择自己喜欢的对冲对,即 EURJPY 与 GBPJPY。此对冲对的运作方式始终相同,能较为方便地设置对冲订单类型。
MQL5 Cookbook: 把交易历史写入文件以及为每个交易品种在Excel中创建余额图表
MQL5 Cookbook: 把交易历史写入文件以及为每个交易品种在Excel中创建余额图表

MQL5 Cookbook: 把交易历史写入文件以及为每个交易品种在Excel中创建余额图表

当在各种论坛做沟通时,我经常使用我自己的测试结果作为例子,这些结果显示为Microsoft Excel中的图表截图。很多时候都有人问我这些图表是怎样创建的,最终,我现在有时间在本文中解释其中的全部了。
AutoElliottWaveMaker - 用于艾略特波浪半自动分析的 MetaTrader 5 工具
AutoElliottWaveMaker - 用于艾略特波浪半自动分析的 MetaTrader 5 工具

AutoElliottWaveMaker - 用于艾略特波浪半自动分析的 MetaTrader 5 工具

本文要讲述的是 AutoElliottWaveMaker - MetaTrader 5 中针对艾略特波浪分析的首次开发,体现出手动与自动波浪标签的合二为一。该波浪分析工具完全在 MQL5 中编写,不包含任何外部 dll 库。这也是可以(且应)利用 MQL5 开发成熟有趣程序的又一证据。
液态图表
液态图表

液态图表

您是否希望在小时图表里看到本小时内第二和第十五分钟开盘的柱线?每分钟开盘价都在变化的重绘图表看上去会像什么样?依据这样的图表进行交易有何优势?您将在本文当中找到这些答案。
专家系统"解说员". 在MQL4程序中嵌入指标的实际应用
专家系统"解说员". 在MQL4程序中嵌入指标的实际应用

专家系统"解说员". 在MQL4程序中嵌入指标的实际应用

本文描述了在MQL4编程中技术指标的使用.
自适应算法(第三部分): 放弃优化
自适应算法(第三部分): 放弃优化

自适应算法(第三部分): 放弃优化

如果采用基于历史数据的优化方法来选择参数,就不可能得到真正稳定的算法。一个稳定的算法应该知道在任何时候操作任何交易工具时需要哪些参数。它不应该预测或猜测,它应该确定知道。
开发和分析交易系统的最佳方法
开发和分析交易系统的最佳方法

开发和分析交易系统的最佳方法

在这篇文章中,我将展示在选择一个系统或信号来投资你的资金时所使用的标准,以及描述开发交易系统的最佳方法,并强调这个问题在外汇交易中的重要性。
MetaTrader 5 中的自定义前瞻优化
MetaTrader 5 中的自定义前瞻优化

MetaTrader 5 中的自定义前瞻优化

本文介绍使用 MQL 中实现的内置测试器和辅助函数库来准确模拟前瞻优化的方法。
根据指定的分布法则为自定义品种的时间序列建模
根据指定的分布法则为自定义品种的时间序列建模

根据指定的分布法则为自定义品种的时间序列建模

本文概述终端创建和运用自定义品种的能力,提供了使用自定义品种模拟交易历史、趋势和各种图表形态的选项。
一分钟数据模式质量等级
一分钟数据模式质量等级

一分钟数据模式质量等级

一分钟数据模式质量等级
使用指数平滑法进行时间序列预测(续)
使用指数平滑法进行时间序列预测(续)

使用指数平滑法进行时间序列预测(续)

本文力求升级此前创建的指标,并简要讲述了利用自助法与分位数评估预测置信区间的一种方法。如此一来,我们便会获得将用于评估预测准确性的预测指标和脚本。
统计估计
统计估计

统计估计

对某个序列的统计参数进行估计非常重要,因为大多数数学模型和方法均基于不同的假设。例如,正态分布规律或离差值(或其他参数)就是这样。因此,在分析和预测时间序列时,我们需要一个简单方便的工具,用于快速清晰地估计主要统计参数。本文简要说明了一个随机序列的最简单统计参数,以及其可视分析的几种方法。本文还说明了如何在 MQL5 中实现这些方法,以及使用 Gnuplot 应用程序对计算结果进行可视化的方法。
用于在以仓位为中心的 MetaTrader 5 环境中跟踪订单的虚拟订单管理程序
用于在以仓位为中心的 MetaTrader 5 环境中跟踪订单的虚拟订单管理程序

用于在以仓位为中心的 MetaTrader 5 环境中跟踪订单的虚拟订单管理程序

可以将此类库添加到 MetaTrader 5 EA 交易程序,从而能够通过一种与 MetaTrader 4 非常类似的以订单为中心的方法编写程序(与基于仓位的 MetaTrader 5 相比较)。它通过在 MetaTrader 5 客户端跟踪虚拟订单,同时为每个仓位维护一个保护性经纪人止损,从而提供灾难防护来实现这一目的。
图形界面 VIII: 树形视图控件 (第二章)
图形界面 VIII: 树形视图控件 (第二章)

图形界面 VIII: 树形视图控件 (第二章)

图形界面第八部分前面的章节中介绍了静态与下拉日历元件,第二章将集中介绍一个同样复杂的元件 — 树形视图(tree view), 它在每个用于创建图形界面的完整开发库中都会包含。本文中实现的树形视图包含了多种灵活的设置和模式,使得这个控件元件易于调整以满足您的需求。
通过 WINAPI 进行文件操作
通过 WINAPI 进行文件操作

通过 WINAPI 进行文件操作

MQL4 环境是基于安全“沙盒”概念:通过语言读取和保存文件的功能仅限于部分预定义的文件夹。这将保护 MetaTrader 4 的用户避免 HDD 上的重要数据受到破坏的潜在危险。但是,离开该安全区域有时也是必要的。本文专门介绍如何能够简单而正确地进行该操作。
谬误,第 1 部分:资金管理排第二位,并不是很重要
谬误,第 1 部分:资金管理排第二位,并不是很重要

谬误,第 1 部分:资金管理排第二位,并不是很重要

以 0.1 手为基础的第一次策略测试结果展示正在变成论坛上的事实标准。从专业人士那里获得“还不错”的评价后,新手会看到“0.1”测试带来了相当保守的结果,并决定引入一个更积极进取的资金管理方式,以为正数学期望值会自动提供正面的成果。让我们看看会达成什么结果。此外,我们将试着构建多个极具指导意义的人工余额图。
社交交易。 可盈利的信号能否变得更好?
社交交易。 可盈利的信号能否变得更好?

社交交易。 可盈利的信号能否变得更好?

大多数订阅者是通过优美的余额曲线和订阅用户数量来选择交易信号。 这就是为什么如今许多提供者只在乎漂亮的统计数据而非信号的真实质量,经常玩弄手数把戏并人为地将余额曲线整理到理想的外观。 本文论述了可靠性准则,以及提供者可用于提高其信号质量的方法。 展现特定信号历史的示例性分析,以及有助于提供者提升盈利并降低风险的方法。
MT4TerminalSync - MetaTrader 4 终端的同步系统
MT4TerminalSync - MetaTrader 4 终端的同步系统

MT4TerminalSync - MetaTrader 4 终端的同步系统

本文围绕"使用操作系统功能和其他程序开发方法扩大 MQL4 程序功能"这一主题展开。本文将介绍一个程序系统示例,该程序系统将基于单一源模板实施多个终端副本同步的任务。
在 MQL5 中使用 WinInet。第二部分:POST 请求和文件
在 MQL5 中使用 WinInet。第二部分:POST 请求和文件

在 MQL5 中使用 WinInet。第二部分:POST 请求和文件

在本文中,我们将继续学习使用 HTTP 请求处理互联网和与服务器进行信息交换的原则。它介绍了 CMqlNet 类的新函数、从表单发送信息的方法、使用 POST 请求发送文件的方法以及使用 Cookie 在您登录网站时进行身份验证。
分形线的构造
分形线的构造

分形线的构造

本文讲述了使用趋势线和分形来构造各种类型的分形线.
preview
交易中的资金管理

交易中的资金管理

我们将研究构建资金管理系统的几种新方法,并定义其主要功能。 今天,有相当多的资金管理策略可以满足各种口味。 我们将尝试根据不同的数学增长模型考察几种管理资金的方法。
四个时间范围的多个指标信号的同步显示
四个时间范围的多个指标信号的同步显示

四个时间范围的多个指标信号的同步显示

手动交易时,你必须留意多个指标的值。这跟机械化交易略有不同。如果你有两个或三个指标,且已选择了一个时间范围进行交易,则任务并不复杂。但如果你有五个或六个指标,且交易策略要求考虑多个时间范围上的信号,你将如何做呢?
利用MQL进行MQL解析
利用MQL进行MQL解析

利用MQL进行MQL解析

本文描述了用于解析基于MQL的源代码的预处理器、扫描器和解析器,MQL 的实现在附件中。
逐步说明如何通过 CSV 文件组织 MetaTrader 4 与 Matlab 之间的数据数组交换。
逐步说明如何通过 CSV 文件组织 MetaTrader 4 与 Matlab 之间的数据数组交换。

逐步说明如何通过 CSV 文件组织 MetaTrader 4 与 Matlab 之间的数据数组交换。

逐步说明如何通过 CSV 文件组织 MetaTrader 4 与 Matlab 之间的数据数组交换。
使用分形绘制水平突破位
使用分形绘制水平突破位

使用分形绘制水平突破位

本文描述了使用上/下分形显示支撑/阻力位的指标创建。