MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
构建自动运行的 EA(第 03 部分):新函数

构建自动运行的 EA(第 03 部分):新函数

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。 在上一篇文章中,我们已启动开发一个在自动化 EA 中使用的订单系统。 然而,我们只创建了一个必要的函数。
使用 WCF 服务将报价从 MetaTrader 5 导出至 .NET 应用程序的方法
使用 WCF 服务将报价从 MetaTrader 5 导出至 .NET 应用程序的方法

使用 WCF 服务将报价从 MetaTrader 5 导出至 .NET 应用程序的方法

想要从 MetaTrader 5 导出报价到您自己的应用程序?MQL5-DLL 组合可给出这样的解决方案!本文介绍将报价从 MetaTrader 5 导出至以 .NET 编写的应用程序的方法。对我而言,使用该平台实施报价的导出要更为有趣、合理和容易。遗憾的是版本 5 仍然不支持 .NET,因此和以往一样,我们将使用 .NET 支持的 win32 dll 作为中间层。
MQL5 Cookbook: 使用不限数量的参数开发多币种EA交易
MQL5 Cookbook: 使用不限数量的参数开发多币种EA交易

MQL5 Cookbook: 使用不限数量的参数开发多币种EA交易

在本文中,我们将创建一种模式,它会使用一系列参数为交易系统作优化,而且允许不加数量限制的参数。交易品种的列表将在标准文本文件(*.txt)中创建,每个交易品种的输入参数也将存储于文件中。使用这种方法,我们将能够免除终端中对EA输入参数个数的限制。
视频:如何为简单自动交易设置 MetaTrader 5 和 MQL5
视频:如何为简单自动交易设置 MetaTrader 5 和 MQL5

视频:如何为简单自动交易设置 MetaTrader 5 和 MQL5

在这个小视频课程中,您将学习如何下载、安装和设置 MetaTrader 5,并实现自动交易。 您还将学习如何调整图表设置,和自动交易选项。 您将完成第一次回溯测试,在本课程结束时,您就会知道如何导入一个可以全天候自动交易的智能交易系统,而无需呆坐在屏幕前。
针对交易的组合数学和概率论(第二部分):通用分形
针对交易的组合数学和概率论(第二部分):通用分形

针对交易的组合数学和概率论(第二部分):通用分形

在本文中,我们将继续研究分形,并会特别留意总结所有材料。 为此,我将尝试把所有早期开发归纳为一个紧凑的形式,这对于交易中的实际应用来说将是方便和易于理解的。
MQL5.com 自由职业: 开发者的收入来源 (信息图)
MQL5.com 自由职业: 开发者的收入来源 (信息图)

MQL5.com 自由职业: 开发者的收入来源 (信息图)

值此 MQL5 自由职业服务的第四个生日, 我们准备了一幅信息图来展示其自创生来的整体服务成果。让数据本身说话: 迄今已总计执行了超过 10000 笔订单, 价值约 $600,000, 有 3000 余客户和 300 余开发者已经在使用此服务。
自组织特征映射 (Kohonen 映射) - 再访主题
自组织特征映射 (Kohonen 映射) - 再访主题

自组织特征映射 (Kohonen 映射) - 再访主题

本文描述利用 Kohonen 映射进行操作的技术。本主题对那些在他们的项目中运用 Kohonen 映射进行市场研究时遇到困难的 MQL4/MQL5 初级程序员和经验丰富的程序员都有益处。
preview
了解使用MQL5下单

了解使用MQL5下单

在创建任何交易系统时,我们都需要有效地处理一项任务。这项任务是下单,或者让创建的交易系统自动处理订单,因为它在任何交易系统中都至关重要。因此,您将在本文中找到您需要了解的关于这项任务的大多数主题,以有效地创建您的交易系统。
轻松快捷开发 MetaTrader 程序的函数库(第 三十三部分):延后交易请求 - 在特定条件下平仓
轻松快捷开发 MetaTrader 程序的函数库(第 三十三部分):延后交易请求 - 在特定条件下平仓

轻松快捷开发 MetaTrader 程序的函数库(第 三十三部分):延后交易请求 - 在特定条件下平仓

我们继续开发利用延后请求进行交易的函数库功能。 我们已实现了发送开仓和下挂单的条件交易请求。 在本文中,我们将实现条件平仓 – 全部、部分和由逆向仓位平仓。
构建新兴的社交技术, 第一部分: 发布您的 MetaTrader 5 信号
构建新兴的社交技术, 第一部分: 发布您的 MetaTrader 5 信号

构建新兴的社交技术, 第一部分: 发布您的 MetaTrader 5 信号

今天我们将学习如何将 MetaTrader 5 终端与 Twitter(推特) 链接,以便发布您的 EA 交易信号。我们将用 PHP 开发一个基于 REST web 服务的社交决策支持系统。此想法来自于自动交易的特定概念,称为电脑辅助交易。我们希望通过人工交易者的认知能力来过滤这些交易信号,否则 EA 会自动在市场上下单。
preview
一张图表上的多个指标(第 06 部分):将 MetaTrader 5 转变为 RAD 系统(II)

一张图表上的多个指标(第 06 部分):将 MetaTrader 5 转变为 RAD 系统(II)

在我的前一篇文章中,我向您展示了如何利用 MetaTrader 5 对象创建图表交易,从而将平台转变为 RAD 系统。 该系统运行良好,可以肯定的是,许多读者也许已经考虑过创建一个函数库,令其能够在拟议的系统中扩展功能。 有基于此,就有可能开发一款更直观的智能交易系统,其界面更友好、更易于使用。
preview
形态搜索的暴力强推方式(第四部分):最小功能

形态搜索的暴力强推方式(第四部分):最小功能

本文基于上一篇文章中设定的目标,提出了一个改进的暴力强推版本。 我将尝试尽可能广泛地涵盖这个主题,并以该方法获取的设置来运行智能交易系统。 本文还附有一个新的程序版本。
MQL4 作为交易者的工具, 还是高级技术分析
MQL4 作为交易者的工具, 还是高级技术分析

MQL4 作为交易者的工具, 还是高级技术分析

交易首先是对可能性的计算. 有一句谚语, 懒惰是进步的引擎, 这也揭示了指标以及交易系统被开发出来的原因. 绝大多数交易新手学习的都是"成型"的交易理论. 但是, 如果够幸运的话, 还有更多的没有被发现的市场奥秘和用于分析价格走向的工具, 例如那些还没有实现的技术指标或者数学和统计学工具包. 非常感谢比尔.威廉姆斯对市场运行理论的贡献. 虽然,也许现在休息是太早了些.
MQL5 中对象创建和析构的顺序
MQL5 中对象创建和析构的顺序

MQL5 中对象创建和析构的顺序

每个对象,无论是自定义对象、动态数组还是对象数组,都以其特定的方式在 MQL5 程序中创建和删除。某些对象往往是其他对象的一部分,在取消初始化时对象删除的顺序便尤为重要。本文提供了涵盖对象使用机制的一些示例。
Lite_EXPERT2.mqh: Expert Advisor 实现示例
Lite_EXPERT2.mqh: Expert Advisor 实现示例

Lite_EXPERT2.mqh: Expert Advisor 实现示例

在本文中,笔者继续通过使用实际 Expert Advisor 实现示例让读者熟悉 Lite_EXPERT2.mqh 函数。 本文涉及有关使用浮动挂单和挂单的理念(订单视交易不同而动态变化,且基于平均真实波动范围 (ATR) 指标值进行确定)。
通过有用的技术组合让您的 MQL5 客户惊叹!
通过有用的技术组合让您的 MQL5 客户惊叹!

通过有用的技术组合让您的 MQL5 客户惊叹!

得益于 MQL5 为编程人员提供的一套非常完整的函数集和面向对象 API,他们可以在 MetaTrader 环境中大展身手。然而,Web 技术如今是用途极为广泛的工具,可以在一些情形中提供帮助:当您需要完成一些非常具体的工作;希望用一些不同的东西给您的客户留下深刻印象;或仅仅是您没有足够的时间来掌握 MT5 标准库的特定部分。今天的练习引导您完成有关如何在创建令人惊叹的技术组合的同时,管理您的开发时间的实例。
技术指标和数字滤波器
技术指标和数字滤波器

技术指标和数字滤波器

在本文中,技术指标被视为数字滤波器。本文对数字滤波器的操作原理和基本特性进行了说明。同时,本文还涉及在 MetaTrader 5 终端中接收滤波器内核以及与建立一个频谱分析程序一文中提出的现成频谱分析程序集成等实用方法。本文将典型数字滤波器的脉冲和频谱特性用作示例。
MQL 中的对象方法
MQL 中的对象方法

MQL 中的对象方法

本文对于所有在 MQL 环境下编程的人员,无论是初学者还是专业人士,将会非常有趣。而且 MQL 环境下的开发人员和理论家阅读此文也会相当有帮助,因为这里所分析的问题可能会成为将来实施 MetaTrader 和 MQL 的项目。
一个用于通过 Google Chart API 构建图表的库
一个用于通过 Google Chart API 构建图表的库

一个用于通过 Google Chart API 构建图表的库

构建各种类型的图表是分析市场情形及测试交易系统的一个基本部分。通常,为了构建一个精致的图表,必须将数据输出到一个文件,然后在 MS Excel 等应用程序中使用该文件。这样并不是非常方便,并且使我们无法动态更新数据。Google Charts API 通过向服务器发送特别请求,提供了在线创建图表的方式。在本文中,我们将尝试让创建此类请求和从 Google 服务器获得图表的过程实现自动化。
使用 OpenCL 测试烛形形态
使用 OpenCL 测试烛形形态

使用 OpenCL 测试烛形形态

这篇文章描述了在"一分钟OHLC"模式下实现 OpenCL 烛形形态测试器的算法。我们还将把它的速度与内建的策略测试器在快速和慢速优化模式下做比较。
以 Doji(十字星)为例阐述改进的烛条形态识别
以 Doji(十字星)为例阐述改进的烛条形态识别

以 Doji(十字星)为例阐述改进的烛条形态识别

如何找到比平常更多的烛条形态? 简单的烛条形态背后,还有一个严重的瑕疵,可经由现代自动交易化工具所提供的强大能力来抵消。
图形界面 XI: 重构函数库代码 (集成编译 14.1)
图形界面 XI: 重构函数库代码 (集成编译 14.1)

图形界面 XI: 重构函数库代码 (集成编译 14.1)

随着函数库的增长, 其代码必须重新优化以便减少其大小。本文中描述的函数库版本已变得更加面向对象。这令代码更容易学习。最新变化的详细描述将令读者能够根据自己的需求独立开发函数库。
货币联动的分形分析
货币联动的分形分析

货币联动的分形分析

货币报价的独立性如何? 它们的走势是协同呢?还是一种货币的走势跟其他货币的走势截然无关? 本文描述了如何使用非线性动力学和分形几何方法解决该问题。
MQL5 编程基础: 终端的全局变量
MQL5 编程基础: 终端的全局变量

MQL5 编程基础: 终端的全局变量

本文重点介绍了面向对象的 MQL5 语言,用于创建对象,并与终端的全局变量协同工作。作为一个实际的例子,我考虑这样一种情况,以全局变量作为控制点实现程序分段。
巨大程序中定单的考虑
巨大程序中定单的考虑

巨大程序中定单的考虑

探讨在巨大程序和复杂程序定单考虑的基本原则。
DoEasy 函数库中的时间序列(第四十二部分):抽象指标缓冲区对象类
DoEasy 函数库中的时间序列(第四十二部分):抽象指标缓冲区对象类

DoEasy 函数库中的时间序列(第四十二部分):抽象指标缓冲区对象类

在本文中,我们开始为 DoEasy 库开发指标缓冲区类。 我们将创建抽象缓冲区的基类,该基类将作为开发不同类型指标缓冲区的基础。
preview
如何利用 MQL5 创建自定义唐奇安(Donchian)通道指标

如何利用 MQL5 创建自定义唐奇安(Donchian)通道指标

有许多技术工具可用于可视化围绕价格的通道,其中一种工具是唐奇安(Donchian)通道指标。 在本文中,我们将学习如何创建唐奇安(Donchian)通道指标,以及如何在 EA 中将其作为自定义指标进行交易。
如何向 MetaTrader 5 平台添加新的用户界面语言
如何向 MetaTrader 5 平台添加新的用户界面语言

如何向 MetaTrader 5 平台添加新的用户界面语言

MetaTrader 5 平台的用户界面被翻译成几种语言。如果您的母语不在支持的语言之中,请不用担心。您可以使用的特别的 MetaTrader 5 MultiLanguage Pack 工具轻松地完成翻译,这个工具由 MetaQuotes Software Corp. 提供,对所有用户都是免费的。在本文中,我们将介绍几个如何向 MetaTrader 5 平台添加新的用户界面语言的例子。
preview
手工制图表和交易工具箱(第三部分)。 优化和全新工具

手工制图表和交易工具箱(第三部分)。 优化和全新工具

在本文中,我们将深入开发利用键盘快捷键在图表上绘制图形对象的设想。 全新工具已被加到函数库当中了,包括一条贯穿任意顶点绘制的直线,以及一组能够评估逆转时间和价位的矩形。 此外,本文还展示了优化代码从而提高性能的可能性。 实现示例已经重写,能够使用其它交易程序的快捷方式。 所需的代码知识水平:略高于初学者。
图形界面 II: 分隔线和上下文菜单元件 (第二章)
图形界面 II: 分隔线和上下文菜单元件 (第二章)

图形界面 II: 分隔线和上下文菜单元件 (第二章)

在本文中, 我们将会创建分隔线元件. 它可以用作独立的界面元件, 也可以作为许多其他元件的一部分. 之后, 我们就拥有了开发上下文菜单的全部所需, 在本文中会加以详细介绍. 另外, 我们还会对类作必要的扩充, 即用于保存应用程序中图形界面所有元件的指针库.
preview
在一张图表上的多个指标(第 01 部分):理解概念

在一张图表上的多个指标(第 01 部分):理解概念

今天,我们将学习如何在一张图表上同时添加多个指标,但又不占用单独的区域。 众多交易员感觉,如果他们一次性能监控多个指标(例如,RSI、STOCASTIC、MACD、ADX 和其它一些指标),或者在某些情况下甚至能监控构成指数的不同资产,则会得到更强信心。
FANN2MQL 神经网络教学
FANN2MQL 神经网络教学

FANN2MQL 神经网络教学

本文将利用一个简单的例子为你演示如何通过 FANN2MQL 来使用神经网络:教给神经网络一个简单的模式,然后测试它是否能够识别从未见过的模式。
学习如何基于 ADX 设计交易系统
学习如何基于 ADX 设计交易系统

学习如何基于 ADX 设计交易系统

在本文中,我们将继续有关基于最流行指标设计交易系统的系列文章,这次我们将讨论平均方向指数(ADX)指标。 我们将详细学习该指标,从而能够更好地理解它,并将学习如何在简单策略里运用它。 通过深入学习,我们可以获得更多的认知,可以更好地运用它。
用 MQL5 表示统计概率分布
用 MQL5 表示统计概率分布

用 MQL5 表示统计概率分布

本文介绍了在应用统计中使用的随机变量的概率分布(正态分布、对数正态分布、二项分布、逻辑分布、指数分布、柯西分配、学生 t 分布、拉普拉斯分布、泊松分布、双曲线正割分布、贝塔分布和伽玛分布)。它还介绍用于处理这些分布的类。
Lite_EXPERT2.mqh: Expert Advisor 开发人员的功能套件
Lite_EXPERT2.mqh: Expert Advisor 开发人员的功能套件

Lite_EXPERT2.mqh: Expert Advisor 开发人员的功能套件

本文是一系列“基于常见交易系统的 Expert Advisor 和交易机器人优化的惊人作用”文章的继续展开。 本文让读者熟悉 Lite_EXPERT2.mqh 文件的一个更为通用的函数库。
MQL5 Cookbook: 在MetaTrader 5策略测试器中分析仓位属性
MQL5 Cookbook: 在MetaTrader 5策略测试器中分析仓位属性

MQL5 Cookbook: 在MetaTrader 5策略测试器中分析仓位属性

我们将会展示一个来自前一篇文章,"MQL5 Cookbook: 自定义信息面板上的仓位属性"的修改版的EA交易。我们将会解决一些问题,包括从柱中获得数据,在当前交易品种中检查新柱事件,在文件中包含标准库中的交易类,创建一个函数来搜索交易信号,还有一个执行交易操作的函数以及在OnTrade()函数中判断交易事件。
终端 MetaTrader 4 中的测试程序:应该了解
终端 MetaTrader 4 中的测试程序:应该了解

终端 MetaTrader 4 中的测试程序:应该了解

终端 MetaTrader 4 精心设计的界面是最前面的部分,但除此之外,它包括一个巧妙设计的策略测试程序。尽管 MetaTrader 4 作为交易终端的价值显而易见,但此测试程序的策略测试的质量只能在实践中进行评估。本文将介绍在 MetaTrader 4 中进行测试的优势和便捷性。
通过辅助指标减少内存消耗
通过辅助指标减少内存消耗

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

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

LibMatrix:矩阵代数库(第一部分)

作者让读者熟悉一个简单的矩阵代数库,并提供主要函数的说明和独特特性。
DoEasy 函数库中的时间序列(第四十三部分):指标缓冲区对象类
DoEasy 函数库中的时间序列(第四十三部分):指标缓冲区对象类

DoEasy 函数库中的时间序列(第四十三部分):指标缓冲区对象类

本文研究开发指标缓冲区对象类,其为抽象缓冲区对象的衍生类,从而可简化声明,并可操控指标缓冲区,同时创建基于 DoEasy 库的自定义指标程序。