MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
懒惰是进步的动力。半自动标记模板
懒惰是进步的动力。半自动标记模板

懒惰是进步的动力。半自动标记模板

在几十个关于如何使用图表的示例中,有一种手动标记模板的方法。趋势线、通道、支撑/阻力位等等,都放在图表上。无疑,有一些针对这种工作的特殊程序。每人自己决定采用哪种方法。本文中,我提供了可以供你考虑的方法,即手动标记并随后将一些重复性常规操作自动化。
MQL 中的对象方法
MQL 中的对象方法

MQL 中的对象方法

本文对于所有在 MQL 环境下编程的人员,无论是初学者还是专业人士,将会非常有趣。而且 MQL 环境下的开发人员和理论家阅读此文也会相当有帮助,因为这里所分析的问题可能会成为将来实施 MetaTrader 和 MQL 的项目。
巨大程序中定单的考虑
巨大程序中定单的考虑

巨大程序中定单的考虑

探讨在巨大程序和复杂程序定单考虑的基本原则。
preview
构建自动运行的 EA(第 03 部分):新函数

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

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。 在上一篇文章中,我们已启动开发一个在自动化 EA 中使用的订单系统。 然而,我们只创建了一个必要的函数。
构建新兴的社交技术, 第一部分: 发布您的 MetaTrader 5 信号
构建新兴的社交技术, 第一部分: 发布您的 MetaTrader 5 信号

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

今天我们将学习如何将 MetaTrader 5 终端与 Twitter(推特) 链接,以便发布您的 EA 交易信号。我们将用 PHP 开发一个基于 REST web 服务的社交决策支持系统。此想法来自于自动交易的特定概念,称为电脑辅助交易。我们希望通过人工交易者的认知能力来过滤这些交易信号,否则 EA 会自动在市场上下单。
图形界面 XI: 重构函数库代码 (集成编译 14.1)
图形界面 XI: 重构函数库代码 (集成编译 14.1)

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

随着函数库的增长, 其代码必须重新优化以便减少其大小。本文中描述的函数库版本已变得更加面向对象。这令代码更容易学习。最新变化的详细描述将令读者能够根据自己的需求独立开发函数库。
通过有用的技术组合让您的 MQL5 客户惊叹!
通过有用的技术组合让您的 MQL5 客户惊叹!

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

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

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

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

货币联动的分形分析

货币报价的独立性如何? 它们的走势是协同呢?还是一种货币的走势跟其他货币的走势截然无关? 本文描述了如何使用非线性动力学和分形几何方法解决该问题。
preview
一张图表上的多个指标(第 06 部分):将 MetaTrader 5 转变为 RAD 系统(II)

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

在我的前一篇文章中,我向您展示了如何利用 MetaTrader 5 对象创建图表交易,从而将平台转变为 RAD 系统。 该系统运行良好,可以肯定的是,许多读者也许已经考虑过创建一个函数库,令其能够在拟议的系统中扩展功能。 有基于此,就有可能开发一款更直观的智能交易系统,其界面更友好、更易于使用。
基于成交历史的交易播放器
基于成交历史的交易播放器

基于成交历史的交易播放器

交易播放器。仅仅五个字,无需解释。一个带有按钮的小对话框出现在您的脑海中。按一个按钮 - 它开始播放,移动控制杆 - 播放速度改变。事实上,它非常类似。在本文中,我想展示我编写的以几乎与实时交易完全相同的方式播放交易历史的程序。本文使用指标和管理图表来介绍 OOP 的某些细节。
FANN2MQL 神经网络教学
FANN2MQL 神经网络教学

FANN2MQL 神经网络教学

本文将利用一个简单的例子为你演示如何通过 FANN2MQL 来使用神经网络:教给神经网络一个简单的模式,然后测试它是否能够识别从未见过的模式。
轻松快捷开发 MetaTrader 程序的函数库(第 三十三部分):延后交易请求 - 在特定条件下平仓
轻松快捷开发 MetaTrader 程序的函数库(第 三十三部分):延后交易请求 - 在特定条件下平仓

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

我们继续开发利用延后请求进行交易的函数库功能。 我们已实现了发送开仓和下挂单的条件交易请求。 在本文中,我们将实现条件平仓 – 全部、部分和由逆向仓位平仓。
视频:如何为简单自动交易设置 MetaTrader 5 和 MQL5
视频:如何为简单自动交易设置 MetaTrader 5 和 MQL5

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

在这个小视频课程中,您将学习如何下载、安装和设置 MetaTrader 5,并实现自动交易。 您还将学习如何调整图表设置,和自动交易选项。 您将完成第一次回溯测试,在本课程结束时,您就会知道如何导入一个可以全天候自动交易的智能交易系统,而无需呆坐在屏幕前。
图形界面 II: 分隔线和上下文菜单元件 (第二章)
图形界面 II: 分隔线和上下文菜单元件 (第二章)

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

在本文中, 我们将会创建分隔线元件. 它可以用作独立的界面元件, 也可以作为许多其他元件的一部分. 之后, 我们就拥有了开发上下文菜单的全部所需, 在本文中会加以详细介绍. 另外, 我们还会对类作必要的扩充, 即用于保存应用程序中图形界面所有元件的指针库.
Lite_EXPERT2.mqh: Expert Advisor 开发人员的功能套件
Lite_EXPERT2.mqh: Expert Advisor 开发人员的功能套件

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

本文是一系列“基于常见交易系统的 Expert Advisor 和交易机器人优化的惊人作用”文章的继续展开。 本文让读者熟悉 Lite_EXPERT2.mqh 文件的一个更为通用的函数库。
使用 OpenCL 测试烛形形态
使用 OpenCL 测试烛形形态

使用 OpenCL 测试烛形形态

这篇文章描述了在"一分钟OHLC"模式下实现 OpenCL 烛形形态测试器的算法。我们还将把它的速度与内建的策略测试器在快速和慢速优化模式下做比较。
一个用于通过 Google Chart API 构建图表的库
一个用于通过 Google Chart API 构建图表的库

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

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

利用判别分析开发交易系统

开发交易系统时,通常都会出现选择最佳指标与信号组合的问题。而判别分析就是找到此类组合的方法之一。本文会给出一个用于市场数据采集的 EA 开发示例,并详细阐明如何利用判别分析在 Statistica 软件中构建外汇市场预后模型。
用 MQL5 表示统计概率分布
用 MQL5 表示统计概率分布

用 MQL5 表示统计概率分布

本文介绍了在应用统计中使用的随机变量的概率分布(正态分布、对数正态分布、二项分布、逻辑分布、指数分布、柯西分配、学生 t 分布、拉普拉斯分布、泊松分布、双曲线正割分布、贝塔分布和伽玛分布)。它还介绍用于处理这些分布的类。
如何更容易地检测和修复 Expert Advisor 代码内的错误
如何更容易地检测和修复 Expert Advisor 代码内的错误

如何更容易地检测和修复 Expert Advisor 代码内的错误

在 Export Advisor 的开发过程中,代码错误的检测和恢复修复是非常重要的问题。其主要特征在于,未及时检测出来的错误可能会毁掉已处于首次测试阶段的交易系统的宝贵理念。这就是为何凡是有判断力的 EA 开发者都会在最初时便将其考虑在内的原因。本文将详述一些方法,以帮助解决这一难题。
DoEasy 函数库中的时间序列(第四十三部分):指标缓冲区对象类
DoEasy 函数库中的时间序列(第四十三部分):指标缓冲区对象类

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

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

技术指标和数字滤波器

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

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

在本文中,我们开始为 DoEasy 库开发指标缓冲区类。 我们将创建抽象缓冲区的基类,该基类将作为开发不同类型指标缓冲区的基础。
LibMatrix:矩阵代数库(第一部分)
LibMatrix:矩阵代数库(第一部分)

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

作者让读者熟悉一个简单的矩阵代数库,并提供主要函数的说明和独特特性。
MQL5 编程基础: 终端的全局变量
MQL5 编程基础: 终端的全局变量

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

本文重点介绍了面向对象的 MQL5 语言,用于创建对象,并与终端的全局变量协同工作。作为一个实际的例子,我考虑这样一种情况,以全局变量作为控制点实现程序分段。
preview
创建综合性猫头鹰交易策略

创建综合性猫头鹰交易策略

我的交易策略基于经典的基本面,以及在所有类型的市场中广泛采用的指标的改进。 这是一个现成的工具,允许您追随提议的新型盈利交易策略。
图形界面 VII: 页面控件 (第二章)
图形界面 VII: 页面控件 (第二章)

图形界面 VII: 页面控件 (第二章)

第七部分的第一章介绍了用于创建三种表格控件的类: 文字标签型表格(CLabelsTable), 编辑框型表格(CTable) 以及绘制型表格(CCanvasTable)。在本文中(第二章)我们将讨论页面(Tabs)控件。
非广延统计分布结构化分析的本征坐标法应用
非广延统计分布结构化分析的本征坐标法应用

非广延统计分布结构化分析的本征坐标法应用

应用统计的主要问题是接受统计假设的问题。长期以来它被视为一个无法解决的问题。随着本征坐标法的出现,这种情形出现了改变。它是对信号进行结构化研究的一款优秀且强大的工具,使用现代应用统计方法,能够精准预测可能的走势。本文着重于此方法的具体运用并以 MQL5 语言编程。它还使用 Hilhorst 和 Schehr 介绍的分布作为一个例子,处理函数识别问题。
preview
手工制图表和交易工具箱(第三部分)。 优化和全新工具

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

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

在交易中应用 OLAP(第 2 部分):可视化交互式多维数据分析的结果

在本文中,我们会探讨为一个MQL程序创建一个交互式图形界面,该程序设计用于使用OLAP技术处理帐户历史和交易报告。为了获得视觉效果,我们将使用最大化和可伸缩的窗口、自适应布局的控件和用于显示图表的新控件。为了提供可视化功能,我们将实现一个GUI,其中沿着坐标轴选择变量,以及选择聚合函数、图表类型和排序选项。
preview
发布算法交易文章,赚取200美元!

发布算法交易文章,赚取200美元!

撰写一篇文章,为算法交易的发展做出贡献。分享您在交易和编程方面的经验,我们将支付您200美元。此外,在受欢迎的MQL5.com网站上发表文章,为您在专业社区中推广个人标签提供绝佳的机会。成千上万的交易者将会阅读您的文章。您可以与志同道合的伙伴讨论您的想法,获得新的经验,并将您的知识货币化。
在图表上快速检验交易理念
在图表上快速检验交易理念

在图表上快速检验交易理念

本文介绍交易理念的快速视觉检验方法。方法基于价格图表、信号指标和余额计算指标组合。我愿意分享我的交易理念探寻方法,以及用于快速检验这些理念的方法。
终端 MetaTrader 4 中的测试程序:应该了解
终端 MetaTrader 4 中的测试程序:应该了解

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

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

统计分布在交易者工作中的作用

本文是我的《用 MQL5 表示统计概率分布》一文的续篇,该文介绍了处理某些理论统计分布的类。现在,我们已经有了理论基础,我建议我们应直接进入实际数据集,并尝试据此基础获得某些信息。
利用模糊逻辑创建指标的简单示例
利用模糊逻辑创建指标的简单示例

利用模糊逻辑创建指标的简单示例

本文专门讲解金融市场分析模糊逻辑理念的实际应用。 我们会根据两条模糊规则和轨道线指标,提供生成信号的指标示例。 开发出的指标会采用多个指标缓冲区:7 个计算用缓冲区,5 个图表显示用缓冲区和 2 个颜色缓冲区。
以 Doji(十字星)为例阐述改进的烛条形态识别
以 Doji(十字星)为例阐述改进的烛条形态识别

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

如何找到比平常更多的烛条形态? 简单的烛条形态背后,还有一个严重的瑕疵,可经由现代自动交易化工具所提供的强大能力来抵消。
掉期利率(第一部分):锁定与合成仓位
掉期利率(第一部分):锁定与合成仓位

掉期利率(第一部分):锁定与合成仓位

在本文中,我将尝试扩展掉期利率交易方法的经典概念。 我将解释为什么我会得出这样的结论,即这个概念值得特别关注,绝对推荐研究。
preview
神经网络变得轻松(第六部分):神经网络学习率实验

神经网络变得轻松(第六部分):神经网络学习率实验

我们之前已研究过各种类型的神经网络及其实现。 在所有情况下,训练神经网络时都使用梯度下降法,为此我们需要选择学习率。 在本文中,我打算通过示例展示正确选择学习率的重要性,及其对神经网络训练的影响。
MQL5 Cookbook: 处理 TradeTransaction 事件
MQL5 Cookbook: 处理 TradeTransaction 事件

MQL5 Cookbook: 处理 TradeTransaction 事件

本文从事件驱动编程的角度来考察 MQL5 语言的能力。这种方法的最大好处是,程序可以接收有关交易操作的分阶段实施信息。本文还包含一个使用 TradeTransaction 事件处理器的例子,来接收和处理正在进行的交易操作的动作信息。在我看来,这种方式可用于复制一个终端的交易到另一个终端。