MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
如何从算法交易中赚取$1,000,000?使用MQL5.com服务!

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

所有交易者都以赚取第一个百万美元为目标来访问市场。如何在没有过多风险和启动预算的情况下实现这个目标?MQL5服务为来自世界各地的开发人员和交易者提供了这样的机会。
图形界面 X: 高级列表和表格管理。代码优化 (集成构建 7)
图形界面 X: 高级列表和表格管理。代码优化 (集成构建 7)

图形界面 X: 高级列表和表格管理。代码优化 (集成构建 7)

函数库的代码需要进行优化: 它应该更规范化, 这样可以 — 更具可读性并易于理解学习。此外, 我们将继续开发之前创建的控件: 列表, 表格和滚动条。
使用 MetaTrader 4客户端初学者的常见错误
使用 MetaTrader 4客户端初学者的常见错误

使用 MetaTrader 4客户端初学者的常见错误

每个人都会发生错误:通过认知之后,频率或多或少。你们的疑问,我们来解答:终端时间,日志内的打印,测试结果,测试历史,历史输入,保证金, 交易,提示, 缩放, 计算错误,无效账户,无新闻,价格变化,资金不足,市场关闭。
夜间交易的可靠度如何?
夜间交易的可靠度如何?

夜间交易的可靠度如何?

本文涵盖了对交叉货币对进行夜间横盘交易的细节。 它解释了在哪里可以期待获得利润以及为什么有可能出现重大亏损。 本文还提供了一个用于夜间交易的 Expert Advisor 示例,并讨论了该策略的实际应用。
OpenCL:并行世界的桥梁
OpenCL:并行世界的桥梁

OpenCL:并行世界的桥梁

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

自置缓存的指标速度比较

本文将经典的 MQL5 指标访问方法与 MQL4 风格的替代方法进行比较。 研究若干种 MQL4 风格的指标访问方法: 带有和未带有指标句柄缓存。 还会研究分析 MQL5 核心内部的指标句柄。
利用 CCanvas 的自定义指标和信息图
利用 CCanvas 的自定义指标和信息图

利用 CCanvas 的自定义指标和信息图

本文研究结构更加复杂实现的新型指标。它还描述了如何开发伪 3D 指标类型和动态信息图。
基于 Bill Williams 所著"证券交易新空间"的 EA 交易程序
基于 Bill Williams 所著"证券交易新空间"的 EA 交易程序

基于 Bill Williams 所著"证券交易新空间"的 EA 交易程序

在本文中,我将依据 Bill Williams 所著的《证券交易新空间:如何从股票、债券和商品交易中的混沌获利》一书讨论 EA 交易程序的开发。该策略本身已经广为人知,并且其使用在交易者之间仍然备受争议。本文考虑系统的交易信号、其实施的细节以及有关历史数据的测试结果。
形态与示例(第一部分):多顶
形态与示例(第一部分):多顶

形态与示例(第一部分):多顶

这是研讨算法交易框架中逆转形态相关的系列文章中的首篇。 我们将从最有趣的形态家族开始,它们源自双顶和双底形态。
MQL5 对决 QLUA - 为什么在 MQL5 中交易操作速度快达 28 倍?
MQL5 对决 QLUA - 为什么在 MQL5 中交易操作速度快达 28 倍?

MQL5 对决 QLUA - 为什么在 MQL5 中交易操作速度快达 28 倍?

您可曾想过您的订单是如何迅速传递到交易所, 它的执行速度如何, 而您的终端需要多久才能收到操作结果?我们已经准备好一场交易操作执行速度的比对, 因为从未有人测量过使用 MQL5 和 QLUA 应用时的这些数值。
MQL5 编程基础: 终端中的全局变量
MQL5 编程基础: 终端中的全局变量

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

终端中的全局变量为开发复杂而可靠的EA交易提供了一种方便的工具,如果您掌握了全局变量,您就会发现在使用MQL5开发EA交易的时候它们是必不可少的。
不使用额外的缓冲区,为中间计算进行系列价格的平均化
不使用额外的缓冲区,为中间计算进行系列价格的平均化

不使用额外的缓冲区,为中间计算进行系列价格的平均化

本文要讲述的是封装于最简单的单型类中的传统与非寻常平均线算法。它们旨在实现于几乎所有指标的开发过程中的普适用途。我希望建议的这些类,会成为那些自定义与技术指标“笨重”调用的一个很好的替代。
智能测试报告中数字的意义
智能测试报告中数字的意义

智能测试报告中数字的意义

文章全面解释怎样阅读测试报告并且精确诠释获得的结果
如何交换数据:10 分钟为 MQL5 创建 DLL
如何交换数据:10 分钟为 MQL5 创建 DLL

如何交换数据:10 分钟为 MQL5 创建 DLL

现在很多开发人员不知道如何编写简单的 DLL,而这是不同系统绑定的特殊特性。我将通过多个示例,展示在 10 分钟内创建简单 DLL 的整个过程,并讨论我们绑定实施的一些技术细节。我将给出 Visual Studio 中的 DLL 创建的分步过程,以及交换不同变量类型的示例(数字、数组、字符串等)。此外,我还将说明在自定义 DLL 中如何使您的客户端免于崩溃。
轻松快捷开发 MetaTrader 程序的函数库(第八部分):订单和持仓修改事件
轻松快捷开发 MetaTrader 程序的函数库(第八部分):订单和持仓修改事件

轻松快捷开发 MetaTrader 程序的函数库(第八部分):订单和持仓修改事件

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第七部分中,我们加入了 StopLimit 订单激活跟踪,以及准备了其它涉及订单和持仓事件的跟踪功能。 在本文中,我们将开发用于跟踪订单和持仓修改事件的类。
EA 遥控方法
EA 遥控方法

EA 遥控方法

交易机器人的主要优势在于能够在远程 VPS 服务器上每天 24 小时不间断工作。 但有时候有必要干预它们的工作,而此刻可能无法直接访问服务器。 是否可以遥控管理 EA? 本文提出了一种通过外部命令控制 EA 的选项。
智能交易的特性
智能交易的特性

智能交易的特性

在MetaTrader 4交易系统中创建并测试智能交易。
Elder-Ray (多头力度和空头力度)
Elder-Ray (多头力度和空头力度)

Elder-Ray (多头力度和空头力度)

本文详述了基于多头力度(Bulls Power),空头力度(Bears Power)和均线指标(EMA - 指数平均)的 Elder-Ray 交易系统。 Alexander Elder 在他的著作“为生活而交易”中描述了这个系统。
根据品种和 EA 的 ORDER_MAGIC 分析余额/净值图形
根据品种和 EA 的 ORDER_MAGIC 分析余额/净值图形

根据品种和 EA 的 ORDER_MAGIC 分析余额/净值图形

随着对冲的引入, MetaTrader 5 提供了一个极佳的机会, 可以在一个交易账户内同时利用若干个专家交易系统进行交易。当一个策略是可盈利, 而第二个泽亏损的时候, 盈利图也许会徘徊在零值附近。在此情况下, 分别为每个交易策略构建余额和净值图形是十分有益的。
相关性在交易中的实际应用
相关性在交易中的实际应用

相关性在交易中的实际应用

在本文中,我们将分析变量之间相关性的概念,以及相关系数的计算方法及其在交易中的实际应用。相关性是两个或多个随机变量之间的统计关系(或可以被视为具有某种可接受精度的随机量)。一个或多个变量的变化导致其他相关变量的系统变化。
图形界面 V: 列表视图元件 (第二章)
图形界面 V: 列表视图元件 (第二章)

图形界面 V: 列表视图元件 (第二章)

在前一章中,我们开发了用于创建垂直和水平滚动条的类。在本章中,我们将应用它们,我们将开发一个用于创建列表视图元件的类,它的一个组成部分将是一个垂直滚动条。
外汇交易的基础数学
外汇交易的基础数学

外汇交易的基础数学

本文旨在尽可能简单、快速地描述外汇交易的主要特点,并与初学者分享一些基本的想法。它还试图回答交易界最诱人的问题,同时展示一个简单指标的开发。
价格直方图(市场概况)及其在 MQL5 中的实施
价格直方图(市场概况)及其在 MQL5 中的实施

价格直方图(市场概况)及其在 MQL5 中的实施

“市场概况”由真正才华横溢的思想家 Peter Steidlmayer 所提出。他建议使用有关“水平”和“垂直”市场动态信息的替代表示法,从而给出一套完全不同的模型。他认为存在市场深层次的摆动或称之为平衡和失衡周期的基本模式。在本文中,我将会探讨价格直方图(市场概况的一种简化模型)以及它在 MQL5 中的实施。
图形界面III:简单与多功能按钮(第一章)
图形界面III:简单与多功能按钮(第一章)

图形界面III:简单与多功能按钮(第一章)

让我们探讨按钮控件。我们将讨论几个用于创建简单按钮,扩展功能按钮(图标按钮和分割按钮)以及关联按钮(按钮组和单选按钮)的类的实例。另外,我们还将在已有的类中增加一些内容以扩展它们的功能。
自适应交易系统以及它们在 MetaTrader 5 客户端中的运用
自适应交易系统以及它们在 MetaTrader 5 客户端中的运用

自适应交易系统以及它们在 MetaTrader 5 客户端中的运用

本文推荐一种由很多策略组成的自适应系统,每种策略执行其自己的虚拟交易操作。实际交易依据当时最赚钱策略的信号进行。归功于使用面向对象的方法、标准库中用于处理数据的类和交易类,系统的架构看起来很简单并且可扩展;现在,您可以轻松地创建和分析包含数以百计的交易策略的自适应系统。
通用智能交易系统:事件模型和交易策略原型(第二章)
通用智能交易系统:事件模型和交易策略原型(第二章)

通用智能交易系统:事件模型和交易策略原型(第二章)

本文是通用智能交易模型系列文章的又一篇。这一部分详细介绍了基于数据集中处理的原始事件模型,并考虑了交易引擎CStrategy基类的结构。
评估分形指数和Hurst指数预测金融时间序列的能力
评估分形指数和Hurst指数预测金融时间序列的能力

评估分形指数和Hurst指数预测金融时间序列的能力

有关金融数据分形行为的研究表明,在经济时间序列看似混乱的行为背后,存在着参与者集体行为的隐性稳定机制。这些机制可以导致交易所出现价格动态,从而定义和描述价格序列的具体属性。应用于交易中,能够有效、可靠地估计尺度和时间框架内的分形参数的指标,具有一定的实用价值。
基于交易模块创建多个 EA 交易
基于交易模块创建多个 EA 交易

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

在 MQL5 中使用面向对象方法这一做法,极大简化了多币种/多系统/多时间表 EA 交易的创建过程。不妨想象一下单个 EA 交易采用多个交易策略、使用一切可用工具以及利用所有可能的时间表进行交易的情形!此外,EA 交易还方便使用测试程序进行测试,并且对于所有策略而言,该交易包含了一个或多个资金管理工作系统。
ZigZag (之字折线) 的力量(第二部分)。 接收、处理和显示数据的示例
ZigZag (之字折线) 的力量(第二部分)。 接收、处理和显示数据的示例

ZigZag (之字折线) 的力量(第二部分)。 接收、处理和显示数据的示例

在本文的第一部分当中,我曾描述过一个修订的 ZigZag (之字折线) 指标和一个用于接收该类型指标数据的类。 在此,我将展示如何基于这些工具开发指标,并编写一款根据 ZigZag 指标形成的信号进行交易的 EA 来测试。 作为补充,本文将介绍一套开发图形用户界面的新版 EasyAndFast 函数库。
关于技术分析和市场预测的方法
关于技术分析和市场预测的方法

关于技术分析和市场预测的方法

本文论证了一个具备视觉思维的著名数学方法的能力和潜力,并提供了一种“独特的”市场展望。 一方面,它有助于吸引广泛受众的注意力,因为它可以让具有创造性思维的人们重新审视交易模式本身。 另一方面,它可以引导人们进行与各种分析和预测工具相关的其他开发和程序代码实现。
利用指标实时优化智能交易系统
利用指标实时优化智能交易系统

利用指标实时优化智能交易系统

任何交易机器人的效率均取决于正确选择(优化)其参数。 然而,在某个时间区间内被认为是最佳的参数可能无法在另一个交易历史区间保持其有效性。 此外,在测试期间表现良好的 EA 在实时状态下最终会亏损。 持续优化的问题就此凸显出来。 当面对大量重复性工作时,人类总会寻找自动化方法。 在本文中,我提出了一种解决此问题的非标准方法。
优化管理 (第一部分): 创建一个GUI(图形用户界面)
优化管理 (第一部分): 创建一个GUI(图形用户界面)

优化管理 (第一部分): 创建一个GUI(图形用户界面)

本文描述了为MetaTrader终端创建扩展的过程,所讨论的解决方案有助于通过在其他终端中运行优化来自动化优化过程。关于这个话题,我们将再写几篇文章。扩展是使用C#语言和设计模式开发的,它还展示了通过开发自定义模块扩展终端功能的能力,以及使用首选程序的功能创建自定义图形用户界面的能力。
使用 MQL5 绘制阻力和支撑级别
使用 MQL5 绘制阻力和支撑级别

使用 MQL5 绘制阻力和支撑级别

本文介绍一种查找四个极点并在此基础上绘制支撑和阻力级别的方法。为了在当前货币对的图表上查找极点, 使用 RSI 指标。作为例子, 我们提供了一款指标的代码显示支撑和阻力级别。
如何在另一指标的基础上编写一个指标
如何在另一指标的基础上编写一个指标

如何在另一指标的基础上编写一个指标

在 MQL5 中,您既可以从头编写一个指标,亦可根据客户端内置或自定义的另一现有指标来创建。而在这里,您也有两种方式 - 通过向其添加新的计算和图形风格来改善某个指标,或是通过 iCustom() 或 IndicatorCreate() 函数使用客户端内置或自定义的某个指标。
升级至MetaTrader 4 Build 600及更高版本
升级至MetaTrader 4 Build 600及更高版本

升级至MetaTrader 4 Build 600及更高版本

新版MetaTrader 4客户端的新版本拥有用户数据存储的更新结构。在早期版本中所有程序,模板,配置文件等都被直接存储在程序端的安装文件夹。现在,特定用户所需的所有必要的数据都存储在一个单独的称为数据文件夹的目录中。阅读文章来寻找常见问题的答案。
开发跨平台网格 EA:测试多币种 EA
开发跨平台网格 EA:测试多币种 EA

开发跨平台网格 EA:测试多币种 EA

行情在一个月内下跌了 30% 以上。 这似乎是测试基于网格和马丁格尔的智能交易系统的最佳时间。 本文是“创建跨平台网格 EA”系列的计划外延续。 当前行情为安排网格 EA 提供了疏解压力的机会。 因此,我们要把握这次机会,并测试我们的智能交易系统。
在 MetaTrader 5 中使用自组织特征映射(Kohonen 映射)
在 MetaTrader 5 中使用自组织特征映射(Kohonen 映射)

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

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

图形界面 X: 标准图表控件 (集成编译 4)

这一次我们将研究标准图表控件。它可以创建具有同步水平滚动功能的子图表数组。此外, 我们将继续优化库代码以降低 CPU 负载。
开发轴心均值振荡器:一款新颖的累积移动平均线指标
开发轴心均值振荡器:一款新颖的累积移动平均线指标

开发轴心均值振荡器:一款新颖的累积移动平均线指标

本文介绍轴心均值振荡器(PMO),它是累积移动平均线(CMA)的一种实现,作为一款 MetaTrader 平台的交易指标。 特别是,我们首先引入数据轴心均值(PM)作为时间序列的常规化指数,该指数计算任意数据点位和 CMA 之间的分值。 然后,我们依据两个 PM 信号均值之间的差值构建 PMO。 报告还针对 EURUSD 品种还进行了一些初步实验,测试拟议指标的有效性,从而为将来的研究和改进留出了足够的空间。
创建多币种多系统 EA 交易
创建多币种多系统 EA 交易

创建多币种多系统 EA 交易

本文介绍了 EA 交易结构,它可实现多交易品种交易,并同时使用多个交易系统。如果你已经确认了所有 EA 交易的最佳输入参数,并分别得到很好的回溯测试结果,那么思考一下:如果结合自己的所有策略同时测试所有 EA,你会得到什么结果?