MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
研究烛条分析技术(第一部分):检查现存形态
研究烛条分析技术(第一部分):检查现存形态

研究烛条分析技术(第一部分):检查现存形态

在本文中,我们将研讨流行的烛条形态,并尝试探索它们在当今市场中是否仍然相关和有效。 烛条分析出现在 20 多年前,从此后变得非常流行。 众多交易者认为日本烛条是最方便、易懂的资产价格可视化形式。
ZigZag(之字折线)的力量(第一部分)。 开发指标基类
ZigZag(之字折线)的力量(第一部分)。 开发指标基类

ZigZag(之字折线)的力量(第一部分)。 开发指标基类

许多研究人员对于判定价格行为没有给予足够的重视。 与此同时,还使用各种复杂方法,而这些方法通常只是“黑盒子”,例如机器学习或神经网络。 在这种情况下显现出的最严重问题就是提交何种数据来训练特定模型。
相关性在交易中的实际应用
相关性在交易中的实际应用

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

在本文中,我们将分析变量之间相关性的概念,以及相关系数的计算方法及其在交易中的实际应用。相关性是两个或多个随机变量之间的统计关系(或可以被视为具有某种可接受精度的随机量)。一个或多个变量的变化导致其他相关变量的系统变化。
以马丁格尔(翻倍加仓)为基础的长线交易策略
以马丁格尔(翻倍加仓)为基础的长线交易策略

以马丁格尔(翻倍加仓)为基础的长线交易策略

在本文中,我们将深入研究马丁格尔(翻倍加仓)系统。 我们将评测该系统是否可以用于实盘交易,以及在运用它时如何将风险减至最小。 这一简单系统的主要缺点在于很可能会将全部存款亏损。 如果您决定使用马丁格尔技术进行交易,则必须考虑这一事实。
MеtaTrader5 图表上的水平示意图
MеtaTrader5 图表上的水平示意图

MеtaTrader5 图表上的水平示意图

水平示意图在终端图表上并不常见,但在很多任务中仍然会用到它们,例如在开发显示特定周期的交易量或价格分布的指标时,当创建各种版本的市场深度时。 本文研究构建和管理水平示意图作为图形基元的数组。
蒙特卡罗方法在强化学习中的应用
蒙特卡罗方法在强化学习中的应用

蒙特卡罗方法在强化学习中的应用

在本文中,我们将应用强化学习来开发可以自主学习的EA交易。在前一篇文章中,我们考虑了随机决策森林算法,并编写了一个简单的基于强化学习的自学习EA,概述了这种方法的主要优点(交易算法的开发简单和“培训”速度快)。强化学习(RL)可以很容易地融入到任何交易EA中,并加速其优化。
在算法交易中 KOHONEN 神经网络的实际应用  第二部分优化和预测
在算法交易中 KOHONEN 神经网络的实际应用  第二部分优化和预测

在算法交易中 KOHONEN 神经网络的实际应用 第二部分优化和预测

在设计使用 Kohonen 网络的通用工具的基础上,我们建立了优化EA参数的分析和选择系统,并探讨了时间序列的预测。在第一部分中,我们修正和改进了公开的神经网络类,增加了必要的算法。现在,是时候在实际应用中使用它们了。
使用 MQL5 和 MQL4 开发的选择与导航工具: 增加自动模式搜索和显示侦测到的交易品种
使用 MQL5 和 MQL4 开发的选择与导航工具: 增加自动模式搜索和显示侦测到的交易品种

使用 MQL5 和 MQL4 开发的选择与导航工具: 增加自动模式搜索和显示侦测到的交易品种

在本文中, 我们继续扩展用于收集和在交易品种之间导航工具的功能。这一次,我们将创建新的选项卡,只显示满足一些必需参数的交易品种,并且研究如何根据所需的挑选规则简单添加自定义选项卡。
利用 HTML 报告分析交易结果
利用 HTML 报告分析交易结果

利用 HTML 报告分析交易结果

MetaTrader 5 平台具有保存交易报告,以及智能交易系统测试和优化报告的功能。 交易和测试报告可以按照两种格式保存:XLSX 和 HTML,而优化报告可以保存为 XML。 在本文中,我们将研究 HTML 测试报告,XML 优化报告和 HTML 交易历史报告。
分离策略在趋势和盘整条件下的优化
分离策略在趋势和盘整条件下的优化

分离策略在趋势和盘整条件下的优化

本文探讨了在分离在不同市场条件下的优化方法,分离优化意味着分别为上涨趋势和下跌趋势分别定义交易系统的最佳参数. 为了减少错误信号的影响,提高盈利能力,系统变得灵活,这意味着它们有一些特定的设置或输入数据,这是合理的,因为市场行为不断变化。
在算法交易中 Kohonen 神经网络的实际应用。 第 I 部分 工具
在算法交易中 Kohonen 神经网络的实际应用。 第 I 部分 工具

在算法交易中 Kohonen 神经网络的实际应用。 第 I 部分 工具

本文依据之前发表文献中所介绍的思路,开发在 MetaTrader 5 中运用 Kohonen 映像。 改进并强化的类提供了解决应用程序任务的工具。
利用 MQL5 和 MQL4 实现的选择和导航实用程序:添加"homework"选项卡并保存图形对象
利用 MQL5 和 MQL4 实现的选择和导航实用程序:添加"homework"选项卡并保存图形对象

利用 MQL5 和 MQL4 实现的选择和导航实用程序:添加"homework"选项卡并保存图形对象

在本文中,我们打算扩展先前创建的实用程序功能,添加用于选择所需品种的选项卡。 我们还将学习如何保存我们在特定品种图表上创建的图形对象,这样我们就不必再次创建它们。 此外,我们将发掘如何仅使用已操控经指定网站初步遴选的品种。
如何在 MetaTrader 5 中创建并测试自定义 MOEX(莫斯科证券交易所) 品种
如何在 MetaTrader 5 中创建并测试自定义 MOEX(莫斯科证券交易所) 品种

如何在 MetaTrader 5 中创建并测试自定义 MOEX(莫斯科证券交易所) 品种

本文介绍运用 MQL5 语言创建自定义兑换品种。 特别是,它研究使用来自流行的 Finam 网站的兑换报价。 本文中研究的另一个选项是在创建自定义品种时可以使用任意格式的文本文件。 这允许使用任何金融品种和数据源。 创建自定义品种之后,我们可以使用 MetaTrader 5 策略测试器的所有功能来测试兑换品种的交易算法。
将概率论应用于缺口交易
将概率论应用于缺口交易

将概率论应用于缺口交易

在本文中,我们将应用概率论和数理统计方法来创建并测试交易策略。 我们还将利用价格和随机漫游之间的差值来寻找最佳交易风险。 事实证明,如果价格表现为零漂移随机漫游(没有方向趋势),那么盈利交易是不可能的。
运用 MQL5 和 MQL4 开发品种选择和导航实用程序
运用 MQL5 和 MQL4 开发品种选择和导航实用程序

运用 MQL5 和 MQL4 开发品种选择和导航实用程序

经验丰富的交易者非常清楚交易中最劳神的事情并非开单和跟踪持仓,而是选择交易品种并寻找入场点。 在本文中,我们将开发一款 EA,可为您简化依据经纪商所提供交易产品搜索入场点的任务。
使用 OpenCL 测试烛形形态
使用 OpenCL 测试烛形形态

使用 OpenCL 测试烛形形态

这篇文章描述了在"一分钟OHLC"模式下实现 OpenCL 烛形形态测试器的算法。我们还将把它的速度与内建的策略测试器在快速和慢速优化模式下做比较。
自己动手开发多线程异步 MQL5 WebRequest
自己动手开发多线程异步 MQL5 WebRequest

自己动手开发多线程异步 MQL5 WebRequest

本文介绍了一个可以在 MQL5 中提高 HTTP 请求操作效率的开发库。它在另外的线程中实现 WebRequest 在非阻塞模式下的执行,并且可以用于辅助图表和EA交易,交换自定义事件以及读取共享资源。也提供了源代码。
逆转:正规化入场点并开发手动交易算法
逆转:正规化入场点并开发手动交易算法

逆转:正规化入场点并开发手动交易算法

这是专门讨论逆转交易策略系列文章的最后一篇。 在此我们将尝试解决导致之前文章中测试结果不稳定的问题。 我们还将开发和测试可在任何市场中运用的逆转策略手动交易算法。
逆转形态:测试头肩形态
逆转形态:测试头肩形态

逆转形态:测试头肩形态

本文是前一篇名为“逆转形态:测试双顶/双底形态”的后续文章。 现在我们将会看到另一个著名的逆转形态,称为头肩,比较两种形态的交易效率,并尝试将它们合并成为单一的交易系统。
反向交易: 减少最大回撤以及在其它市场上测试
反向交易: 减少最大回撤以及在其它市场上测试

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

在这篇文章中, 我们继续致力于反向交易技巧。我们将会尝试减少最大余额回撤,直到对之前探讨的交易工具可以接受的水平。我们将会看看这样是否将会减少利润,我们还将在其它市场中检验反转方法的运行,包括股票、商品、指数、ETF和农产品市场。注意,本文包含了很多图片!
逆转形态:测试双顶/双底形态
逆转形态:测试双顶/双底形态

逆转形态:测试双顶/双底形态

交易者经常寻找趋势逆转点,因为在趋势新形成的最初阶段价格走势具有最大潜力。 因此,在技术分析中考虑了各种逆转形态。 双顶/双底是最著名和最常用的形态之一。 本文提出了程序检测形态的方法。 它还测试了形态在历史数据上的盈利能力。
跳空缺口 - 是能够获利的策略还是五五开?
跳空缺口 - 是能够获利的策略还是五五开?

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

这篇文章详细讨论了跳空缺口 — 前一时间段的收盘价和后一时间段的开盘价之间的较大差距, 以及对日柱方向的预测。还探讨了通过系统DLL使用 GetOpenFileName 函数的问题。
使用限价订单替代止盈且无需修改 EA 的原始代码
使用限价订单替代止盈且无需修改 EA 的原始代码

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

使用限价订单来替代传统的止盈是论坛讨论的长期话题。 这种方法的优点是什么?如何在您的交易中实施? 在本文中,我将向您介绍我对此主题的看法。
走势延续模型 - 搜索图表和执行统计
走势延续模型 - 搜索图表和执行统计

走势延续模型 - 搜索图表和执行统计

本文提供了一种走势延续模型的程序化定义。 主要思路是定义两个波浪 — 主浪和修正浪。 对于极值点,我应用分形以及“潜在”分形 - 尚未形成分形的极值点。
EA 遥控方法
EA 遥控方法

EA 遥控方法

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

100 个最佳优化递次(第 1 部分)。 开发优化分析器

本文详细阐述了运用若干种可能选项开发选择最佳优化递次的应用程序。 该应用程序能够通过各种因素来筛选优化结果。 优化递次始终写入数据库,因此您总能无需重新优化即可选择新的机器人参数。 此外,您可在单个图表上查看所有优化递次,计算参数 VaR 比率,并构建递次与特定比率集和的交易结果的正态分布图。 以及,自优化伊始(或从选定日期到另一个选定日期)开始动态构建一些计算比率的图形。
根据指定的分布法则为自定义品种的时间序列建模
根据指定的分布法则为自定义品种的时间序列建模

根据指定的分布法则为自定义品种的时间序列建模

本文概述终端创建和运用自定义品种的能力,提供了使用自定义品种模拟交易历史、趋势和各种图表形态的选项。
自动优化 MetaTrader 5 专用 EA
自动优化 MetaTrader 5 专用 EA

自动优化 MetaTrader 5 专用 EA

本文描述 MetaTrader 5 下自我优化机制的实现。
反向交易: 圣杯还是危险的假象
反向交易: 圣杯还是危险的假象

反向交易: 圣杯还是危险的假象

在这篇文章中,我们将会学习反向马丁格尔技术,并且将会了解是否值得使用它,以及它是否有助于提高您的交易策略。我们将会创建一个 EA 交易来在历史数据上运行, 检查哪个指标是最适合于反向交易技术的 。我们还将验证是否可以不使用任何指标,以独立的交易系统来使用它。另外,我们还将验证反向交易是否可以把一个亏损系统转变为盈利的系统。
利用指标实时优化智能交易系统
利用指标实时优化智能交易系统

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

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

MQL5 酷客宝典: 读取持有锁仓仓位的属性

MetaTrader 5 是一个多资产平台,此外,它还支持不同的仓位管理系统。这种功能为实现和创建交易思路提供了更加广泛的选择,在本文中,我们将讨论在锁仓模式下处理和计算仓位属性的方法。这篇文章包含了一个派生类,以及展示如何取得和处理锁仓仓位属性的实例 。
Elder-Ray (多头力度和空头力度)
Elder-Ray (多头力度和空头力度)

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

本文详述了基于多头力度(Bulls Power),空头力度(Bears Power)和均线指标(EMA - 指数平均)的 Elder-Ray 交易系统。 Alexander Elder 在他的著作“为生活而交易”中描述了这个系统。
深度神经网络(第八部分)。 提高袋封融合的分类品质
深度神经网络(第八部分)。 提高袋封融合的分类品质

深度神经网络(第八部分)。 提高袋封融合的分类品质

本文研讨三种可用于提高袋封融合分类品质的方法,并对其效率进行了评估。 评估 ELM 神经网络超参数的优化效果,以及后期处理参数。
组合趋势和盘整策略
组合趋势和盘整策略

组合趋势和盘整策略

有多种多样的交易策略,它们中的一些要寻找趋势,而其它的一些会定义价格波动的范围而在其中进行交易。有没有可能把这两种方法组合到一起来增加获利呢?
在MQL5.com自由职业者服务中已完成50,000个订单
在MQL5.com自由职业者服务中已完成50,000个订单

在MQL5.com自由职业者服务中已完成50,000个订单

截至2018年10月,MetaTrader官方自由职业者服务的成员已完成超过50,000个订单。这是全球最大的MQL程序员自由职业网站:超过1000名开发人员,每天几十个新订单以及7种语言本地化。
基于 CGraphic  用于分析数据数组(时间序列)之间相互关联的 PairPlot  图
基于 CGraphic  用于分析数据数组(时间序列)之间相互关联的 PairPlot  图

基于 CGraphic 用于分析数据数组(时间序列)之间相互关联的 PairPlot 图

在技术分析中比较几个时间序列是一种很常用的任务,需要合适的工具。在本文中,我提出开发一种用于图形化分析的工具,可以侦测两个或者多个时间序列之间的相互关联。
以 delta 指标为例开发股票交易量控制指标
以 delta 指标为例开发股票交易量控制指标

以 delta 指标为例开发股票交易量控制指标

本文讨论基于实际交易量并使用 CopyTicks() 和 CopyTicksRange() 函数开发股票指标的算法。 还描述了开发此类指标的一些细微环节,以及它们在实时和策略测试器中的操作。
同时双向工作的通用 RSI 指标
同时双向工作的通用 RSI 指标

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

当开发交易算法时,我们经常遇到这样一个难题:如何确定趋势/盘整从哪里开始和结束?在本文中,我们尝试创建一个通用指标,在其中我们会尝试组合几种不同类型策略的信号。在 EA 交易中,我们将尝试尽可能简化取得交易信号的过程,并将给出一个把几个指标组合为一的实例。
已有950个网站提供来自MetaQuotes的经济日历
已有950个网站提供来自MetaQuotes的经济日历

已有950个网站提供来自MetaQuotes的经济日历

该小工具为网站提供了一个详细的发布时间表,列出了全球大型经济体的500个指标及指数。因此,除了主要的网站内容之外,交易者还能够迅速收到关于所有重要事件的最新消息及其解释和图表。
自定义交易历史表述并创建报告图表
自定义交易历史表述并创建报告图表

自定义交易历史表述并创建报告图表

本文研讨自定义交易历史的评估方法。 并为下载和分析历史记录编写了两个类。 第一个收集交易历史并将其表述为汇总表格。 第二个是处理统计数据: 它计算众多变量并构建图表,以便更有效地评估交易结果。