MQL5编程文章

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

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

最近 | 最佳

Linux 上的 MetaTrader 5

Linux 是一种在免费与开源软件开发与发布模式下汇编的类 Unix 计算机操作系统。Linux 系统被广泛应用于智能手机和服务器硬件领域当中。与微软 Windows 系列相比,有许多家庭用户更青睐该系统。本文中,您将学会如何通过 Linux 的众多版本之一 - Ubuntu 使用 MetaTrader 5。

Mac OS 上的 MetaTrader 5

Apple 产品现已越来越深入人心。MetaQuotes Software Corp. 紧跟 IT 行业的脚步,并已发布了针对基于 iOS 设备的专门移动应用 - iPhone 版 MetaTrader 4 和 iPhone 版 MetaTrader 5。MQL5.community 论坛上也有许多话题,人们可以在此找到 Mac OS 操作系统下运行 MetaTrader 5

指标喷发整体特征的计算

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

MQL5 编程基础:时间

本文着重于讲述处理时间的标准 MQL5 函数,以及创建 EA 交易和指标时所需的处理时间的编程技巧和实用函数。更格外注意时间测量的一般性理论。本文面对的主要是 MQL5 编程新手。

摆脱自制的 DLL

如果 MQL5 语言的功能性不足以完成任务,MQL5 程序员不得不诉诸于其他工具。他们必须转向其他编程语言并创建中间 DLL。MQL5 可提供各种数据类型并将它们传递至 API,但遗憾的是,MQL5 无法解决从收到的指针提取数据的相关问题。在本文中,我们将循规蹈矩,说明交换和使用复杂数据类型的简单机制。

Dr. Tradelove 或我如何不再担忧并创建一个自训练 EA 交易

一年前,joo 在他的《遗传算法 - 很简单!》一文中向我们提供了一种用 MQL5 实施遗传算法的工具。现在,利用这个工具,我们将创建一个 EA 交易,该 EA 将依据某些边界条件对其自己的参数进行遗传优化。

依据价格相关性的统计数据过滤信号

在过去的价格行为和其将来的趋势之间是否有任何相关性?为什么今天的价格重复以前的每日运行特征呢?统计能用于预测价格动态吗?有一个答案,并且是积极的答案。如果您有任何疑问,则本文正好为您释疑解惑。我将告诉您如何用 MQL5 为一个交易系统创建一个有效的过滤器,展现价格变动中有趣的图形。

Box-Cox 变换

本文旨在使读者了解 Box-Cox 变换。文章阐述了变换的使用,并给出一些示例以允许使用随机序列和真实报价来评估变换效率。

如何使用 UML 工具开发 EA 交易

本文讨论使用 UML 图形语言创建 EA 交易,该语言用于建立面向对象软件系统的可视化模型。此方法的主要优点是实现了建模过程的可视化。本文以一个例子说明如何使用 Software Ideas Modeler 建立一个 EA 交易的结构和属性的模型。

在 MetaTrader 5 中应用费歇尔变换和逆费歇尔变换进行市场分析

我们知道一个市场周期的概率密度函数 (PDF) 并不会让我们想到高斯分布,而是一种正弦波的概率密度函数,并且大多数指标假定市场周期的概率密度函数为高斯分布,我们需要一种方式来纠正。解决方法是使用费歇尔变换。费歇尔变换将任何波形的概率密度函数转换为近似的高斯分布。本文介绍费歇尔变换和逆费歇尔变换的算法以及它们在交易中的应用。介绍和评估了一个基于逆费歇尔变换的专有交易模块。

MQL5 中艾略特波浪自动分析的实施

艾略特波浪理论是最流行的市场分析方法之一。然而,这个过程非常复杂,从而导致我们使用额外的工具。自动标记器是其中一种工具。本文描述用 MQL5 语言创建艾略特波浪的自动分析程序。

购买交易机器人前如何进行测试

与别处相比,在 MQL5 应用商店购买交易机器人有一个明显的优势 - 其提供的自动化系统,可直接在 MetaTrader 5 终端内接受完整测试。购买前,EA 交易可以、也应该在内置的策略测试程序中,以所有不利的模式谨慎运行,从而对此系统有一个全面的认识。

MQL5 编程基础:字符串

本文会讲解您可以利用 MQL5 中的字符串所做的一切。对此感兴趣的主要应是 MQL5 入门程序员,同时也为经验丰富的开发人员提供了一次总结和系统化其知识的良机。

机器学习:支持向量机如何应用于交易

长时间以来,支持向量机一直被应用于生物信息学和应用数学等领域,以评估复杂数据集以及提取可用于数据分类的有用模式。本文会研究何为支持向量机、它们的工作方式,以及为什么说它们在提取复杂模式时非常有用。之后,我们再研究如何将其应用于市场,并发挥交易建议的潜在作用。本文将提供使用支持向量机学习工具的有效示例,让读者能够试验自己的交易。

MQL5 信号的优势

MetaTrader 5 最近引入了交易信号服务,允许交易者复制任何信号提供者的交易操作。用户可以于其账户选择任何信号、执行订阅并复制所有交易记录。而信号提供者可以设定其订阅价格,并从其订阅者每月收取固定的费用。

通过辅助指标减少内存消耗

如果一个指标使用很多其他指标的值进行计算,则它会消耗很多内存。本文介绍在使用辅助指标时,减少内存消耗的几种方法。保存的内存允许在客户端中增大同时使用的货币对、指标和策略的数量。这样提高了交易投资组合的可靠性。对您的计算机的技术资源进行这样的简单考量就可转换为任您处置的资金资源。

MQL5.community 最活跃成员获颁 iPhones 大奖!

继我们决定奖励最为出色的 MQL5.com 参与者后,我们已经选出了确定每一位参与者对本社区发展所做贡献的关键准则。结果我们选出了下述优胜者,他们在网站上发布的文章数量最多 - investeo (11 篇)和 victorg (10 篇);以及将其代码提交到代码库的 – GODZILLA (340 个程序)、Integer (61 个程序)和 abolk (21 个程序)。

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

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

OpenCL:从朴素到更具深度的编程

本文要重点讲述的是一些优化能力,但至少要对 OpenCL 内核借以执行的基本硬件多少有些了解,才能启动这些能力。获取的数据远非最高值,但即便是这样,也建议充分利用现有资源(由该终端开发人员实施的 OpenCL API 不允许控制对于优化而言很重要的一些参数 - 尤其是工作组的大小),通过主机程序执行获得的增益是非常可观的。

OpenCL:并行世界的桥梁

2012 年 1 月末,从事 MetaTrader 5 开发业务的软件开发公司宣布 MQL5 可向 OpenCL 提供原生支持。本文通过一个示例说明了 MQL5 环境下 OpenCL 的编程基础知识,并列举了几个示例,讲述了为提高运行速度所做的朴素优化。

为什么说 MQL5 应用商店是销售交易策略与技术指标的最佳去处

MQL5.community 应用商店为 EA 交易开发人员提供了一个由成千上万潜在客户构成的、已经成型的市场。这里是销售交易机器人和技术指标的最佳去处!

MetaTrader 5 与 MQL5 提供的无限机遇

本文中,我想举一个例子说明交易者的程序会是什么样子,以及如果从头到始学习 MQL5,9 个月内能达到什么程度。这个例子还会显示出对于一个交易者而言,这样一种程序在占用价格图表最小空间的同时,其功能多样性与信息翔实性如何。而且,我们也会看出,可以通过何种方式,得到颜色多样、清晰明快且对于用户而言直观明确的交易信息面板。以及许许多多的其它功能

如何在"应用商店"中发布产品

在市场中发布您感兴趣的应用程序,这些程序将会马上呈现给全球所有使用MetaTrader 5的交易者。市场是赚取收益的绝好机会,付款将立即转入您的账户。市场还可以帮助您统计分析产品的购买情况和产品演示版本的下载情况。市场上的所有MQL5程序都会针对特定买方自动加密,允许5次或更多次的激活,而无需您的额外保护。

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

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

利用 EX5 库来推动您的项目开发

隐藏 .ex5 文件中类/函数的实施细节,会让您能够同其他开发人员共享自己的专有算法,设立共同项目并在网络中宣传它们。而且,在 MetaQuotes 团队不遗余力地引入直接继承 ex5 库类可能性的同时,我们现在就要付诸实施了。

保证 MQL5 代码的安全:密码保护,钥匙生成器,时间限制,远程许可证及先进的 EA 许可证密钥加密技术

大多数开发人员都需要保证其代码的安全性。本文就会讲到 MQL5 软件的几种不同的保护方式 - 其中涉及到的是赋予 MQL5 脚本、EA 交易和指标许可能力的方法。包括密码保护、钥匙生成器、账户许可、时限评估以及采用 MQL5-RPC 调用的远程保护。

Trademinator 3:交易机器的崛起

在《Dr. Tradelove...》一文中,我们创建了一个可独立优化某预先选定交易系统的 EA 交易。而且,我们还决定创建一个不仅能够优化构成 EA 的交易系统参数、而且可以在多个交易系统中选择最优的 EA 交易。我们来看看,它会带来些什么

使用 EA 交易可视向导创建 EA 交易

MetaTrader 5的EA交易可视向导提供一种高度直观的图形环境,带有一整套允许您在数分钟内完成EA交易设计的预定义交易代码块。EA交易可视向导的单击拖拽法允许您像使用铅笔和纸张一样,创建外汇交易策略与信号的可视化呈现。这些交易图表均通过Molanis的MQL5代码生成器自动进行分析,并将其转换为即用型EA交易。而互动式图形环境则会简化设计过程,且无需编写MQL5代码。

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

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

创建 EA 交易优化的自定义标准

MetaTrader 5 客户端提供了各种机会来优化 EA 交易的参数。除了策略测试程序中包含的优化标准以外,开发人员还有机会创建自己的标准。这样一来,EA 交易的测试和优化便具有了无限的可能性。本文介绍了创建此类标准的实用方法,既适用于复杂标准,也适用于简单标准。

在 MetaTrader 5 中使用自组织特征映射(Kohonen 映射)

自组织特征映射(Kohonen 映射)最有趣的方面是,其在不受监督的情况下就可学会对数据进行分类。就其基本形式而言,该映射能够生成输入数据的一个类似映射(聚类)。可使用 SOM 映射实现高维数据的分类和可视化。在本文中,我们将讨论 Kohonen 映射的几个简单应用。

统计估计

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

使用带 ENCOG 机器学习框架的 MetaTrader 5 指标进行时间序列预测

本文介绍如何将 MetaTrader 5 连接到 ENCOG - 高级神经网络和机器学习框架。它包含一个基于标准技术指标的简单神经网络指标和一个基于神经指标的 EA 交易的描述和实施。本文还附带了所有源代码、编译后的二进制文件、DLL 和一个可仿效的经过训练的网络。

用于预测市场价格的通用回归模型

市场价格是缺乏需求和供应之间的稳定平衡而形成的,反之,又取决于各种各样的经济、政治和心理因素。这些因素的性质以及影响原因所存在的差异,使得直接考虑所有因素非常困难。本文提出一种依据精心设计的回归模型预测市场价格的尝试。

使用非托管导出将 C# 代码运用到 MQL5

在本文中,我介绍了在 MQL5 代码和托管 C# 代码之间进行互动的不同方法。我还提供了几个例子来说明如何针对 C# 封送 MQL5 结构以及如何在 MQL5 脚本中调用导出的 DLL 函数。我相信提供的例子能用作以后研究用托管代码编写 DLL 的基础。本文也为 MetaTrader 使用已经在 C# 中实施了的多个库打开了大门。

随机游走和趋势指标

随机游走和实际的市场数据看起来非常类似,但是它有一些重要的特征。在本文中,我们将通过用掷硬币游戏进行模拟,讨论随机游走的特性。为了研究数据的特性,开发了趋势指标。

HTML 中的图表

现今很难找到一台没有安装 Web 浏览器的计算机。长久一来,浏览器一直在进化和改进。本文讨论依据从 MetaTrader 5 客户端获得的信息,以简单和安全的方式创建图表,以在浏览器显示它们。

在 MetaTrader 5 中实施多货币模式

长期以来,人们对多货币分析和多货币交易存在极大的兴趣。随着 MetaTrader 5 和 MQL5 编程语言的公开发行,实施完备的多货币体系成为可能。在本文中,针对多个交易品种,我们提出一种方法来分析和处理所有到来的价格变动。让我们将 USDx 美元指数的多货币 RSI 指标作为示例。

MQL5 中的电子表格

本文介绍在其第一个维度中包含不同类型的数据的动态二维数组的类。以表格的形式存储数据可方便地解决与安排、存储和操作不同类型的绑定信息相关的各种问题。实施表格处理功能性的类的源代码已附于本文。

小型趋势指标、中型趋势指标和主要趋势指标

本文基于 James Hyerczyk 所著《形态-价格-时间:甘氏理论在交易系统里的运用》一书中的某些理念,旨在探讨以指标和 《EA 交易》;形式进行自动化交易和分析的可能性。本文不敢自称内容详尽,在此我们只是探讨模型 - 甘氏理论的第一部分。