MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
如何利用 MQL5 创建自定义指标(Heiken Ashi)

如何利用 MQL5 创建自定义指标(Heiken Ashi)

在本文中,我们将学习如何根据我们的偏好利用 MQL5 创建自定义指标,在 MetaTrader 5 当中运用它来帮助我们读取图表,或在自动智能系统当中运用。
用 MQL5 绘制指标的喷发
用 MQL5 绘制指标的喷发

用 MQL5 绘制指标的喷发

在本文中,我们将讨论指标的喷发 - 一种市场研究的新方法。喷发的计算基于不同指标的相交:在每次价格跳动后,将出现越来越多的带不同颜色和各种形状的点。它们形成了众多的集群,如星云、云团、轨迹、直线、弧线等。这些形状有助于发现影响市场价格变动的无形的跳跃力和驱动力。
使用 MetaTrader 4 进行基于时间的模式分析
使用 MetaTrader 4 进行基于时间的模式分析

使用 MetaTrader 4 进行基于时间的模式分析

基于时间的模式分析可以用于货币市场以确定进入交易的更好时点或避免交易的时间。这里我们使用 MetaTrader 4 分析历史市场数据,产生对机械式交易系统应用有用的优化结果。
MQL5 细则手册:保存基于指定标准的“EA 交易”的优化结果
MQL5 细则手册:保存基于指定标准的“EA 交易”的优化结果

MQL5 细则手册:保存基于指定标准的“EA 交易”的优化结果

我们继续有关 MQL5 编程的系列文章。这一次,我们来看一看如何获得“EA 交易”参数优化期间传递的每个优化的结果。将完成实现,以确保如果外部参数中指定的条件得到满足,对应的传递值将被写入文件。除了测试值,我们还将保存带来这样的结果的参数。
preview
MQL5 酷宝书 – 财经日历

MQL5 酷宝书 – 财经日历

本文着重于财经日历的编程特性,并研究创建一个类来简化访问日历属性和接收事件值。 运用 CFTC(商品期货交易委员会)的非商业净持仓规则来开发指标作为一个实际例子。
在交易中应用 OLAP(第四部分):定量和可视化分析测试器报告
在交易中应用 OLAP(第四部分):定量和可视化分析测试器报告

在交易中应用 OLAP(第四部分):定量和可视化分析测试器报告

本文提供的的基本工具,可针对测试器报告的单次通关验证和优化结果进行 OLAP 分析。 该工具可以操控标准格式文件(tst 和 opt),并还提供了图形界面。 MQL 源代码附带于后。
面向订单的 Expert Advisor。交易者手册
面向订单的 Expert Advisor。交易者手册

面向订单的 Expert Advisor。交易者手册

并非所有交易者都是程序员。同时并非所有程序员都是优秀的程序员。那么,如果你需要自动执行系统而又没有时间也不想研究 MQL4,应该怎么办?
DoEasy 函数库中的图形(第八十五部分):图形对象集合 - 添加新创建的对象
DoEasy 函数库中的图形(第八十五部分):图形对象集合 - 添加新创建的对象

DoEasy 函数库中的图形(第八十五部分):图形对象集合 - 添加新创建的对象

在本文中,我将完成抽象图形对象类的衍生后代类的开发,并开始实现将这些对象存储在集合类中的能力。 特别是,我将开发把新创建的标准图形对象添加到集合类的功能。
轻松快捷开发 MetaTrader 程序的函数库 (第十六部分) : 品种集合事件
轻松快捷开发 MetaTrader 程序的函数库 (第十六部分) : 品种集合事件

轻松快捷开发 MetaTrader 程序的函数库 (第十六部分) : 品种集合事件

在本文中,我们将为所有函数库的对象创建一个新的基类,在其所有衍生类中加入事件功能,并基于新的基类开发用来跟踪品种集合事件的类。 我们还将修改帐户和帐户事件类,以便开发新的基本对象功能。
DoEasy 函数库中的时间序列(第三十八部分):时间序列集合 - 实时更新以及从程序访问数据
DoEasy 函数库中的时间序列(第三十八部分):时间序列集合 - 实时更新以及从程序访问数据

DoEasy 函数库中的时间序列(第三十八部分):时间序列集合 - 实时更新以及从程序访问数据

本文研究实时更新时间序列数据,并从所有品种的所有时间序列里发送有关“新柱线”事件的消息至控制程序图表,从而能够在自定义程序中处理这些事件。 “新即时报价”类用于判断是否需要更新非当前图表品种和周期的时间序列。
preview
神经网络变得轻松(第十三部分):批次常规化

神经网络变得轻松(第十三部分):批次常规化

在上一篇文章中,我们开始研究旨在提高神经网络训练品质的方法。 在本文中,我们将继续这个主题,并会研讨另一种方法 — 批次数据常规化。
依据价格相关性的统计数据过滤信号
依据价格相关性的统计数据过滤信号

依据价格相关性的统计数据过滤信号

在过去的价格行为和其将来的趋势之间是否有任何相关性?为什么今天的价格重复以前的每日运行特征呢?统计能用于预测价格动态吗?有一个答案,并且是积极的答案。如果您有任何疑问,则本文正好为您释疑解惑。我将告诉您如何用 MQL5 为一个交易系统创建一个有效的过滤器,展现价格变动中有趣的图形。
应用网络函数,或无需 DLL 的 MySQL:第 II 部分 - 监视信号属性变化的程序
应用网络函数,或无需 DLL 的 MySQL:第 II 部分 - 监视信号属性变化的程序

应用网络函数,或无需 DLL 的 MySQL:第 II 部分 - 监视信号属性变化的程序

在前一部分当中,我们研究了 MySQL 连通器的实现。 在本文中,我们将研究如何实现收集信号属性的服务应用,和观察其随时间变化的程序。 如果用户需要观察并未显示在信号网页上的属性变化,则所实现的示例具有重大实际意义。
preview
基于MQL5的订单剥头皮交易系统

基于MQL5的订单剥头皮交易系统

这款MetaTrader 5 EA实现了基于订单流的剥头皮交易策略,并配备了高级风险管理功能。它使用多种技术指标,通过订单的不平衡性来识别交易机会。回测结果显示该策略具有潜在的盈利能力,但同时也突显了需要进一步优化的必要性,尤其是在风险管理和交易结果比率方面。该策略适合经验丰富的交易者,但在实际部署之前,需要进行彻底的测试和深入理解。
针对交易的组合数学和概率论(第四部分):伯努利(Bernoulli)逻辑
针对交易的组合数学和概率论(第四部分):伯努利(Bernoulli)逻辑

针对交易的组合数学和概率论(第四部分):伯努利(Bernoulli)逻辑

在本文中,我决定重点阐述著名的伯努利(Bernoulli)规划案,并展示如何用它来描述与交易相关的数据数组。 所有这些将被用来创建一个自适应的交易系统。 我们还将寻找一个更通用的算法,一个特例是伯努利公式,并查找能够运用它的应用。
创建非滞后数字滤波器
创建非滞后数字滤波器

创建非滞后数字滤波器

本文介绍在流数据中确定有效信号(趋势)的一种方法。应用至市场报价的小滤波(平滑)测试表明创建未在最后的柱上重绘的非滞后数字滤波器(指标)的潜力。
preview
学习如何基于强力指数(Force Index)设计交易系统

学习如何基于强力指数(Force Index)设计交易系统

欢迎阅读我们系列中的新篇章,有关如何基于最流行的技术指标设计交易系统。 在本文中,我们将学习一个新的技术指标,以及如何运用强力指数(Force Index)指标创建交易系统。
preview
自适应指标

自适应指标

在本文中,我将研究创建自适应指标的若干种可能方式。 自适应指标的区别在于输入值和输出信号之间存在反馈。 这种反馈令指标能够独自调整到处理金融时序数据的最优状态。
preview
针对交易的组合数学和概率论(第五部分):曲线分析

针对交易的组合数学和概率论(第五部分):曲线分析

在本文中,我决定进行一项研究,探讨将多重状态系统简化为双重状态系统的可能性。 本文的主要目的是分析并推导出有用的结论,这些结论也许有助于基于概率论的可伸缩交易算法的深入发展。 当然,这个话题会涉及到数学知识。 不过,根据之前文章的经验,我认为广谱信息比细节作用更大。
preview
改编版 MQL5 网格对冲 EA(第 II 部分):制作一款简单的网格 EA

改编版 MQL5 网格对冲 EA(第 II 部分):制作一款简单的网格 EA

在本文中,我们探讨了经典的网格策略,详解 MQL5 的智能交易系统的自动化,并初步分析回测结果。我们强调了该策略对高持有能力的需求,并概括了在未来分期分批优化距离、止盈和手数等关键参数的计划。该系列旨在提高交易策略效率,以及针对不同市场条件的适配性。
再谈技术分析的问题
再谈技术分析的问题

再谈技术分析的问题

目前,对基本因素的技术分析是分析证券市场的最重要的方法。作为证券市场价格动态的预测方法之一,技术分析有着大量的缺陷,导致了对其实际应用性的质疑。
preview
MQL5 — 您也可以成为该语言的大师

MQL5 — 您也可以成为该语言的大师

本文将是一次自我访谈,我将告诉您我是如何迈出 MQL5 语言的第一步的。 我将向您展示如何成为一名出色的 MQL5 程序员。 我将为您解释实现这一壮举的必要基础。 唯一的先决条件是愿意学习。
处理 MQL5“EA 交易”的 GSM 调制解调器
处理 MQL5“EA 交易”的 GSM 调制解调器

处理 MQL5“EA 交易”的 GSM 调制解调器

当前,有相当数量的方式可以对交易账户进行轻松的远程监视:移动终端、推送通知、ICQ 。但都需要互联网连接。本文描述了“EA 交易”的创建程序,即使在移动互联网不可用的情况下,其也允许您通过电话或短信与交易终端保持联系。
在市场中购买商品的技巧。循序渐进的操作手册
在市场中购买商品的技巧。循序渐进的操作手册

在市场中购买商品的技巧。循序渐进的操作手册

本手册提供一些技巧和窍门,帮助你更好的理解和寻找满足需求的商品。本文将探讨一些不同的方法来寻找合适的产品,滤除不需要的,找到高效以及适合你的产品。
将概率论应用于缺口交易
将概率论应用于缺口交易

将概率论应用于缺口交易

在本文中,我们将应用概率论和数理统计方法来创建并测试交易策略。 我们还将利用价格和随机漫游之间的差值来寻找最佳交易风险。 事实证明,如果价格表现为零漂移随机漫游(没有方向趋势),那么盈利交易是不可能的。
在算法交易中 Kohonen 神经网络的实际应用。 第 I 部分 工具
在算法交易中 Kohonen 神经网络的实际应用。 第 I 部分 工具

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

本文依据之前发表文献中所介绍的思路,开发在 MetaTrader 5 中运用 Kohonen 映像。 改进并强化的类提供了解决应用程序任务的工具。
图形界面 II: 设置库的事件处理函数 (第三章)
图形界面 II: 设置库的事件处理函数 (第三章)

图形界面 II: 设置库的事件处理函数 (第三章)

之前的文章中包含了用于创建主菜单构成部分类的实现. 现在, 是时候在主基础类和创建控件的类中关注事件处理函数了. 我们将特别关注根据鼠标光标的位置来管理图表的状态.
preview
继续漫步优化(第二部分):为任意机器人创建优化报告的机制

继续漫步优化(第二部分):为任意机器人创建优化报告的机制

在漫步优化系列中的第一篇文章里介绍了如何在我们的自动优化器中运用 DLL。 此续文完全致力于 MQL5 语言。
帮助定义市场趋势的枢轴点
帮助定义市场趋势的枢轴点

帮助定义市场趋势的枢轴点

枢轴点是价格图上的一条线,显示货币对的进一步趋势。如果价格在该线之上,则趋于上升。如果价格在该线之下,则相应的趋于下降。
测试可视化: 功能增强
测试可视化: 功能增强

测试可视化: 功能增强

本文描述了能够使策略测试与真实交易非常接近的软件.
preview
MQL5集成:Python

MQL5集成:Python

Python是一种广为人知且流行的语言,具有许多功能,尤其是在金融、数据科学、人工智能和机器学习领域。Python也是一种强大的工具,可以在交易中发挥作用。MQL5允许我们将这种强大的语言作为集成工具,以高效地实现我们的目标。在本文中,我们将在了解一些Python的基本信息后,分享如何在MQL5中使用Python作为集成工具。
DoEasy 函数库中的时间序列(第四十六部分):多周期、多品种指标缓冲区
DoEasy 函数库中的时间序列(第四十六部分):多周期、多品种指标缓冲区

DoEasy 函数库中的时间序列(第四十六部分):多周期、多品种指标缓冲区

在本文中,我将继续改进指标缓冲区对象类,从而可在多品种模式下操作。 这为自定义程序中创建多品种、多周期指标提供了途径。 我会在计算缓冲区对象里添加缺失的功能,从而令我们可创建多品种、多周期的标准指标。
MQL5 细则手册:指标子窗口控件 - 滚动条
MQL5 细则手册:指标子窗口控件 - 滚动条

MQL5 细则手册:指标子窗口控件 - 滚动条

让我们继续开发各种控件,这一次我们将注意力转向滚动条。正如前文“MQL5 细则手册:指标子窗口控件 - 按钮”一样,所有操作将在指标子窗口中执行。花一些时间阅读上面提到的文章,文中对在 OnChartEvent() 函数中处理事件提供了详细的说明,而这一点在本文中只是略有提及。为便于说明,这一次我们将为一个大列表创建一个垂直滚动条,该列表包含使用 MQL5 资源可以获得的所有金融工具属性。
preview
神经网络变得轻松(第十部分):多目击者关注

神经网络变得轻松(第十部分):多目击者关注

我们以前曾研究过神经网络中的自关注机制。 在实践中,现代神经网络体系结构会采用多个并行的自关注线程来查找序列元素之间的各种依存关系。 我们来研究这种方法的实现,并评估其对整体网络性能的影响。
在视图内/外绘制通道
在视图内/外绘制通道

在视图内/外绘制通道

如果说通道是继移动平均线之后最流行的市场分析和交易决策工具,我想这并没有夸大。无需深入了解为数众多的使用通道及其组件的交易策略,我们将讨论某指标的数据基础和实际实施,该指标用于在客户端的屏幕上绘制由三个极值确定的通道。
preview
让图表更有趣:添加背景

让图表更有趣:添加背景

许多工作站包含一些代表性的图片用以显示用户的一些信息。 这些图片令工作环境更加优美和令人兴奋。 我们来看看如何通过添加背景令图表更有趣。
更好的程序员(第 04 部分):如何成为更迅捷的开发人员
更好的程序员(第 04 部分):如何成为更迅捷的开发人员

更好的程序员(第 04 部分):如何成为更迅捷的开发人员

每位开发人员都希望能够更快地编写代码,且能够更快、更有效地编写代码并非只是少数人与生俱来的特殊能力。 无论有多少年的敲键盘经验,这项技能每位编码员都可以学习。
preview
构建自动运行的 EA(第 06 部分):账户类型(I)

构建自动运行的 EA(第 06 部分):账户类型(I)

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。 当前状态下,我们的 EA 已能在任何状况下工作,但尚未准备好自动化。 我们仍然需要在几点上努力。
preview
从头开始开发智能交易系统(第 7 部分):添加价格成交量(Volume)指标(I)

从头开始开发智能交易系统(第 7 部分):添加价格成交量(Volume)指标(I)

这是目前最强力的指标之一。 任何满怀信心尝试交易的人都必须在他们的图表上拥有这个指标。 最常用的指标都是那些喜欢在交易时“读磁带”的人所采用。 此外,而该指标则是那些交易时仅依据价格动作的人会采用。
preview
从头开始开发智能交易系统(第 22 部分):新订单系统 (V)

从头开始开发智能交易系统(第 22 部分):新订单系统 (V)

今天,我们将继续开发新订单系统。 实现一个新系统并非那么容易,因为我们经常会遇到各种问题令过程复杂化。 当这些问题出现时,我们必须停下来重新分析我们前进的方向。