MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
更好的程序员(第 03 部分):放弃做这 5 件事成为一名成功的 MQL5 程序员
更好的程序员(第 03 部分):放弃做这 5 件事成为一名成功的 MQL5 程序员

更好的程序员(第 03 部分):放弃做这 5 件事成为一名成功的 MQL5 程序员

这是任何想要提高编程职业生涯的从业者必读文章。 本系列文章旨在尽最大可能令您成为最佳程序员,无论您有多少经验。 研讨的思路适用于 MQL5 编程萌新和专业人士。
preview
连续前行优化 (第四部分): 优化管理器(自动优化器)

连续前行优化 (第四部分): 优化管理器(自动优化器)

本文主要目的在于阐述运用我们的应用程序进行操控的机制及其能力。 因此,本文可视为有关如何运用该应用程序的指南。 它涵盖了所有可能的陷阱,以及应用程序用法的细节。
在算法交易中 KOHONEN 神经网络的实际应用  第二部分优化和预测
在算法交易中 KOHONEN 神经网络的实际应用  第二部分优化和预测

在算法交易中 KOHONEN 神经网络的实际应用 第二部分优化和预测

在设计使用 Kohonen 网络的通用工具的基础上,我们建立了优化EA参数的分析和选择系统,并探讨了时间序列的预测。在第一部分中,我们修正和改进了公开的神经网络类,增加了必要的算法。现在,是时候在实际应用中使用它们了。
交易报告及短信通知的创建和发布
交易报告及短信通知的创建和发布

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

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

MQL5 Cookbook: 自定义信息面板上的仓位属性

这一次我们创建一个简单的EA交易,它可以取得当前交易品种的仓位属性并且在人工交易的时候在自定义信息面板上显示它们。信息面板将使用图形对象创建,显示的信息在每当有订单时都会刷新,这将比系列文章的前一篇 - "MQL5 Cookbook: 获取仓位属性"中提到的每次必须人工运行脚本要方便得多。
使用伪模板替代 C++ 模板
使用伪模板替代 C++ 模板

使用伪模板替代 C++ 模板

本文说明了一种不使用模板但保持它们固有的编程风格的编程方式。文章讨论使用自定义方法实施模板的问题,并且附带了一个现成的脚本以依据指定的模板创建代码。
preview
MQL5 中的矩阵和向量

MQL5 中的矩阵和向量

运用特殊的数据类型“矩阵”和“向量”,可以创建非常贴合数学符号本意的代码。 运用这些方法,您可以避免创建嵌套循环,或在计算中分心记忆正确的数组索引。 因此,矩阵和向量方法的运用能为开发复杂程序提高可靠性和速度。
DoEasy 函数库中的图形(第八十五部分):图形对象集合 - 添加新创建的对象
DoEasy 函数库中的图形(第八十五部分):图形对象集合 - 添加新创建的对象

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

在本文中,我将完成抽象图形对象类的衍生后代类的开发,并开始实现将这些对象存储在集合类中的能力。 特别是,我将开发把新创建的标准图形对象添加到集合类的功能。
更好的程序员(第 02 部分):停止做这 5 件事变为一名成功的 MQL5 程序员
更好的程序员(第 02 部分):停止做这 5 件事变为一名成功的 MQL5 程序员

更好的程序员(第 02 部分):停止做这 5 件事变为一名成功的 MQL5 程序员

对于任何想要提高编程职业生涯的人来说,这是一篇必读文章。 本系列文章旨在尽最大可能令您成为最佳程序员,无论您有多少经验。 研讨的思路适用于 MQL5 编程萌新和专业人士。
preview
学习如何基于 Williams PR 设计交易系统

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

本系列中的一篇新文章,介绍了如何依据 MQL5 最流行的技术指标为 MetaTrader 5 设计交易系统。 在本文中,我们将学习如何依据 Williams‘ %R 指标设计交易系统。
应用网络函数,或无需 DLL 的 MySQL:第 II 部分 - 监视信号属性变化的程序
应用网络函数,或无需 DLL 的 MySQL:第 II 部分 - 监视信号属性变化的程序

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

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

用 MQL5 创建“贪吃蛇”游戏

本文描述一个“贪吃蛇”游戏编程的例子。在 MQL5 中,游戏编程变为可能主要是因为事件处理功能。面向对象编程大大简化了这个过程。在本文中,您将学习事件处理功能,标准 MQL5 库类的使用例子以及定期函数调用的详细信息。
轻松快捷开发 MetaTrader 程序的函数库 (第十六部分) : 品种集合事件
轻松快捷开发 MetaTrader 程序的函数库 (第十六部分) : 品种集合事件

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

在本文中,我们将为所有函数库的对象创建一个新的基类,在其所有衍生类中加入事件功能,并基于新的基类开发用来跟踪品种集合事件的类。 我们还将修改帐户和帐户事件类,以便开发新的基本对象功能。
preview
神经网络变得轻松(第四部分):循环网络

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

我们继续研究神经网络的世界。 在本文中,我们将研究另一种类型的神经网络,循环网络。 此类型建议与时间序列配合使用,其在 MetaTrader 5 交易平台中由价格图表呈现。
DoEasy 函数库中的时间序列(第三十八部分):时间序列集合 - 实时更新以及从程序访问数据
DoEasy 函数库中的时间序列(第三十八部分):时间序列集合 - 实时更新以及从程序访问数据

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

本文研究实时更新时间序列数据,并从所有品种的所有时间序列里发送有关“新柱线”事件的消息至控制程序图表,从而能够在自定义程序中处理这些事件。 “新即时报价”类用于判断是否需要更新非当前图表品种和周期的时间序列。
preview
学习如何基于 VIDYA 设计交易系统

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

欢迎阅读我们的关于学习如何依据最流行的技术指标设计交易系统系列的新篇章,在本文中,我们将学习一种新的技术工具,并学习如何依据可变指数动态平均线(VIDYA)设计交易系统。
preview
神经网络变得轻松(第五部分):OpenCL 中的多线程计算

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

我们早前已经讨论过某些类型的神经网络实现。 在所研究的网络中,每个神经元都重复相同的操作。 逻辑上进一步应利用现代技术提供的多线程计算功能来加快神经网络学习过程。 本文介绍了一种可能的实现方式。
preview
如何利用 MQL5 创建自定义唐奇安(Donchian)通道指标

如何利用 MQL5 创建自定义唐奇安(Donchian)通道指标

有许多技术工具可用于可视化围绕价格的通道,其中一种工具是唐奇安(Donchian)通道指标。 在本文中,我们将学习如何创建唐奇安(Donchian)通道指标,以及如何在 EA 中将其作为自定义指标进行交易。
学习如何基于动量设计交易系统
学习如何基于动量设计交易系统

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

在我上一篇文章中,我曾提到了判断价格走势的重要性。 在本文中,我将分享最重要的概念和指标之一,即动量指标。 我还将分享如何基于这个动量指标设计一款交易系统。
依据价格相关性的统计数据过滤信号
依据价格相关性的统计数据过滤信号

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

在过去的价格行为和其将来的趋势之间是否有任何相关性?为什么今天的价格重复以前的每日运行特征呢?统计能用于预测价格动态吗?有一个答案,并且是积极的答案。如果您有任何疑问,则本文正好为您释疑解惑。我将告诉您如何用 MQL5 为一个交易系统创建一个有效的过滤器,展现价格变动中有趣的图形。
使用 MetaTrader 4 进行基于时间的模式分析
使用 MetaTrader 4 进行基于时间的模式分析

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

基于时间的模式分析可以用于货币市场以确定进入交易的更好时点或避免交易的时间。这里我们使用 MetaTrader 4 分析历史市场数据,产生对机械式交易系统应用有用的优化结果。
用 MQL5 绘制指标的喷发
用 MQL5 绘制指标的喷发

用 MQL5 绘制指标的喷发

在本文中,我们将讨论指标的喷发 - 一种市场研究的新方法。喷发的计算基于不同指标的相交:在每次价格跳动后,将出现越来越多的带不同颜色和各种形状的点。它们形成了众多的集群,如星云、云团、轨迹、直线、弧线等。这些形状有助于发现影响市场价格变动的无形的跳跃力和驱动力。
MQL5 细则手册:保存基于指定标准的“EA 交易”的优化结果
MQL5 细则手册:保存基于指定标准的“EA 交易”的优化结果

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

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

创建非滞后数字滤波器

本文介绍在流数据中确定有效信号(趋势)的一种方法。应用至市场报价的小滤波(平滑)测试表明创建未在最后的柱上重绘的非滞后数字滤波器(指标)的潜力。
再谈技术分析的问题
再谈技术分析的问题

再谈技术分析的问题

目前,对基本因素的技术分析是分析证券市场的最重要的方法。作为证券市场价格动态的预测方法之一,技术分析有着大量的缺陷,导致了对其实际应用性的质疑。
图形界面 II: 设置库的事件处理函数 (第三章)
图形界面 II: 设置库的事件处理函数 (第三章)

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

之前的文章中包含了用于创建主菜单构成部分类的实现. 现在, 是时候在主基础类和创建控件的类中关注事件处理函数了. 我们将特别关注根据鼠标光标的位置来管理图表的状态.
谬误,第 2 部分统计学是一门伪科学,亦或是一部记录艰难生计的编年史
谬误,第 2 部分统计学是一门伪科学,亦或是一部记录艰难生计的编年史

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

无数次将统计方法应用于客观现实(即金融序列)的尝试在流程的非稳定性、伴随概率分布的肥尾效应和金融数据量不足等障碍前撞得头破血流。本文中,我将尝试不去探讨金融序列本身,而是探讨其主观呈现 - 在这种情况下,就是探讨交易者尝试控制序列(即交易系统)的方式。介绍交易结果流程的统计规律是件相当有意思的任务。在某些情况下,我们可以对此流程的模型下一个非常正确的结论,这些结论可以应用于交易系统。
轻松快捷开发 MetaTrader 程序的函数库(第七部分): StopLimit 订单激活事件,为修改订单和持仓事件准备功能
轻松快捷开发 MetaTrader 程序的函数库(第七部分): StopLimit 订单激活事件,为修改订单和持仓事件准备功能

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

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化了 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第六部分中,我们训导函数在净持结算账户上工作。 在此,我们将实现跟踪 StopLimit 订单激活,并准备跟踪修改订单和持仓事件的功能。
在交易中应用 OLAP(第四部分):定量和可视化分析测试器报告
在交易中应用 OLAP(第四部分):定量和可视化分析测试器报告

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

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

如何利用 MQL5 检测蜡烛形态

一篇新文章,介绍如何通过 MQL5 自动检测价格的烛条形态。
preview
继续漫步优化(第二部分):为任意机器人创建优化报告的机制

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

在漫步优化系列中的第一篇文章里介绍了如何在我们的自动优化器中运用 DLL。 此续文完全致力于 MQL5 语言。
处理 MQL5“EA 交易”的 GSM 调制解调器
处理 MQL5“EA 交易”的 GSM 调制解调器

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

当前,有相当数量的方式可以对交易账户进行轻松的远程监视:移动终端、推送通知、ICQ 。但都需要互联网连接。本文描述了“EA 交易”的创建程序,即使在移动互联网不可用的情况下,其也允许您通过电话或短信与交易终端保持联系。
将概率论应用于缺口交易
将概率论应用于缺口交易

将概率论应用于缺口交易

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

测试可视化: 功能增强

本文描述了能够使策略测试与真实交易非常接近的软件.
中测试移动平均线计算的性能
中测试移动平均线计算的性能

中测试移动平均线计算的性能

在创建第一个移动平均线指标之后,已经出现了若干指标。其中很多指标使用类似的平滑方法,但是还没有研究不同的移动平均线算法的性能。在本文中,我们将考虑在 MQL5 中使用移动平均线的若干可能方式并比较它们的性能。
在市场中购买商品的技巧。循序渐进的操作手册
在市场中购买商品的技巧。循序渐进的操作手册

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

本手册提供一些技巧和窍门,帮助你更好的理解和寻找满足需求的商品。本文将探讨一些不同的方法来寻找合适的产品,滤除不需要的,找到高效以及适合你的产品。
preview
了解使用MQL5下单

了解使用MQL5下单

在创建任何交易系统时,我们都需要有效地处理一项任务。这项任务是下单,或者让创建的交易系统自动处理订单,因为它在任何交易系统中都至关重要。因此,您将在本文中找到您需要了解的关于这项任务的大多数主题,以有效地创建您的交易系统。
preview
针对交易的组合数学和概率论(第五部分):曲线分析

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

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

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

本文研究数学表达式解析和计算的基本原理。 我们基于预建语法树,实现运行于解释器和快速计算模式的递归下降解析器。
利用 EX5 库来推动您的项目开发
利用 EX5 库来推动您的项目开发

利用 EX5 库来推动您的项目开发

隐藏 .ex5 文件中类/函数的实施细节,会让您能够同其他开发人员共享自己的专有算法,设立共同项目并在网络中宣传它们。而且,在 MetaQuotes 团队不遗余力地引入直接继承 ex5 库类可能性的同时,我们现在就要付诸实施了。