MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
采访李方
采访李方

采访李方

在比赛的第七周,由李方(lf8749) 开发的EA交易创下了一个新的纪录 - 在10笔交易中赚取了超过10万美元。这项成功帮助这个EA交易连续两周位于2011自动交易大赛榜单的前列。我们会在这次采访中试图找出李方成功的秘诀。
交易员的正则表达式
交易员的正则表达式

交易员的正则表达式

正则表达式 (regular expression) 是通过应用特定的规则来处理文本的一种特殊语言, 也简称为 regex 或 regexp。在本文中, 我们将要展示如何利用 RegularExpressions 库的 MQL5 版本来处理交易报告, 以及使用它处理之后的优化结果。
preview
如何从算法交易中赚取$1,000,000?使用MQL5.com服务!

如何从算法交易中赚取$1,000,000?使用MQL5.com服务!

所有交易者都以赚取第一个百万美元为目标来访问市场。如何在没有过多风险和启动预算的情况下实现这个目标?MQL5服务为来自世界各地的开发人员和交易者提供了这样的机会。
Johnpaul77 信号提供者:"我们的策略保持赢利至今已有3年多。所以为什么我们要改变它呢?"
Johnpaul77 信号提供者:"我们的策略保持赢利至今已有3年多。所以为什么我们要改变它呢?"

Johnpaul77 信号提供者:"我们的策略保持赢利至今已有3年多。所以为什么我们要改变它呢?"

我们透露一个小秘密:MQL5.com网站访问者的大部分时间都花在Johnpaul77信号的页面上。它在我们信号等级中遥遥领先,拥有约900个订阅人,真实账户的总资金为570万美元。我们已经采访了该信号的提供者。事实证明,有四人!团队成员之间的职责是如何分工的呢?他们使用的技术工具是什么?为什么他们自称John Paul?最后,来自印度尼西亚的普通玩家是如何成为MQL5.com上顶级信号的提供者?在文章中能找出所有答案。
MQL5 中如何调用指标
MQL5 中如何调用指标

MQL5 中如何调用指标

推出新版本后,MQL 编程语言不仅提供处理那些已变更指标的方法,还提供如何创建指标的新途径。而且,您还具备了使用指标缓冲区的更多灵活性 - 现在,您可以指定目标索引方向,并可完全如您所愿地获取多个指标值。本文讲述的是调用指标的基本方法,以及通过指标缓冲区检索数据。
网格和马丁格尔:它们是什么?如何使用它们?
网格和马丁格尔:它们是什么?如何使用它们?

网格和马丁格尔:它们是什么?如何使用它们?

在本文中,我将试图详细解释什么是网格和马丁格尔,以及它们的共同点。此外,我将试着分析这些策略到底有多可行。这篇文章同时包含了数学和实践部分。
整合基于MQL的EA交易和数据库 (SQL Server, .NET 和 C#)
整合基于MQL的EA交易和数据库 (SQL Server, .NET 和 C#)

整合基于MQL的EA交易和数据库 (SQL Server, .NET 和 C#)

本文描述了如何把操作 Microsoft SQL Server 数据库的功能加到基于 MQL 语言的 EA 交易中,它使用了从一个DLL(动态链接库)中引入函数的方法。这个 DLL 是使用 Microsoft .NET 平台和 C# 语言创建的。本文中使用的方法只要做少许调整,就可以用于使用 MQL4 开发的 EA 交易中。
新MQL4中的离线图表
新MQL4中的离线图表

新MQL4中的离线图表

更新的MQL4具有存储历史数据的新格式,并提供相应的MqlRates结构,便于时间,开盘,最低,最高,收盘和交易量值的存储。多年来,交易者们已经开发出收集和存储他们在HST文件中的数据,用于生成离线图表的MQL4应用。我们可以向您保证,所有先前编译的EX4文件在新的MetaTrader 4程序端将以之前相同的方式工作。
资金管理回顾
资金管理回顾

资金管理回顾

本文探讨交易者在外汇交易中使用各种资金管理系统时遇到的一些问题。此外还提供了在使用不同资金管理 (MM) 方法执行交易时获取的实验数据。
深度神经网络 (第 III 部)。样品选择和降维
深度神经网络 (第 III 部)。样品选择和降维

深度神经网络 (第 III 部)。样品选择和降维

本文是一系列有关深层神经网络的延续文章。在此, 我们将研究选择样本 (消除噪声), 降低输入数据的维度, 并在数据准备期间将数据集合划分为训练/验证/测试集合, 以便训练神经网络。
preview
MetaTrader 5 中的交易事件

MetaTrader 5 中的交易事件

监视交易帐户的当前状态意味着控制未平持仓和订单。在一个交易信号变为成交之前,它应作为一个请求从客户端发送到交易服务器,在服务器中,它将被放入等待处理的订单队列中。交易服务器收到请求时,依据情况将其作为过期请求删除,或进行成交 - 所有这些操作之后都会导致交易事件的发生;并且交易服务器会向客户端通知这些事件。
MQL5 初学者: 图形对象的防破坏保护
MQL5 初学者: 图形对象的防破坏保护

MQL5 初学者: 图形对象的防破坏保护

如果图形控制面板被其他人删除或者修改了, 您的程序应该怎样做呢?在本文中, 我们将演示如何使图表上的对象摆脱"无主"状态, 把它们重新命名也不会失去控制, 以及在应用程序退出时程序化地删除对象.
MеtaTrader 4 和 MATLAB Engine 的交互(虚拟 MATLAB 机)
MеtaTrader 4 和 MATLAB Engine 的交互(虚拟 MATLAB 机)

MеtaTrader 4 和 MATLAB Engine 的交互(虚拟 MATLAB 机)

本文探讨了 DLL 库 - 包装程序的创建,它能使 MetaTrader 4 和 MATLAB 数学桌面包进行交互。 文章对其中的“陷阱”以及克服的方法进行了介绍。 本文面向的读者是使用 Borland C++ Builder 6 编译器且具有 C/C++ 基础的程序员。
跨平台智能交易系统: 停止位
跨平台智能交易系统: 停止位

跨平台智能交易系统: 停止位

本文讨论智能交易系统中停止价位的实现, 以便在两个平台 Metatrader 4 和 Metatrader 5 之间兼容。
MQL4 语言入门。简单词组中的难题。
MQL4 语言入门。简单词组中的难题。

MQL4 语言入门。简单词组中的难题。

这是"MQL4 语言入门"系列的第二篇文章。现在我们将探讨该语言更复杂、更高级的构造,学习新内容,并了解如何将它们应用到日常实践中。您将了解新循环类型"while",新条件类型"switch",运算符 "break"和"continue"。此外,我们将学习编写您自己的函数和使用多维数组。作为餐前甜点,我还准备了一份有关预处理器的说明。
检测超买/超卖区域的方法。 第一部分
检测超买/超卖区域的方法。 第一部分

检测超买/超卖区域的方法。 第一部分

超买/超卖区域是某种市场状态的特征,可由证券价格的疲软变化来区分。 这种负面变化会明显发生在任何尺度趋势发展的最后阶段。 由于交易中的利润价值直接取决于尽可能覆盖更广趋势幅度的能力,因此在任何证券交易中,探测此类区域的准确性是一项关键任务。
本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。
本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。

本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。

本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。
从头开始开发一款智能交易系统
从头开始开发一款智能交易系统

从头开始开发一款智能交易系统

在本文中,我们将讨论如何做到最少编程来开发一款交易机器人。
用 MQL5 创建交易活动控制板
用 MQL5 创建交易活动控制板

用 MQL5 创建交易活动控制板

本文介绍用 MQL5 开发活动控制板所遇到的问题。接口元件通过事件处理机制来管理。此外,还提供控制元件属性的灵活设置选项。活动控制板允许处理仓位,以及设置、修改和删除市场和挂单。
MQL5 向导: 根据计算价位下单, 止损和止盈。标准库扩展
MQL5 向导: 根据计算价位下单, 止损和止盈。标准库扩展

MQL5 向导: 根据计算价位下单, 止损和止盈。标准库扩展

本文描述 MQL5 标准库扩展, 可以使用 MQL5 向导接收来自包含模块的价格, 创建 EA, 下单, 止损和止盈。这种方法不会对模块的应用数量有任何额外的限制,亦不会在联合工作中导致冲突。
使用文本文件保存智能交易程序, 指标和脚本的输入参数
使用文本文件保存智能交易程序, 指标和脚本的输入参数

使用文本文件保存智能交易程序, 指标和脚本的输入参数

本文描述应用文本文件保存动态对象, 数组和其它作为智能交易程序, 指标和脚本属性的变量。这些文件为 MQL 语言的标准工具提供了便利的附加功能。
包含图形用户界面 (GUI) 的 EA 交易: 增加功能 (第二部分)
包含图形用户界面 (GUI) 的 EA 交易: 增加功能 (第二部分)

包含图形用户界面 (GUI) 的 EA 交易: 增加功能 (第二部分)

这是展示开发用于人工交易的多交易品种信号 EA 文章的第二部分,我们已经创建了图形界面,现在是时候把它与程序功能相关联了。
以 delta 指标为例开发股票交易量控制指标
以 delta 指标为例开发股票交易量控制指标

以 delta 指标为例开发股票交易量控制指标

本文讨论基于实际交易量并使用 CopyTicks() 和 CopyTicksRange() 函数开发股票指标的算法。 还描述了开发此类指标的一些细微环节,以及它们在实时和策略测试器中的操作。
组合剥头皮:分析过去的交易来提升未来交易的成效
组合剥头皮:分析过去的交易来提升未来交易的成效

组合剥头皮:分析过去的交易来提升未来交易的成效

本文所提供的技术讲述,旨在提高任何自动交易系统的有效性。 它简要解释了这个思路,以及它的基本原理、可能性和缺点。
探索新功能:MQL5 的自定义指标
探索新功能:MQL5 的自定义指标

探索新功能:MQL5 的自定义指标

在这里,我无法一一列举新终端和新编程语言的所有新的可能性和功能。这数不胜数,而且部分创新点也需要以单独的章节来进行详细探讨。同样,本章节也不会出现以面向对象编程语言写就的代码。这部分内容十分重要,不能简单地附于其他内容之后作为补充优点呈现给开发人员。在本文中,我们将会探讨指标,以及相比 MQL4 指标的结构、图形、类型和编程细节。希望无论是初学者还是经验丰富的开发人员均能从本文中获益,也许部分读者还会有自己新的发现。
创建自定义指标的特性
创建自定义指标的特性

创建自定义指标的特性

在MetaTrader交易系统中创建自定义指标有一些特性.
MetaTrader市场提供14,000个EA交易
MetaTrader市场提供14,000个EA交易

MetaTrader市场提供14,000个EA交易

目前,最大的自动交易应用程序成品商店可提供13,970个产品。它包含4,800个EA、6,500个指标、2,400个实用工具以及其他解决方案。在这种情况下,差不多有一半的应用程序(6,000)可供租用。此外,产品总数的1/4产品(3,800)可以免费下载。
通用EA:自定义策略和辅助交易类(第三章)
通用EA:自定义策略和辅助交易类(第三章)

通用EA:自定义策略和辅助交易类(第三章)

在本文中,我们将继续分析CStrategy交易引擎的算法。这系列文章的第三篇包含如何使用这种方法开发特定的交易策略样例的详细分析。需特别关注辅助算法— 智能交易日志系统以及使用索引方式(Close[1],Open[0]等)访问数据。
preview
SQLite: MQL5 原生 SQL 数据库操纵

SQLite: MQL5 原生 SQL 数据库操纵

交易策略的研发与大数据处理相关联。 现在,您能够基于 SQLite 在 MQL5 中直接运用 SQL 查询来操纵数据库。 该引擎的重要特性在于整个数据库都被安置在用户 PC 上的单个文件中。
跟踪止损和退出市场的模式
跟踪止损和退出市场的模式

跟踪止损和退出市场的模式

订单修改/关闭算法的开发人员面临无止境的痛苦 - 如何比较通过不同方法获得的结果?检查机制众所周知 - 它就是策略测试程序。但如何使 EA 同等地处理建立/关闭订单?本文将介绍一个能够重复建立大量订单的工具,让我们能够维持一个在数学上保持正确的平台,以比较针对跟踪止损和退出市场的不同算法的结果。
交易机器人的原型
交易机器人的原型

交易机器人的原型

本文是对创建算法的原则以及交易系统的元素的总结和系统化。本文讨论EA 交易算法的设计。我们将以CExpertAdvisor类作为示例进行探讨,该类可用于轻松快捷地开发交易系统。
物美价廉的神经网络 - 链接 NeuroPro 与 MetaTrader 5
物美价廉的神经网络 - 链接 NeuroPro 与 MetaTrader 5

物美价廉的神经网络 - 链接 NeuroPro 与 MetaTrader 5

是否用于交易的特殊神经网络程序好似很昂贵和复杂,或是与此相反,太简单?来试试 NeuroPro。它是免费的,并且包含针对业余爱好者的最佳功能集合。这篇文章将告诉您如何结合 MetaTrader 5 来使用它。
图形界面 V: 垂直与水平滚动条 (第一章)
图形界面 V: 垂直与水平滚动条 (第一章)

图形界面 V: 垂直与水平滚动条 (第一章)

我们仍然在讨论在MetaTrader环境下开发创建图形界面库的开发,在本系列第五部分的第一篇文章中,我们将开发用于创建垂直与水平滚动条的类。
MagicNumber: 定单的“魔法“识别符
MagicNumber: 定单的“魔法“识别符

MagicNumber: 定单的“魔法“识别符

文章提及在相同 МТ 4 客户端内几个智能交易相互冲突的问题并且处理。 “教会”智能交易只管理自己的定单并且不修改和平仓 (手动开仓).文章希望能够给初期使用MQL 4终端和 程序的交易者带来益处。
MQL5 Cookbook: 基于三重滤网策略开发交易系统框架
MQL5 Cookbook: 基于三重滤网策略开发交易系统框架

MQL5 Cookbook: 基于三重滤网策略开发交易系统框架

在本文中,我们将基于三重滤网(Triple Screen)策略,使用MQL5开发一个交易系统的框架。EA交易不会从头开始开发,我们会简单地修改前一篇文章, 即"MQL5 Cookbook: 在EA交易中使用指标设置交易条件"中的程序,它已经基本上满足了我们的目标。所以这篇文章也会向您展示如何简单地修改已经完成的程序的模式。
MQL5 编程基础:列表
MQL5 编程基础:列表

MQL5 编程基础:列表

用于交易策略开发的编程语言 MQL 的新版本 [MQL5] 与以前的版本 [MQL4] 相比,提供了更加强大和高效的功能。这些优势实质上是面向对象的编程功能。本文探讨对于复杂自定义数据类型的使用,例如节点和列表。它还在提供了在 MQL5 实战编程中使用列表的例子。
开发基于振荡器的之字折线 (ZigZag) 指标。 执行需求规范的示例
开发基于振荡器的之字折线 (ZigZag) 指标。 执行需求规范的示例

开发基于振荡器的之字折线 (ZigZag) 指标。 执行需求规范的示例

本文根据《订购指标时如何准备需求规范》一文中描述的规范样本之一展示之字折线 (ZigZag) 指标的开发。 该指标利用振荡器所定义的极值来构建。 它能够采用五种振荡器之一: WPR,CCI,Chaikin,RSI 或 Stochastic 振荡器。
外汇交易ABC
外汇交易ABC

外汇交易ABC

金融市场的运作首先是交易业务。正如我们儿时熟知的,按照自己的直觉进行买卖。但是外汇交易却有些不同。本文将解析外汇交易的一些想法和外汇交易程序MQL 4 。
使用单独模块构建智能交易系统
使用单独模块构建智能交易系统

使用单独模块构建智能交易系统

开发指标、智能交易系统和脚本时,开发人员往往需要创建大量与交易策略没有直接关系的各种代码片段。 在本文中,我们研究一种复用早前已创建的模块(例如尾随、过滤和调度代码、亦或其他)来搭建智能交易系统的方法。 我们将看到这种编程方式的益处。
基于交易模块创建多个 EA 交易
基于交易模块创建多个 EA 交易

基于交易模块创建多个 EA 交易

在 MQL5 中使用面向对象方法这一做法,极大简化了多币种/多系统/多时间表 EA 交易的创建过程。不妨想象一下单个 EA 交易采用多个交易策略、使用一切可用工具以及利用所有可能的时间表进行交易的情形!此外,EA 交易还方便使用测试程序进行测试,并且对于所有策略而言,该交易包含了一个或多个资金管理工作系统。