MQL4和MQL5编程文章

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

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

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 交易。

可视化策略构建工具. 无需编程即可创建交易机器人

本文展示了一个可视化的策略构建工具,它演示了任何用户如何不必编程就能创建交易机器人和相关工具。创建出的 EA 交易是完整功能的,并且可以在策略测试器中测试,通过云计算来优化或者实时运行于图表之上。

社交交易。 可盈利的信号能否变得更好?

大多数订阅者是通过优美的余额曲线和订阅用户数量来选择交易信号。 这就是为什么如今许多提供者只在乎漂亮的统计数据而非信号的真实质量,经常玩弄手数把戏并人为地将余额曲线整理到理想的外观。 本文论述了可靠性准则,以及提供者可用于提高其信号质量的方法。 展现特定信号历史的示例性分析,以及有助于提供者提升盈利并降低风险的方法。

开发基于振荡器的之字折线 (ZigZag) 指标。 执行需求规范的示例

本文根据《订购指标时如何准备需求规范》一文中描述的规范样本之一展示之字折线 (ZigZag) 指标的开发。 该指标利用振荡器所定义的极值来构建。 它能够采用五种振荡器之一: WPR,CCI,Chaikin,RSI 或 Stochastic 振荡器。

使用图形界面处理优化结果

这是处理和分析优化结果想法的续篇,这一次,我们的目标是选择100个最佳的优化结果并且在图形用户界面(GUI)表格中显示它们。用户将可以在优化结果中选择一行而在独立的图表中得到多交易品种余额和回撤图。

强化学习中的随机决策森林

使用 bagging 的随机森林(Random Forest, RF) 是最强大的机器学习方法之一, 它略微弱于梯度 boosting,这篇文章尝试开发了一个自我学习的交易系统,它会根据与市场的交互经验来做出决策。

开发多模块智能交易系统

MQL 编程语言允许实现交易策略的模块化开发概念。 本文展示由单独编译的文件开发多模块组合的智能交易系统示例。

ZUP - 通用之字折线 (ZigZag) 与 Pesavento 形态。 搜索形态

ZUP 指标允许搜索多个已知形态,其参数已经设置。 这些参数可以根据您的要求进行编辑。 您还可以使用 ZUP 图形界面创建新形态并将其参数保存到文件中。 之后,您可以快速检查这些新形态是否可以在图表中找到。

同步多个相同交易品种而时段不同的图表

当做交易决定时,我们经常必须在多个时段分析图表,同时,这些图表常常包含着图形对象,把相同的对象应用到所有图表中会不大方便,在本文中,我提出了一种自动克隆将要显示在图表中对象的方法。

MetaTrader 5 中的多元品种余额图

本文提供了一个 MQL 应用程序示例,其图形界面具有多元品种余额图,以及基于最后测试结果的资金回撤图。

深度神经网络 (第五部分)。 DNN 超参数的贝叶斯优化

本文研究利用贝叶斯优化深度神经网络 (DNN) 超参数,获取各种训练变体的可能性。 比较不同训练变体中最优超参数 DNN 的分类品质。 DNN 最优超参数的有效性的深度已在前瞻性测试中得以验证。 改善分类品质的可能方向也已确定。

自置缓存的指标速度比较

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

如何创建任意复杂度的图形面板

本文详细介绍了如何在 CAppDialog 类的基础上创建面板,以及如何在面板上增加控件。它描述了面板的结构和框架,显示了对象的继承关系。从这篇文章中,您还可以学习到事件是怎样处理的以及它们是怎样在独立的控件之间传递的。另外还有实例演示了如何编辑面板参数,例如大小和背景颜色。

在 MetaTrader 5 中交易策略优化的可视化

本文采用图形界面实现 MQL 应用程序来扩展可视化的优化过程。 图形界面采用 EasyAndFast 函数库的最新版本。 许多用户可能会问为什么他们在 MQL 应用程序中需要图形界面。 本文为交易者展示了众多实用情况之一。

交易者生活窍门: 利用 defines (#define) 融合 ForEach

对于那些仍然使用 MQL4 编程且不想切换到 MQL5 的人来说, 本文是一个过渡步骤。 我们继续寻找以 MQL4 风格编写代码的机会。 这一次, 我们将研究 #define 预处理器的宏替代。

如何创建订购指标的需求规范

大多数情况下, 开发交易系统的第一步是创建技术指标, 以便识别有价值的市场行为形态。 专业开发的指标可以从自由职业服务板块订购。 从本文中, 您将学习如何创建一份适当的需求规范, 这将有助于您更快地获得所需的指标。

利用文斯 (Vince) 进行资金管理。 作为 MQL5 向导模块实现

本文基于拉尔夫·文斯 (Ralph Vince) 的 "资金管理中的数学"。 它所提供的经验和参数方法描述, 可用于查询交易手数的最优规模。 本文还介绍了基于这些方法实现 MQL5 向导的交易模块。

为 MetaTrader 5 创建自定义新闻递送

在本文中, 我们将探讨创建灵活新闻递送的可能性, 可提供更多新闻类型和来源方面的选项。 本文将介绍如何将 Web API 与 MetaTrader 5 终端集成。

可控优化: 模拟退火

MetaTrader 5 交易平台中的策略测试器只提供两种优化选项: 参数完整搜索和遗传算法。 本文提出了一种交易策略优化的新方法 — 模拟退火。 该方法的算法, 其实现和集成到任何智能交易系统的方方面面均加以考虑。 开发出的算法已在移动平均 EA 上进行了测试。

交易员生存技巧: 由指标制作的快餐

如果您刚刚切换到 MQL5, 那么本文将会很有用处。首先, 以正常的 MQL4 风格访问指标数据和序列已经完成。其次, 以 MQL5 实现这些整体上更简单。所有函数都尽可能地清晰, 并且非常适合单步调试。

基于快速数学计算的自定义策略测试器

本文将介绍创建自定义策略测试器和自定义优化通关分析器的方法。阅读之后, 您将了解数学计算模式, 和所谓分帧机制如何工作, 如何准备和加载用于计算的自定义数据, 以及如何使用有效的算法将它们压缩。对于那些打算在智能系统中存储自定义信息感兴趣的人来说, 这篇文章会很有趣。

自动构造支撑和阻力线

本文阐述如何使用价格图表的局部顶/底自动构造支撑/阻力线。利用著名的之字折线 (ZigZag) 指标来定义这些极点值。

测试交易货币对篮子时出现的形态。第三部分

在本文中, 我们将完成测试交易货币对篮子时可能检测到的形态。在此, 我们会跟踪货币对中每支货币彼此相对的走势形态, 并展示其测试结果。

如何降低交易者的风险

在金融市场上进行交易是与各种风险相关的,这些风险在交易系统的算法中都应当被考虑到。降低这样的风险是在交易中获利的最重要的任务。

通道突破形态

价格趋势形成的价格通道可在金融产品的图表上观察到。突破当前通道是强趋势的反转信号之一。在本文中, 我推荐一种查找此类信号的自动处理方法, 并观察通道突破形态是否可用来创建交易策略。

自动选择有 "钱途" 的信号

本文将致力于分析 MetaTrader 5 平台的交易信号, 从而能够在用户账户里自动执行交易操作。此外,文章还研究了工具的开发,它有助于从终端当中直接搜索潜在地有 "钱途" 的交易信号。