MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
具有最小延迟的有效平均算法:在指标中使用
具有最小延迟的有效平均算法:在指标中使用

具有最小延迟的有效平均算法:在指标中使用

本文介绍作者开发的更高质量的自定义平均函数:JJMASeries()、JurXSeries()、JLiteSeries()、ParMASeries()、LRMASeries()、T3Series()。本文还涉及在指标中应用上述函数。作者基于这些函数的使用引入一个丰富的指标库。
preview
继续漫步优化(第二部分):为任意机器人创建优化报告的机制

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

在漫步优化系列中的第一篇文章里介绍了如何在我们的自动优化器中运用 DLL。 此续文完全致力于 MQL5 语言。
再谈技术分析的问题
再谈技术分析的问题

再谈技术分析的问题

目前,对基本因素的技术分析是分析证券市场的最重要的方法。作为证券市场价格动态的预测方法之一,技术分析有着大量的缺陷,导致了对其实际应用性的质疑。
将概率论应用于缺口交易
将概率论应用于缺口交易

将概率论应用于缺口交易

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

用 MQL5 绘制指标的喷发

在本文中,我们将讨论指标的喷发 - 一种市场研究的新方法。喷发的计算基于不同指标的相交:在每次价格跳动后,将出现越来越多的带不同颜色和各种形状的点。它们形成了众多的集群,如星云、云团、轨迹、直线、弧线等。这些形状有助于发现影响市场价格变动的无形的跳跃力和驱动力。
应用网络函数,或无需 DLL 的 MySQL:第 II 部分 - 监视信号属性变化的程序
应用网络函数,或无需 DLL 的 MySQL:第 II 部分 - 监视信号属性变化的程序

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

在前一部分当中,我们研究了 MySQL 连通器的实现。 在本文中,我们将研究如何实现收集信号属性的服务应用,和观察其随时间变化的程序。 如果用户需要观察并未显示在信号网页上的属性变化,则所实现的示例具有重大实际意义。
交易报告及短信通知的创建和发布
交易报告及短信通知的创建和发布

交易报告及短信通知的创建和发布

交易者往往不能、也不想接连多少个小时被拴在交易终端那里。如果交易系统再或多或少地正规化、而且可以自动识别一些市场状态的时候,就更是如此。本文会讲述如何生成一份 HTML 文件格式的交易结果报告(利用“EA 交易”、指标或脚本),并通过 FTP 将其上传到 WWW 服务器。我们还会考虑以短信形式向手机发送交易事件通知。
用 MQL5 创建“贪吃蛇”游戏
用 MQL5 创建“贪吃蛇”游戏

用 MQL5 创建“贪吃蛇”游戏

本文描述一个“贪吃蛇”游戏编程的例子。在 MQL5 中,游戏编程变为可能主要是因为事件处理功能。面向对象编程大大简化了这个过程。在本文中,您将学习事件处理功能,标准 MQL5 库类的使用例子以及定期函数调用的详细信息。
图形界面 II: 设置库的事件处理函数 (第三章)
图形界面 II: 设置库的事件处理函数 (第三章)

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

之前的文章中包含了用于创建主菜单构成部分类的实现. 现在, 是时候在主基础类和创建控件的类中关注事件处理函数了. 我们将特别关注根据鼠标光标的位置来管理图表的状态.
在市场中购买商品的技巧。循序渐进的操作手册
在市场中购买商品的技巧。循序渐进的操作手册

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

本手册提供一些技巧和窍门,帮助你更好的理解和寻找满足需求的商品。本文将探讨一些不同的方法来寻找合适的产品,滤除不需要的,找到高效以及适合你的产品。
通过谷歌服务安排邮寄活动
通过谷歌服务安排邮寄活动

通过谷歌服务安排邮寄活动

交易者可能希望安排一次邮寄活动,以维持与其他交易者、订户、客户或朋友的业务关系。此外,可能需要发送屏幕截图、日志或报告。这些任务可能不是最经常出现的任务,但是拥有这样的特性显然是一个优势。本文讨论同时使用几个Google服务,在C#上开发适当的程序集,并将其与MQL工具集成。
随机沙盒
随机沙盒

随机沙盒

本文包括用作为 Excel 文件的交互式“沙盒”,用于模拟随机的 Expert Advisor 回溯测试数据。 读者可以使用它,有助于探索和深入了解 MetaTrader 默认提供的 EA 性能指标。 本文旨在引导读者获得这种体验。
在交易中应用 OLAP(第四部分):定量和可视化分析测试器报告
在交易中应用 OLAP(第四部分):定量和可视化分析测试器报告

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

本文提供的的基本工具,可针对测试器报告的单次通关验证和优化结果进行 OLAP 分析。 该工具可以操控标准格式文件(tst 和 opt),并还提供了图形界面。 MQL 源代码附带于后。
preview
学习如何基于 ATR 设计交易系统

学习如何基于 ATR 设计交易系统

在本文中,我们将学习一款可在交易中运用的新技术工具,作为我们学习如何设计简单交易系统系列的延续。 这次我们将选取另一个流行的技术指标:平均真实范围(ATR)。
依据价格相关性的统计数据过滤信号
依据价格相关性的统计数据过滤信号

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

在过去的价格行为和其将来的趋势之间是否有任何相关性?为什么今天的价格重复以前的每日运行特征呢?统计能用于预测价格动态吗?有一个答案,并且是积极的答案。如果您有任何疑问,则本文正好为您释疑解惑。我将告诉您如何用 MQL5 为一个交易系统创建一个有效的过滤器,展现价格变动中有趣的图形。
MQL5 细则手册:保存基于指定标准的“EA 交易”的优化结果
MQL5 细则手册:保存基于指定标准的“EA 交易”的优化结果

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

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

学习如何基于 Williams PR 设计交易系统

本系列中的一篇新文章,介绍了如何依据 MQL5 最流行的技术指标为 MetaTrader 5 设计交易系统。 在本文中,我们将学习如何依据 Williams‘ %R 指标设计交易系统。
非标准自动交易
非标准自动交易

非标准自动交易

不进行深入市场分析便使用 MT4 平台成功且舒适地交易——这可能吗?这种交易可以在现实中实施吗?我想,是的。特别对于自动交易,更是如此!
preview
学习如何基于交易量设计交易系统

学习如何基于交易量设计交易系统

这是我们系列文集中的新篇章,介绍如何基于最流行的技术指标设计交易系统。 本文将专门讨论交易量指标。 作为一个概念,交易量是金融市场交易中非常重要的因素之一,我们必须予以关注。 贯穿本文,我们将学习如何基于交易量指标设计一款简单的系统。
测试可视化: 功能增强
测试可视化: 功能增强

测试可视化: 功能增强

本文描述了能够使策略测试与真实交易非常接近的软件.
preview
学习如何基于 VIDYA 设计交易系统

学习如何基于 VIDYA 设计交易系统

欢迎阅读我们的关于学习如何依据最流行的技术指标设计交易系统系列的新篇章,在本文中,我们将学习一种新的技术工具,并学习如何依据可变指数动态平均线(VIDYA)设计交易系统。
基于大众交易系统和交易机器人优化点金术的 Expert Advisor(续)
基于大众交易系统和交易机器人优化点金术的 Expert Advisor(续)

基于大众交易系统和交易机器人优化点金术的 Expert Advisor(续)

在本文中,作者将提供各种方法来改进之前文章中所述的交易系统。本文适用于已有一些 Expert Advisor 编写经验的交易者。
轻松快捷开发 MetaTrader 程序的函数库(第十七部分):函数库对象之间的交互
轻松快捷开发 MetaTrader 程序的函数库(第十七部分):函数库对象之间的交互

轻松快捷开发 MetaTrader 程序的函数库(第十七部分):函数库对象之间的交互

在本文中,我们将完成所有函数库对象的基准对象开发,以便任何基于此函数库的对象都能够与用户进行交互。 例如,用户将能够设置开仓时可接受的点差大小,和预警价位,当点差达到该数值,或价格触及预警价位时,来自品种对象的事件将被一并发送到监听此信号的程序。
帮助定义市场趋势的枢轴点
帮助定义市场趋势的枢轴点

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

枢轴点是价格图上的一条线,显示货币对的进一步趋势。如果价格在该线之上,则趋于上升。如果价格在该线之下,则相应的趋于下降。
preview
神经网络变得轻松(第五部分):OpenCL 中的多线程计算

神经网络变得轻松(第五部分):OpenCL 中的多线程计算

我们早前已经讨论过某些类型的神经网络实现。 在所研究的网络中,每个神经元都重复相同的操作。 逻辑上进一步应利用现代技术提供的多线程计算功能来加快神经网络学习过程。 本文介绍了一种可能的实现方式。
preview
针对交易的组合数学和概率论(第五部分):曲线分析

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

在本文中,我决定进行一项研究,探讨将多重状态系统简化为双重状态系统的可能性。 本文的主要目的是分析并推导出有用的结论,这些结论也许有助于基于概率论的可伸缩交易算法的深入发展。 当然,这个话题会涉及到数学知识。 不过,根据之前文章的经验,我认为广谱信息比细节作用更大。
测试可视化:帐户状态图表
测试可视化:帐户状态图表

测试可视化:帐户状态图表

利用图表测试和显示余额的过程—现在可以始终看见所有必要信息了!
在 MetaTrader 5 中的连续期货合约
在 MetaTrader 5 中的连续期货合约

在 MetaTrader 5 中的连续期货合约

期货合约的生存跨度较短,它们的技术分析更复杂。对于短周期图表,技术分析是十分困难的。例如,UX-9.13 乌克兰股指期货的日线图上,有超过 100 根柱线。所以, 交易员会创建组合的长线期货合约。这篇文章解释了如何在 MetaTrader 5 客户端中拼接期货合约。
指标外部参数的图形控制
指标外部参数的图形控制

指标外部参数的图形控制

指标的外部变量通过专门的窗口进行控制,在窗口内可以更改参数,然后再次运行指标。 这些操作的明显不方便性产生了在屏幕上显示所需参数和图形化控制指标的需求。
在算法交易中 Kohonen 神经网络的实际应用。 第 I 部分 工具
在算法交易中 Kohonen 神经网络的实际应用。 第 I 部分 工具

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

本文依据之前发表文献中所介绍的思路,开发在 MetaTrader 5 中运用 Kohonen 映像。 改进并强化的类提供了解决应用程序任务的工具。
MetaTrader 5 带来新机遇
MetaTrader 5 带来新机遇

MetaTrader 5 带来新机遇

MetaTrader 4 在全世界范围内的交易者群体中收获了广泛的青睐,看起来似乎已经功德圆满了。利用其高处理速度、稳定性、编写指标的宽泛数组可能性、EA 交易、信息通达的交易系统,以及从 100 多家不同经纪人中进行挑选的能力 - 此终端于同类产品中鹤立鸡群、独树一帜。然而时间永不停歇,我们猛然间发现已经面临着选择 MetaTrade 4 还是 MetaTrade 5 的问题。那么,以有利于我们当前的观点来看,第 5 代终端有着哪些主要的不同呢?我们会在本文中给您讲述。
轻松快捷开发 MetaTrader 程序的函数库(第七部分): StopLimit 订单激活事件,为修改订单和持仓事件准备功能
轻松快捷开发 MetaTrader 程序的函数库(第七部分): StopLimit 订单激活事件,为修改订单和持仓事件准备功能

轻松快捷开发 MetaTrader 程序的函数库(第七部分): StopLimit 订单激活事件,为修改订单和持仓事件准备功能

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化了 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第六部分中,我们训导函数在净持结算账户上工作。 在此,我们将实现跟踪 StopLimit 订单激活,并准备跟踪修改订单和持仓事件的功能。
学习如何基于动量设计交易系统
学习如何基于动量设计交易系统

学习如何基于动量设计交易系统

在我上一篇文章中,我曾提到了判断价格走势的重要性。 在本文中,我将分享最重要的概念和指标之一,即动量指标。 我还将分享如何基于这个动量指标设计一款交易系统。
preview
神经网络变得轻松(第四部分):循环网络

神经网络变得轻松(第四部分):循环网络

我们继续研究神经网络的世界。 在本文中,我们将研究另一种类型的神经网络,循环网络。 此类型建议与时间序列配合使用,其在 MetaTrader 5 交易平台中由价格图表呈现。
MQL5 Cookbook: 开发多品种指标分析价格偏离
MQL5 Cookbook: 开发多品种指标分析价格偏离

MQL5 Cookbook: 开发多品种指标分析价格偏离

在本篇中, 我们将研究开发一款多品种指标来分析指定时间周期内的价格偏离。其核心议题已经在之前的多货币对指标编程文章中进行过讨论 "MQL5 Cookbook: 用 MQL5 开发多品种波动指标"。所以这次,我们将仅关注那些有了大幅变化的新特征和功能。如果您是多货币对指标编程的新人, 我建议您先去阅读之前的文章。
谬误,第 2 部分统计学是一门伪科学,亦或是一部记录艰难生计的编年史
谬误,第 2 部分统计学是一门伪科学,亦或是一部记录艰难生计的编年史

谬误,第 2 部分统计学是一门伪科学,亦或是一部记录艰难生计的编年史

无数次将统计方法应用于客观现实(即金融序列)的尝试在流程的非稳定性、伴随概率分布的肥尾效应和金融数据量不足等障碍前撞得头破血流。本文中,我将尝试不去探讨金融序列本身,而是探讨其主观呈现 - 在这种情况下,就是探讨交易者尝试控制序列(即交易系统)的方式。介绍交易结果流程的统计规律是件相当有意思的任务。在某些情况下,我们可以对此流程的模型下一个非常正确的结论,这些结论可以应用于交易系统。
preview
构建自动运行的 EA(第 15 部分):自动化(VII)

构建自动运行的 EA(第 15 部分):自动化(VII)

我们将继续讨论上一篇文章的主题,以便完成有关自动化的这一系列文章。 我们将看到所有内容如何搭配到一起,令 EA 像钟表一样运行。
计算数学表达式(第一部分)。 递归下降解析器
计算数学表达式(第一部分)。 递归下降解析器

计算数学表达式(第一部分)。 递归下降解析器

本文研究数学表达式解析和计算的基本原理。 我们基于预建语法树,实现运行于解释器和快速计算模式的递归下降解析器。
MQL5 细则手册:指标子窗口控件 - 滚动条
MQL5 细则手册:指标子窗口控件 - 滚动条

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

让我们继续开发各种控件,这一次我们将注意力转向滚动条。正如前文“MQL5 细则手册:指标子窗口控件 - 按钮”一样,所有操作将在指标子窗口中执行。花一些时间阅读上面提到的文章,文中对在 OnChartEvent() 函数中处理事件提供了详细的说明,而这一点在本文中只是略有提及。为便于说明,这一次我们将为一个大列表创建一个垂直滚动条,该列表包含使用 MQL5 资源可以获得的所有金融工具属性。
preview
利用 CatBoost 算法寻找外汇市场的季节性模式

利用 CatBoost 算法寻找外汇市场的季节性模式

本文探索了用时间过滤器建立机器学习模型,并讨论了这种方法的有效性。现在,只要简单地指示模型在一周中某一天的某个时间进行交易,就可以消除人为因素。模式搜索可以由单独的算法提供。