MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
反向交易: 减少最大回撤以及在其它市场上测试
反向交易: 减少最大回撤以及在其它市场上测试

反向交易: 减少最大回撤以及在其它市场上测试

在这篇文章中, 我们继续致力于反向交易技巧。我们将会尝试减少最大余额回撤,直到对之前探讨的交易工具可以接受的水平。我们将会看看这样是否将会减少利润,我们还将在其它市场中检验反转方法的运行,包括股票、商品、指数、ETF和农产品市场。注意,本文包含了很多图片!
交易系统的评估 - 有关进入、退出与交易效率的概述
交易系统的评估 - 有关进入、退出与交易效率的概述

交易系统的评估 - 有关进入、退出与交易效率的概述

有很多指标可用于确定一个交易系统的效率和盈利能力。但是,交易者始终会将任何系统推向一个新的崩溃测试。本文讲述基于效率指标的统计如何用于 MetaTrader 5 平台。它包含一个类,该类用于将成交统计解释转变成与 S.V. Bulashev 所著《Statistika dlya traderov(面向交易者的统计)》一书不冲突的一种解释。它还包括一个用于优化的自定义函数示例。
利用 CCanvas 类开发自定义指标
利用 CCanvas 类开发自定义指标

利用 CCanvas 类开发自定义指标

本文利用 CCanvas 类的图形基元应对自定义图形指标的开发。
开发跨平台网格 EA(最后部分):多元化是提高盈利能力的一种途径
开发跨平台网格 EA(最后部分):多元化是提高盈利能力的一种途径

开发跨平台网格 EA(最后部分):多元化是提高盈利能力的一种途径

在本系列的前几篇文章中,我们尝试了各种方法来创建或多或少能够盈利的网格智能交易系统。 现在,我们将会尝试通过多元化来提高 EA 的盈利能力。 我们的终极目标是每年赚取 100% 的利润,而最大回撤不超过 20%。
概率论与数理统计示例(第一部分):基础与初级理论
概率论与数理统计示例(第一部分):基础与初级理论

概率论与数理统计示例(第一部分):基础与初级理论

交易总是需要在面对不确定性时做出决定。 这意味着在做出这些决策时,其结局并不十分明朗。 如此看出建立数学模型的理论方法的重要性,它能够令我们以有意义的方式描述这种情况。
轻松快捷开发 MetaTrader 程序的函数库(第十五部分):品种对象集合
轻松快捷开发 MetaTrader 程序的函数库(第十五部分):品种对象集合

轻松快捷开发 MetaTrader 程序的函数库(第十五部分):品种对象集合

在本文中,我们将研究基于上一篇文章中所开发的抽象品种对象来创建品种集合。 抽象品种的后代会阐明品种数据,并在程序中定义基本品种对象属性的可用性。 此类品种对象应按其隶属的分组关系加以区分。
先进的自适应指标理论及在 MQL5 中的实施
先进的自适应指标理论及在 MQL5 中的实施

先进的自适应指标理论及在 MQL5 中的实施

本文要讲述的是高级自适应指标及其在 MQL5 中的实施:自适应周期性指标、自适应重心及自适应 RVI。所有指标的最初出处都在 John F. Ehlers 编著的《股票与期货控制分析》一书中。
研究烛条分析技术(第四部分):形态分析器的更新和补充
研究烛条分析技术(第四部分):形态分析器的更新和补充

研究烛条分析技术(第四部分):形态分析器的更新和补充

本文论述了形态分析器(Pattern Analyzer)应用程序的新版本。 此版本修复了已发现错误并提供了一些新功能,还改进了用户界面。 在新版本的开发过程中参考了上一篇文章中的意见和建议。 最终的应用程序会在本文中进行说明。
HTML 中的图表
HTML 中的图表

HTML 中的图表

现今很难找到一台没有安装 Web 浏览器的计算机。长久一来,浏览器一直在进化和改进。本文讨论依据从 MetaTrader 5 客户端获得的信息,以简单和安全的方式创建图表,以在浏览器显示它们。
MQL5 Cookbook: 多币种EA交易 - 简洁而快速的途径
MQL5 Cookbook: 多币种EA交易 - 简洁而快速的途径

MQL5 Cookbook: 多币种EA交易 - 简洁而快速的途径

本文将介绍一个针对多币种EA交易的简单而合适的实现。意思是说您可以设置EA交易,针对多币种在同一条件下测试/交易,但是为每个交易品种设置不同的参数。作为例子,我们将创建针对两个交易品种的模式,但是通过这种方法可以还增加另外的交易品种,如有必要只需修改很少的代码。
神经网络在交易中的实际应用
神经网络在交易中的实际应用

神经网络在交易中的实际应用

在本文中,我们将研究神经网络与交易终端集成的主要方面,从而创建功能齐全的交易机器人。
以峰谷指标和 ATR 指标为例说明作为类来实施指标
以峰谷指标和 ATR 指标为例说明作为类来实施指标

以峰谷指标和 ATR 指标为例说明作为类来实施指标

有关指标计算的最佳方式的争论无休无止。我们应在何处计算指标值 - 在指标本身内还是嵌入使用该指标的 EA 交易的整个逻辑之中?本文说明在 EA 交易或脚本的代码中移动自定义指标 iCustom 的源代码的一种情形,并对计算和 prev_calculated 值的建模进行优化。
交易货币篮子时可用的形态。第三部分
交易货币篮子时可用的形态。第三部分

交易货币篮子时可用的形态。第三部分

本文是交易货币篮子时发生形态的终篇。它综合了趋势跟踪指标和标准图形结构的应用。
图形界面 X: 在多行文本框中选择文本 (集成构建 13)
图形界面 X: 在多行文本框中选择文本 (集成构建 13)

图形界面 X: 在多行文本框中选择文本 (集成构建 13)

本文将实现使用各种组合键选择文本, 及删除所选文本的功能, 类似于在其它任意文本编辑器中完成的方式。此外, 我们将继续优化代码, 并为进入函数库演变第二阶段的最后一个过程准备好类, 其中所有控件均作为单独的图像 (画布) 呈现。
无需 DLL 的原生 MT4/MT5 推特(Twitter)客户端
无需 DLL 的原生 MT4/MT5 推特(Twitter)客户端

无需 DLL 的原生 MT4/MT5 推特(Twitter)客户端

是否曾想访问推文和/或在推特(Twitter)上发布您的交易信号? 无需更多搜索,这些持续更新的系列文章将为您展示如何无需任何 DLL 的情况下进行操作。 畅想 MQL 实现 Twitter API 的旅程。 在第一部分中,我们将在访问 Twitter API 时遵循身份验证和授权的荣耀之路。
图形界面 X: 文本编辑框, 图片滑块和简单控件 (构建 5)
图形界面 X: 文本编辑框, 图片滑块和简单控件 (构建 5)

图形界面 X: 文本编辑框, 图片滑块和简单控件 (构建 5)

本文研究新的控件: 文本编辑框, 图片滑块, 以及其它的简单控件: 文本标签和图片。函数库正在持续增长, 并引入了一些其它的新控件, 以前创建的那些也有所改进。
MQL5 向导:如何教导 EA 以任意价格建立挂单
MQL5 向导:如何教导 EA 以任意价格建立挂单

MQL5 向导:如何教导 EA 以任意价格建立挂单

本文讲述允许您以距当前价格的任意距离设置挂单的功能实现的交易信号模块代码的修改方法:它可以是上一个柱的收盘价或开盘价,或者是移动平均线的值。有很多的选择。重要的是,您可以为挂单设置任意的开盘价。本文对于使用挂单交易的交易人员而言会有所帮助。
使用 EA Tree 在几分钟内创建 MQL5 EA 交易:第一部分
使用 EA Tree 在几分钟内创建 MQL5 EA 交易:第一部分

使用 EA Tree 在几分钟内创建 MQL5 EA 交易:第一部分

EA Tree 是第一款拖放 MetaTrader MQL5 EA 交易生成器。您可以使用非常易用的图形用户界面创建复杂的 MQL5。在 EA Tree 中,通过将盒子连接在一起创建 EA 交易。盒子可以包含 MQL5 函数、技术指标、自定义指标或值。使用盒子树,EA Tree 生成 EA 交易的 MQL5 代码。
Kagi 制图指标
Kagi 制图指标

Kagi 制图指标

文中介绍了 Kagi 图指标以及各种制图选项和其它函数,同时考虑了指标制图原则及其 MQL5 实现功能。本文还展示了最常见的实现方式,阴阳交易策略,偏离走势线并不断提高“肩”部/降低“腰”部。
监视多币种的交易信号(第三部分):引入搜索算法
监视多币种的交易信号(第三部分):引入搜索算法

监视多币种的交易信号(第三部分):引入搜索算法

在前一篇文章中,我们开发了应用程序的可视部分,以及基本的 GUI 交互元素。 这次,我们将添加内部逻辑,并准备交易信号数据的算法,还要有建立信号、搜索信号、并在监视器中对其可视化的能力。
Box-Cox 变换
Box-Cox 变换

Box-Cox 变换

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

MetaTrader 5 和 MATLAB 交互

本文将详细介绍 MetaTrader 5 和 MatLab 数学包之间的交互。文中说明了数据转换机制,以及开发通用库以与 MatLab 交互的过程。文章还介绍了对 MatLab 环境生成的 DLL 的使用。本文面向掌握了 C++ 和 MQL5 的经验丰富的读者。
作为创建自动化交易系统新方法的自动机编程
作为创建自动化交易系统新方法的自动机编程

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

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

轻松快捷开发 MetaTrader 程序的函数库(第十四部分):品种对象

在本文中,我们将创建品种对象类,该类将成为创建品种集合的基本对象。 该类可令我们获取必要品种的数据,以便进一步进行分析和比较。
将指标从 MQL4 迁移到 MQL5
将指标从 MQL4 迁移到 MQL5

将指标从 MQL4 迁移到 MQL5

本文旨在说明将用 MQL4 编写的价格构建迁移到 MQL5。为了让将指标计算从 MQL4 迁移到 MQL5 的过程更加容易,建议使用 mql4_2_mql5.mqh 函数库。依据 MACD、随机动量指标和 RSI 指标说明其用途。
用于预测市场价格的通用回归模型
用于预测市场价格的通用回归模型

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

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

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

本文讨论使用 UML 图形语言创建 EA 交易,该语言用于建立面向对象软件系统的可视化模型。此方法的主要优点是实现了建模过程的可视化。本文以一个例子说明如何使用 Software Ideas Modeler 建立一个 EA 交易的结构和属性的模型。
轻松快捷开发 MetaTrader 程序的函数库 (第 二十八部分) :延后交易请求之平仓、删除和修改
轻松快捷开发 MetaTrader 程序的函数库 (第 二十八部分) :延后交易请求之平仓、删除和修改

轻松快捷开发 MetaTrader 程序的函数库 (第 二十八部分) :延后交易请求之平仓、删除和修改

这是有关延后请求概念的第三篇文章。 我们将创建平仓、删除挂单、修改持仓和挂单参数等方法来完成延后交易请求的测试。
开发多模块智能交易系统
开发多模块智能交易系统

开发多模块智能交易系统

MQL 编程语言允许实现交易策略的模块化开发概念。 本文展示由单独编译的文件开发多模块组合的智能交易系统示例。
用 MQL5 向导创建您自己的 EA 交易
用 MQL5 向导创建您自己的 EA 交易

用 MQL5 向导创建您自己的 EA 交易

编程语言知识不再是创建自动交易的一个先决条件。以前,缺乏编程技能是实现自己的交易策略的不可逾越的障碍,但是随着 MQL5 向导的出现,这种情况迅速改变了。交易新手能够不再因为缺乏编程经验而担心 - 使用让您能够生成 EA 代码的新向导,编程经验不再是必不可少的了。
从用户面板"动态"更改"EA 交易"参数
从用户面板"动态"更改"EA 交易"参数

从用户面板"动态"更改"EA 交易"参数

本文提供了一个简短的示例,阐释可从用户面板控制其参数的“EA 交易”的实施。在“动态”更改参数时,“EA 交易”将从信息面板获得的值写入文件以从文件中进一步读取它们并相应地显示在面板上。本文面向手动交易或以半自动模式交易的交易人员。
轻松快捷开发 MetaTrader 程序的函数库(第 二十一部分):交易类 - 基准跨平台交易对象
轻松快捷开发 MetaTrader 程序的函数库(第 二十一部分):交易类 - 基准跨平台交易对象

轻松快捷开发 MetaTrader 程序的函数库(第 二十一部分):交易类 - 基准跨平台交易对象

在本文中,我们将着手开发新的函数库部分 - 交易类。 此外,我们将研究开发一套统合 MetaTrader 5 和 MetaTrader 4 平台的基准交易对象。 当向服务器发送请求时,即意味着传递给这种交易对象的交易请求参数已被验证和校正。
优秀程序员(第 01 部分):您必须停止做这 5 件事才能成为一名成功的 MQL5 程序员
优秀程序员(第 01 部分):您必须停止做这 5 件事才能成为一名成功的 MQL5 程序员

优秀程序员(第 01 部分):您必须停止做这 5 件事才能成为一名成功的 MQL5 程序员

萌新甚至高级程序员都会有很多坏习惯,这令他们无法在其编程事业中成为最佳的。 我们将在本文中就这些问题予以讨论并定位。 对于所有梦想成为优秀 MQL5 开发者的人来说,这篇文章都是必读的。
使用 MQL5.0 社区频道和群聊天
使用 MQL5.0 社区频道和群聊天

使用 MQL5.0 社区频道和群聊天

MQL5.com 网站汇集了来自世界各地的交易者。 用户发表文章、共享免费代码、在市场上销售产品、执行自由职业订单、以及跟单信号。 您可以在论坛、交易者聊天和元交易者频道中与他们交流。
未知概率密度函数的核密度估计
未知概率密度函数的核密度估计

未知概率密度函数的核密度估计

本文主要介绍用于估计未知概率密度函数的核密度程序的创建。核密度估计方法被选择用于执行此任务。本文包含该方法的软件实现的源代码、其使用示例以及插图。
用于一组指标信号的朴素贝叶斯分类器
用于一组指标信号的朴素贝叶斯分类器

用于一组指标信号的朴素贝叶斯分类器

本文通过运用多个独立指标的信号, 分析贝叶斯公式在提高交易系统可靠性方面的应用。理论计算可由一款简单的通用 EA 进行验证, 配置为使用任意指标。
使用限价订单替代止盈且无需修改 EA 的原始代码
使用限价订单替代止盈且无需修改 EA 的原始代码

使用限价订单替代止盈且无需修改 EA 的原始代码

使用限价订单来替代传统的止盈是论坛讨论的长期话题。 这种方法的优点是什么?如何在您的交易中实施? 在本文中,我将向您介绍我对此主题的看法。
以线性回归为例说明指标加速的 3 种方法
以线性回归为例说明指标加速的 3 种方法

以线性回归为例说明指标加速的 3 种方法

本文讨论指标算法优化方法。每个人都会找到最适合自己的方法。本文介绍了三种方法。其中一个非常简单,另一个需要扎实的数学知识,最后一个需要一些智慧。使用指标或 MetaTrader5 客户端设计功能来实现其中的大多数方法。这些方法通用性强,不仅可用于加快线性回归计算,也可用于很多其他指标。
交易者的 LifeHack: 四次回测比一次好
交易者的 LifeHack: 四次回测比一次好

交易者的 LifeHack: 四次回测比一次好

在第一次测试之前,每个交易者都会面临同样的问题 — "四种模式中使用哪一种呢?" 每种提供的模式都有其优点和特点,所以我们会用简单的方法 - 使用一个按钮一起运行全部四种模式!本文展示了如何使用 Win API 和一点魔术来同时看到全部四个测试图表。
跳空缺口 - 是能够获利的策略还是五五开?
跳空缺口 - 是能够获利的策略还是五五开?

跳空缺口 - 是能够获利的策略还是五五开?

这篇文章详细讨论了跳空缺口 — 前一时间段的收盘价和后一时间段的开盘价之间的较大差距, 以及对日柱方向的预测。还探讨了通过系统DLL使用 GetOpenFileName 函数的问题。