MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
开发一个跨平台网格 EA
开发一个跨平台网格 EA

开发一个跨平台网格 EA

在本文中,我们将学习如何创建在 MetaTrader 4 和 MetaTrader 5 中都能工作的 EA 交易。为此,我们将开发一个 EA 构建的订单网格,网格是指将多个限价订单置于当前价格之上,同时将相同数量的限价订单置于当前价格之下的 EA 交易。
构建三线突破图表指标
构建三线突破图表指标

构建三线突破图表指标

本文专门研究由 Steve Nison 在其著作 "Beyond Candlesticks(超越蜡烛条)" 中建议的三线突破图表。这个图表的最大优点是它可以过滤相对以前行情的小幅价格波动。我们将要讨论图表的原理,指标代码,以及基于此交易策略的一些示例。
预测时间序列(第 1 部分):经验分解模式(EMD)方法
预测时间序列(第 1 部分):经验分解模式(EMD)方法

预测时间序列(第 1 部分):经验分解模式(EMD)方法

本文探讨运用经验分解模式(EMD)预测时间序列的理论和实际应用。 它提议以 MQL 实现此方法,并出示了测试指标和智能交易系统。
根据特定的价格变化自动侦测极值点
根据特定的价格变化自动侦测极值点

根据特定的价格变化自动侦测极值点

与图形模式相关的交易策略自动化需要能够在图表中搜索极值点以备进一步处理和解释,现有的工具并不能一直提供这种功能。本文中描述的方法可以在图表上找到极值点,这里讨论的工具在有趋势和平盘市场上都一样有效,取得的结果不会被所选时段很大影响,也不会只针对特定的缩放尺度。
利用解析入场点为指标的技术创建新的交易策略
利用解析入场点为指标的技术创建新的交易策略

利用解析入场点为指标的技术创建新的交易策略

本文提出了一种技术, 通过汇集一套独立的指标, 以及开发定制的入场信号, 帮助每个人创建定制的交易策略。
轻松快捷开发 MetaTrader 程序的函数库(第一部分)。 概念,数据管理和首期成果
轻松快捷开发 MetaTrader 程序的函数库(第一部分)。 概念,数据管理和首期成果

轻松快捷开发 MetaTrader 程序的函数库(第一部分)。 概念,数据管理和首期成果

在分析海量交易策略,订购用于 MetaTrader 5 和 MetaTrader 4 终端以及各种 MetaTrader 网站的应用程序开发订单时,我得出了一个结论,就是所有这些貌似多样性,大多基于相同的基本函数,动作和数值有规律地出现在不同的程序当中。 在 DoEasy 跨平台函数库中的这一成效,可以轻松快捷地开发 МetaТrader 5 和 МetaТrader 4 应用程序。
采用跟踪止损的赚钱算法
采用跟踪止损的赚钱算法

采用跟踪止损的赚钱算法

本文旨在研究带有不同的交易进入和采用跟踪止损的退出的算法盈利能力。待用的条目类型为随机进场与反向进场交易。止损订单用于跟踪止损与跟踪止盈。本文讲述的是年盈利能力约达30%的赚钱算法。
通用智能交易系统:交易策略的模式(第一章)
通用智能交易系统:交易策略的模式(第一章)

通用智能交易系统:交易策略的模式(第一章)

任何一个智能交易系统(EA)的开发人员,无论编程技能如何,每天都面临着同样的交易目标和算法问题的困扰,即应该如何建立一个可靠的交易系统。本文介绍CStrategy交易引擎,它可以给出这些任务的解决方案,并且向用户提供一种用于描述自定义交易思想的简便机制。
MQL5 中艾略特波浪自动分析的实施
MQL5 中艾略特波浪自动分析的实施

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

艾略特波浪理论是最流行的市场分析方法之一。然而,这个过程非常复杂,从而导致我们使用额外的工具。自动标记器是其中一种工具。本文描述用 MQL5 语言创建艾略特波浪的自动分析程序。
使用贝叶斯分类和基于奇异频谱分析的指标预测市场走势
使用贝叶斯分类和基于奇异频谱分析的指标预测市场走势

使用贝叶斯分类和基于奇异频谱分析的指标预测市场走势

本文研究建立高效交易的推荐制系统的思想和方法, 结合了贝叶斯定理基础之上的重要机器学习方法, 以及奇异频谱分析 (SSA) 的预测能力。
MetaTrader 5 已具备锁仓账户系统
MetaTrader 5 已具备锁仓账户系统

MetaTrader 5 已具备锁仓账户系统

为了扩大零售外汇交易者的可能性,我们新增第二种账户系统 - 锁仓系统。现在,每个交易品种可以有多位持仓,包括反向持仓。这就为实现基于所谓“锁定”的交易策略铺平了道路 - 如果价格移动方向与交易者相反,那么他们就可以新建一个反向持仓。
使用比尔威廉姆系统的交易信号模块
使用比尔威廉姆系统的交易信号模块

使用比尔威廉姆系统的交易信号模块

本文描述了比尔威廉姆交易系统的规则,开发一个在图表上搜索和标记该系统模式的MQL5应用程序模块,根据找到的模式进行交易,并且也展示了在各种交易品种上的测试结果。
什么是趋势,行情结构是基于趋势还是横盘?
什么是趋势,行情结构是基于趋势还是横盘?

什么是趋势,行情结构是基于趋势还是横盘?

交易者经常谈论趋势和横盘,但很少有人真正了解趋势/横盘是什么,甚至很少能够清楚地解释这些概念。 讨论这些基本术语通常会受到一系列顽固偏见和误解的困扰。 然而,如果我们想赚钱,就需要了解这些概念的数学和逻辑含义。 在本文中,我将仔细研究趋势和横盘的本质,并尝试定义行情结构是基于趋势/横盘,亦或其他。 我还将研究在趋势和横盘行情上获利的最佳策略。
点数图指标
点数图指标

点数图指标

可提供当前市场形势相关信息的图表类型多种多样。许多图表很久以前就出现了,比如点数图。本文要讲述的,就是采用实时指标的点数图的一个例子。
10 分钟掌握 MQL5 的 DLL(第二部分):使用 Visual Studio 2017 创建
10 分钟掌握 MQL5 的 DLL(第二部分):使用 Visual Studio 2017 创建

10 分钟掌握 MQL5 的 DLL(第二部分):使用 Visual Studio 2017 创建

初版文章依然具有其相关性,因此如果您对此主题感兴趣,请务必阅读第一篇文章。 从初版起已经过了很久时间,而当前的 Visual Studio 2017 具有全新的界面。 MetaTrader 5 平台也拥有了诸多新功能。 本文提供了开发 DLL 项目各个阶段的描述,以及如何设置 DLL 并与 MetaTrader 5 工具进行交互。
通用EA交易: CUnIndicator 和挂单的使用(第9部分)
通用EA交易: CUnIndicator 和挂单的使用(第9部分)

通用EA交易: CUnIndicator 和挂单的使用(第9部分)

本文讲述的是通过通用的 CUnIndicator 类来操作指标,另外,还探讨了操作挂单的新方法。请注意,从这一点开始,CStrategy 项目的结构开始发生本质改变,现在所有的文件都位于一个目录中以便用户方便使用。
市场上产品有效展示的小贴士
市场上产品有效展示的小贴士

市场上产品有效展示的小贴士

有效地向交易人出售程序,不仅需要编写一个高效有用的产品,然后还要在市场上发布。提供一份全面详尽的描述和高品质的插图至关重要。性能标识和正确的截图也与“真正的编码”同等重要。记住一个简单的公式:没有下载=没有销量。
将入场信息解析到指标
将入场信息解析到指标

将入场信息解析到指标

交易者的生活中会出现不同的状况。经常地, 成功交易的历史令我们能够复现策略, 而查看亏损历史, 让我们尝试开发和改进新的策略。在这两种情况下, 我们要将交易与已知指标进行比较。本文推荐了一批拿交易与数个指标进行比较的方法。
使用MQL4和MQL5绘制基于分形指标的趋势线
使用MQL4和MQL5绘制基于分形指标的趋势线

使用MQL4和MQL5绘制基于分形指标的趋势线

本文介绍一种使用MQL4和MQL5语言,自动绘制基于分形指标趋势线的方法。本文以比较的视角,提供两种语言的解决方案。使用最近的两个分形来绘制趋势线。
preview
OpenCL:从朴素到更具深度的编程

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

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

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

我们继续讨论,当交易货币篮子时交易者可以参考的形态。在这一部分中,我们将探讨当使用组合的趋势指标时构建的形态,会使用基于货币指数的指标作为分析工具。
价格速度测量方法
价格速度测量方法

价格速度测量方法

市场研究和分析有多种不同的方法,主要是技术分析和基础分析。在技术分析中,交易者收集、处理和分析与市场有关的数字数据和参数,包括价格、数量等。在基本面分析中,交易者分析直接或间接影响市场的事件和新闻。本文研究了价格-速度测量方法,并在此基础上研究了交易策略。
预测时间序列(第 2 部分):最小二乘支持向量机(LS-SVM)
预测时间序列(第 2 部分):最小二乘支持向量机(LS-SVM)

预测时间序列(第 2 部分):最小二乘支持向量机(LS-SVM)

本文交流的是基于支持向量法,预测时间序列算法的理论和实际应用。 它还提议采用 MQL 来实现,并提供了测试指标和智能交易系统。 该技术尚未在 MQL 中实现。 但是首先,我们必须了解相关的数学知识。
跨平台智能交易系统: CExpertAdvisor 和 CExpertAdvisors 类
跨平台智能交易系统: CExpertAdvisor 和 CExpertAdvisors 类

跨平台智能交易系统: CExpertAdvisor 和 CExpertAdvisors 类

本文主要介绍 CExpertAdvisor 和 CExpertAdvisors 类, 它们是本系列文章中所述跨平台智能交易系统里用到的所有组件的容器。
购买 MQL5 市场产品的安全程度如何?
购买 MQL5 市场产品的安全程度如何?

购买 MQL5 市场产品的安全程度如何?

我们推出的 MetaTrader 5 交易应用销售服务十分重视安全问题。我们将相关风险降至最低,以便您将注意力集中在更加重要的事情上 - 寻找最适合的交易机器人!
MetaTrader 5 与 MQL5 提供的无限机遇
MetaTrader 5 与 MQL5 提供的无限机遇

MetaTrader 5 与 MQL5 提供的无限机遇

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

利用 MQL5 面向对象编程法编写"EA 交易"

本文将着重讲述的是面向对象法,将我们曾在"针对初学者以 MQL5 编写"EA 交易"的分步指南"文中谈到的内容落到实处-创建简单的"EA 交易"。 很多人都觉得难,但是,我向您保证,看完本文之后,您就能够编写自己的面向对象 "EA 交易"了。
在 MetaTrader 5 中创建和测试自定义交易品种
在 MetaTrader 5 中创建和测试自定义交易品种

在 MetaTrader 5 中创建和测试自定义交易品种

创建自定义交易品种拓展了开发交易系统和金融市场分析的边界,现在,交易者可以在无限的金融资产工具上绘制图表和测试交易策略了。
用于 MQL5 向导的 NRTR 指标和交易模块
用于 MQL5 向导的 NRTR 指标和交易模块

用于 MQL5 向导的 NRTR 指标和交易模块

在本文中, 我们将分析 NRTR 指标, 并基于此指标创建一个交易系统。我们将会开发一个交易信号模块, 此模块可用来创建基于 NRTR 与附加趋势确认指标相结合的策略。
如何降低交易者的风险
如何降低交易者的风险

如何降低交易者的风险

在金融市场上进行交易是与各种风险相关的,这些风险在交易系统的算法中都应当被考虑到。降低这样的风险是在交易中获利的最重要的任务。
交易机器人在市场发布前必须经过的检验
交易机器人在市场发布前必须经过的检验

交易机器人在市场发布前必须经过的检验

任何产品在市场发布之前,它必须通过强制的预先检验,以确保符合统一的质量标准。本文介绍了开发者们在他们的技术指标和交易机器人中最常犯下的错误,并且也展示了在把产品发送到市场之前如何进行自我测试。
单一资产交易顺序中的风险评估. 续篇
单一资产交易顺序中的风险评估. 续篇

单一资产交易顺序中的风险评估. 续篇

这篇文章在之前文章部分思路上作开发,并且做进一步的探讨。它描述了收益分布和绘图中的问题,并且做了统计学上的研究。
MQL5 酷客宝典 - 轴点交易信号
MQL5 酷客宝典 - 轴点交易信号

MQL5 酷客宝典 - 轴点交易信号

本文描述的是,根据轴点-反转水平而发送信号的类的开发和实现。这个类可以通过使用标准库来构建策略,还探讨了通过增加过滤器来加强轴点策略。
在真实分时基础上测试交易策略
在真实分时基础上测试交易策略

在真实分时基础上测试交易策略

本文所提供的是一个简单策略以三种模式进行测试的结果: "1 分钟 OHLC", "每笔分时" 和使用实际历史数据的 "基于真实分时的每笔分时"。
同时双向工作的通用 RSI 指标
同时双向工作的通用 RSI 指标

同时双向工作的通用 RSI 指标

当开发交易算法时,我们经常遇到这样一个难题:如何确定趋势/盘整从哪里开始和结束?在本文中,我们尝试创建一个通用指标,在其中我们会尝试组合几种不同类型策略的信号。在 EA 交易中,我们将尝试尽可能简化取得交易信号的过程,并将给出一个把几个指标组合为一的实例。
轻松快捷开发 MetaTrader 程序的函数库(第十三部分):帐户对象事件
轻松快捷开发 MetaTrader 程序的函数库(第十三部分):帐户对象事件

轻松快捷开发 MetaTrader 程序的函数库(第十三部分):帐户对象事件

本文研究如何处理帐户事件,跟踪影响自动交易的重要帐户属性变化。 在开发帐户对象集合时,我们已在上一篇文章中实现了一些跟踪帐户事件的功能。
包含图形用户界面 (GUI) 的 EA 交易: 创建面板 (第一部分)
包含图形用户界面 (GUI) 的 EA 交易: 创建面板 (第一部分)

包含图形用户界面 (GUI) 的 EA 交易: 创建面板 (第一部分)

尽管很多交易者还是倾向于人工交易,但是很难完全避免一些重复性操作的自动化。这篇文章展示了一个实例,为人工交易开发一个多交易品种信号的 EA 交易。
使用WinInet.dll通过网络在终端间进行数据交互
使用WinInet.dll通过网络在终端间进行数据交互

使用WinInet.dll通过网络在终端间进行数据交互

本文描述了通过HTTP请求来操作网络,以及使用一个中间服务器进行终端间数据交互的方法。引入一个MqlNet类库,在MQL5环境中操作因特网上的资源。监视不同经纪商的报价,在终端内和其他交易者进行信息交流,在互联网上查找信息——这些是本文将介绍的一些例子。
基于 .Net 框架和 C# 为 EA 交易和指标开发图形界面
基于 .Net 框架和 C# 为 EA 交易和指标开发图形界面

基于 .Net 框架和 C# 为 EA 交易和指标开发图形界面

本文介绍了一种使用 Visual Studio 创建图形窗口的简单而快速的方法,并随后将其集成到专家顾问的MQL代码中。本文面向非专业读者,不需要了解C#和.NET技术。
EA 交易中的资金管理函数
EA 交易中的资金管理函数

EA 交易中的资金管理函数

交易策略的开发主要着重于搜索进入和退出市场的模式以及维持仓位。如果我们能够将某些模式公式化为自动交易规则,则交易者面临计算持仓量、预付款数额等问题,以及在自动模式中维持抵押资金的安全水平以保证未平仓位的问题。在本文中,我们将使用 MQL5 语言构建几个进行这些计算的简单例子。