MQL4和MQL5编程文章

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

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

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

在交易账户上运行 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 平台的交易信号, 从而能够在用户账户里自动执行交易操作。此外,文章还研究了工具的开发,它有助于从终端当中直接搜索潜在地有 "钱途" 的交易信号。

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

这篇文章在之前文章部分思路上作开发,并且做进一步的探讨。它描述了收益分布和绘图中的问题,并且做了统计学上的研究。

在亚洲市场进行夜间交易: 如何保持盈利

这篇文章处理的是夜间交易的概念,以及使用 MQL5 来实现它们的交易策略。我们会进行测试并得出相应的结论。

动量弹球交易策略

在这篇文章中,我们会继续探讨根据 Linda B. Raschke 和 Laurence A. Connors 的 “华尔街智慧: 高胜算短线交易策略(Street Smarts: High Probability Short-Term Trading Strategies)”一书中描述的交易策略来书写代码,这一次我们将研究动量弹球系统(Momentum Pinball system):...

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

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

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

我们继续测试形态并尝试在文章中描述的交易货币对篮子的方法。让我们探讨在实际应用中是否可能使用组合 WPR 图与移动平均交叉的形态,如果答案是可以,我们应当考虑适当的使用方法。

利用迪纳波利 (DiNapoli) 等级进行交易

本文研究使用 MQL5 标准工具依据迪纳波利 (DiNapoli) 等级进行实际交易的智能交易系统变种。对其性能进行了测试并得出结论。

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

本文提出了一种技术, 通过汇集一套独立的指标, 以及开发定制的入场信号, 帮助每个人创建定制的交易策略。

将入场信息解析到指标

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

利用卡尔曼 (Kalman) 滤波器预测价格方向

为了成功交易, 我们几乎总是需要指标来把主要价格走势与噪音波动剥离。在本文中, 我们考察最有前途的数字滤波器之一, 卡尔曼滤波器。本文将介绍如何绘制和使用滤波器。

运用 R-平方 评估策略余额曲线的品质

本文介绍如何构建自定义优化标准 R-平方。这一准则可用来评估一个策略的余额曲线的品质, 并选择增长最平滑和稳定的策略。这项工作讨论其构建原理, 以及用于评估属性和衡量品质的统计方法。