MQL4和MQL5编程文章

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

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

使用 OpenCL 测试烛形形态

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

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

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

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

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

逆转形态:测试头肩形态

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

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

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

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

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

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

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

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

使用限价订单来替代传统的止盈是论坛讨论的长期话题。 这种方法的优点是什么?如何在您的交易中实施? 在本文中,我将向您介绍我对此主题的看法。

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

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

EA 遥控方法

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

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

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

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

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

自动优化 MetaTrader 5 专用 EA

本文描述 MetaTrader 5 下自我优化机制的实现。

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

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

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

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

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

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

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

本文详述了基于多头力度(Bulls Power),空头力度(Bears Power)和均线指标(EMA - 指数平均)的 Elder-Ray 交易系统。 Alexander Elder 在他的著作“为生活而交易”中描述了这个系统。

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

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

组合趋势和盘整策略

有多种多样的交易策略,它们中的一些要寻找趋势,而其它的一些会定义价格波动的范围而在其中进行交易。有没有可能把这两种方法组合到一起来增加获利呢?

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

截至2018年10月,MetaTrader官方自由职业者服务的成员已完成超过50,000个订单。这是全球最大的MQL程序员自由职业网站:超过1000名开发人员,每天几十个新订单以及7种语言本地化。

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

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

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

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

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

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

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

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

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

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

MetaTrader市场提供14,000个EA交易

目前,最大的自动交易应用程序成品商店可提供13,970个产品。它包含4,800个EA、6,500个指标、2,400个实用工具以及其他解决方案。在这种情况下,差不多有一半的应用程序(6,000)可供租用。此外,产品总数的1/4产品(3,800)可以免费下载。

包含图形用户界面 (GUI) 的 EA 交易: 增加功能 (第二部分)

这是展示开发用于人工交易的多交易品种信号 EA 文章的第二部分,我们已经创建了图形界面,现在是时候把它与程序功能相关联了。

交易账户监控是一个不可或缺的交易者工具

交易账户监控提供了关于所有已完成交易的详细报告。所有的交易统计数据都是自动收集的,并以易于理解的图形和图表形式提供给您。

整合基于MQL的EA交易和数据库 (SQL Server, .NET 和 C#)

本文描述了如何把操作 Microsoft SQL Server 数据库的功能加到基于 MQL 语言的 EA 交易中,它使用了从一个DLL(动态链接库)中引入函数的方法。这个 DLL 是使用 Microsoft .NET 平台和 C# 语言创建的。本文中使用的方法只要做少许调整,就可以用于使用 MQL4 开发的 EA 交易中。

可视化使用选定标准优化的结果

在这篇文章中,我们继续开发用于操作优化结果的 MQL 应用程序,这一次,我们将会展示如何在通过图形界面指定了其它标准、在优化参数之后生成最佳结果的表格。

货币对形态测试: 实际应用和真实交易视角。 第四部分

本文是专门讨论货币对篮子交易系列的总结。 在此,我们测试剩余的形态,并讨论在实际交易中如何应用整体方法。 入场和离场,搜索形态并分析它们,组合指标的复杂应用,这些均有研究。

深度神经网络 (第七部分)。 神经网络的融合: 堆叠

我们继续构建融合。 这次,之前创建的融合袋将辅以可训练的合并器 — 深度神经网络。 一个神经网络在修剪后合并了 7 个最佳融合输出。 第二个将融合的所有 500 个输出作为输入,修剪并合并它们。 神经网络将使用 Python 的 keras/TensorFlow 软件包构建。 该软件包的功能也会简要介绍。 还会进行测试并比较装型融合和堆叠融合的分类品质。

如何创建订购交易机器人的需求规范

您是否正在运用自己的策略进行交易? 如果您的系统规则可以描述为正规的软件算法,那么最好将交易委托给自动智能系统。 机器人不需要睡觉或食物,也不会受到人类弱点的影响。 在本文中,我们将展示如何在自由职业服务版块订购交易机器人时创建需求规范。

在 EA 交易代码中实现指标的计算

把指标代码移动到 EA 交易中可能有多种原因,怎样评估这种方法的优缺点呢?本文描述了在 EA 交易中实现指标代码,还进行了几个实验来评估 EA 交易运行的速度。

10 种横盘交易策略的比较分析

本文探讨横盘时交易的优缺点。 本文中创建并测试了十种基于在通道内跟踪价格走势的策略。 每种策略都配有过滤机制,旨在避免入场的假信号。

蒙特卡洛方法在交易策略优化中的应用

在交易账户上运行 EA 交易之前,我们通常会在报价历史上测试和优化它。然而,这里会有一个合理的问题: 过去的结果怎么会对我们的未来有所帮助呢?本文描述了使用蒙特卡洛方法来为交易策略的优化构建自定义的标准,另外,还会探讨 EA 交易的稳定性标准。

改进面板:增加透明化、改变背景色以及继承于 CAppDialog/CWndClient

在这篇文章中,我们继续研究 CAppDialog 的使用。现在我们将会学习如何设置对话框的背景、边框和抬头的颜色。另外,这篇文章还提供了有关在图表中拖曳应用程序窗口时,如何增加透明化它的分步描述。我们还将探讨,怎样创建 CAppDialog 或者 CWndClient 的子类来分析如何操作控件的新特点。最后,我们将从新的角度回顾新项目。

深度神经网络 (第六部分)。 神经网络分类器的融合: 引导聚合

本文讨论了用引导聚合结构构建并训练神经网络融合的方法。 它还确定了构成融合的各独立神经网络分类器的超参数优化的特性。 本文中所创建的神经网络融合的品质将与该系列前一篇文章中获得的优化神经网络的品质进行比较。 已考虑到进一步提高融合分类品质的可能性。

如何分析图表中所选择信号的交易

交易信号服务正在突飞猛进地发展。 将我们的资金托付给信号提供者,我们希望尽量减少资金亏损的风险。 那么如何在这个交易信号的森林中解开拼图呢? 如何发现能赚取盈利的产品? 本文提出创建一种工具,可在品种图表中直观地分析交易信号的交易历史。

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

尽管很多交易者还是倾向于人工交易,但是很难完全避免一些重复性操作的自动化。这篇文章展示了一个实例,为人工交易开发一个多交易品种信号的 EA 交易。