MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
学习如何基于交易量设计交易系统

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

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

Lite_EXPERT2.mqh: Expert Advisor 开发人员的功能套件

本文是一系列“基于常见交易系统的 Expert Advisor 和交易机器人优化的惊人作用”文章的继续展开。 本文让读者熟悉 Lite_EXPERT2.mqh 文件的一个更为通用的函数库。
LibMatrix:矩阵代数库(第一部分)
LibMatrix:矩阵代数库(第一部分)

LibMatrix:矩阵代数库(第一部分)

作者让读者熟悉一个简单的矩阵代数库,并提供主要函数的说明和独特特性。
preview
连续前行优化 (第四部分): 优化管理器(自动优化器)

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

本文主要目的在于阐述运用我们的应用程序进行操控的机制及其能力。 因此,本文可视为有关如何运用该应用程序的指南。 它涵盖了所有可能的陷阱,以及应用程序用法的细节。
面向对象法建立多时间表及多货币面板
面向对象法建立多时间表及多货币面板

面向对象法建立多时间表及多货币面板

本文讲述如何利用面向对象编程创建 MetaTrader 5 多时间表与多货币面板。主要目标在于建立一个可用于显示多种不同类型数据(比如价格、价格变动、指标值或自定义买/卖条件)、且无需修改面板本身代码的通用面板。
MQL5 Cookbook: 处理 TradeTransaction 事件
MQL5 Cookbook: 处理 TradeTransaction 事件

MQL5 Cookbook: 处理 TradeTransaction 事件

本文从事件驱动编程的角度来考察 MQL5 语言的能力。这种方法的最大好处是,程序可以接收有关交易操作的分阶段实施信息。本文还包含一个使用 TradeTransaction 事件处理器的例子,来接收和处理正在进行的交易操作的动作信息。在我看来,这种方式可用于复制一个终端的交易到另一个终端。
preview
神经网络变得轻松(第六部分):神经网络学习率实验

神经网络变得轻松(第六部分):神经网络学习率实验

我们之前已研究过各种类型的神经网络及其实现。 在所有情况下,训练神经网络时都使用梯度下降法,为此我们需要选择学习率。 在本文中,我打算通过示例展示正确选择学习率的重要性,及其对神经网络训练的影响。
图形界面 VII: 页面控件 (第二章)
图形界面 VII: 页面控件 (第二章)

图形界面 VII: 页面控件 (第二章)

第七部分的第一章介绍了用于创建三种表格控件的类: 文字标签型表格(CLabelsTable), 编辑框型表格(CTable) 以及绘制型表格(CCanvasTable)。在本文中(第二章)我们将讨论页面(Tabs)控件。
统计分布在交易者工作中的作用
统计分布在交易者工作中的作用

统计分布在交易者工作中的作用

本文是我的《用 MQL5 表示统计概率分布》一文的续篇,该文介绍了处理某些理论统计分布的类。现在,我们已经有了理论基础,我建议我们应直接进入实际数据集,并尝试据此基础获得某些信息。
在交易中应用 OLAP(第 2 部分):可视化交互式多维数据分析的结果
在交易中应用 OLAP(第 2 部分):可视化交互式多维数据分析的结果

在交易中应用 OLAP(第 2 部分):可视化交互式多维数据分析的结果

在本文中,我们会探讨为一个MQL程序创建一个交互式图形界面,该程序设计用于使用OLAP技术处理帐户历史和交易报告。为了获得视觉效果,我们将使用最大化和可伸缩的窗口、自适应布局的控件和用于显示图表的新控件。为了提供可视化功能,我们将实现一个GUI,其中沿着坐标轴选择变量,以及选择聚合函数、图表类型和排序选项。
利用外部应用程序进行加密
利用外部应用程序进行加密

利用外部应用程序进行加密

在本文中,我们研究在 MetaTrader 和外部应用程序中进行对象加密/解密。 我们的目的是判断以相同初始数据获得相同结果的条件。
轻松快捷开发 MetaTrader 程序的函数库(第九部分):与 MQL4 的兼容性 - 准备数据
轻松快捷开发 MetaTrader 程序的函数库(第九部分):与 MQL4 的兼容性 - 准备数据

轻松快捷开发 MetaTrader 程序的函数库(第九部分):与 MQL4 的兼容性 - 准备数据

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第八部分中,我们实现了跟踪订单和持仓修改事件的类。 在此,我们将令其与 MQL4 完全兼容来,极大改进函数库。
非广延统计分布结构化分析的本征坐标法应用
非广延统计分布结构化分析的本征坐标法应用

非广延统计分布结构化分析的本征坐标法应用

应用统计的主要问题是接受统计假设的问题。长期以来它被视为一个无法解决的问题。随着本征坐标法的出现,这种情形出现了改变。它是对信号进行结构化研究的一款优秀且强大的工具,使用现代应用统计方法,能够精准预测可能的走势。本文着重于此方法的具体运用并以 MQL5 语言编程。它还使用 Hilhorst 和 Schehr 介绍的分布作为一个例子,处理函数识别问题。
面向初学者的创建具有多个指标缓冲区的指标
面向初学者的创建具有多个指标缓冲区的指标

面向初学者的创建具有多个指标缓冲区的指标

复杂代码由一组简单代码组成。如果您熟悉简单代码,复杂代码看上去就不那么复杂了。在本文中,我们将讨论如何创建具有多个指标缓冲区的指标。我们将 Aroon 指标作为示例进行详细分析,并给出两个不同的代码版本。
利用判别分析开发交易系统
利用判别分析开发交易系统

利用判别分析开发交易系统

开发交易系统时,通常都会出现选择最佳指标与信号组合的问题。而判别分析就是找到此类组合的方法之一。本文会给出一个用于市场数据采集的 EA 开发示例,并详细阐明如何利用判别分析在 Statistica 软件中构建外汇市场预后模型。
了解如何设计基于轨道线(Envelopes)的交易系统
了解如何设计基于轨道线(Envelopes)的交易系统

了解如何设计基于轨道线(Envelopes)的交易系统

在本文中,我将与您分享一种如何进行波带交易的方法。 这一次,我们将研究轨道线(Envelopes),并将看到创建一款基于轨道线的策略是多么容易。
preview
基于暴力算法的 CatBoost 模型高级重采样与选择

基于暴力算法的 CatBoost 模型高级重采样与选择

本文描述了一种可能的数据转换方法,旨在提高模型的通用性,并讨论了 CatBoost 模型的采样和选择。
关于策略优化的一些简单想法
关于策略优化的一些简单想法

关于策略优化的一些简单想法

即使你借助MQL5的云计算网络来进行优化工作,仍就需要消耗大量的计算机资源。本文由我对MetaTrader 5策略测试器一些简单的改进想所法组成。这些想法来自于MQL社区的相关技术文档、论坛和文章。
MQL5-RPC来自 MQL5 的远程过程调用:针对乐趣及获利的网络服务访问及 XML-RPC 自动交易锦标赛分析程序
MQL5-RPC来自 MQL5 的远程过程调用:针对乐趣及获利的网络服务访问及 XML-RPC 自动交易锦标赛分析程序

MQL5-RPC来自 MQL5 的远程过程调用:针对乐趣及获利的网络服务访问及 XML-RPC 自动交易锦标赛分析程序

本文介绍 MQL5-RPC 框架,该框架使来自 MQL5 的远程过程调用成为可能。它以 XML-RPC 基础、MQL5 实施开始,接着提供两个实际运用例子。第一个例子使用外部网络服务,第二个例子是一个用于简单 XML-RPC 2011 年自动交易锦标赛分析程序服务的客户端。如果您对如何实施和实时分析来自 2011 年自动交易锦标赛的不同统计数据感兴趣,则本文正好适合您。
利用 EX5 库来推动您的项目开发
利用 EX5 库来推动您的项目开发

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

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

利用模糊逻辑创建指标的简单示例

本文专门讲解金融市场分析模糊逻辑理念的实际应用。 我们会根据两条模糊规则和轨道线指标,提供生成信号的指标示例。 开发出的指标会采用多个指标缓冲区:7 个计算用缓冲区,5 个图表显示用缓冲区和 2 个颜色缓冲区。
preview
梯度提升(CatBoost)在交易系统开发中的应用. 初级的方法

梯度提升(CatBoost)在交易系统开发中的应用. 初级的方法

在 Python 中训练 CatBoost 分类器,并将模型导出到mql5,以及解析模型参数和自定义策略测试程序。Python 语言和 MetaTrader 5 库用于准备数据和训练模型。
掉期利率(第一部分):锁定与合成仓位
掉期利率(第一部分):锁定与合成仓位

掉期利率(第一部分):锁定与合成仓位

在本文中,我将尝试扩展掉期利率交易方法的经典概念。 我将解释为什么我会得出这样的结论,即这个概念值得特别关注,绝对推荐研究。
学习如何基于动量设计交易系统
学习如何基于动量设计交易系统

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

在我上一篇文章中,我曾提到了判断价格走势的重要性。 在本文中,我将分享最重要的概念和指标之一,即动量指标。 我还将分享如何基于这个动量指标设计一款交易系统。
DoEasy 函数库中的时间序列(第三十七部分):时间序列集合 - 按品种和周期的时间序列数据库
DoEasy 函数库中的时间序列(第三十七部分):时间序列集合 - 按品种和周期的时间序列数据库

DoEasy 函数库中的时间序列(第三十七部分):时间序列集合 - 按品种和周期的时间序列数据库

本文探讨开发针对程序中所有品种指定时间帧的时间序列集合。 我们将开发时间序列集合,为集合设置时间序列参数的方法,以及取用历史数据初始填充已开发的时间序列。
在图表上快速检验交易理念
在图表上快速检验交易理念

在图表上快速检验交易理念

本文介绍交易理念的快速视觉检验方法。方法基于价格图表、信号指标和余额计算指标组合。我愿意分享我的交易理念探寻方法,以及用于快速检验这些理念的方法。
preview
构建自动运行的 EA(第 04 部分):手工触发器(I)

构建自动运行的 EA(第 04 部分):手工触发器(I)

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。
DoEasy 函数库中的时间序列(第四十七部分):多周期、多品种标准指标
DoEasy 函数库中的时间序列(第四十七部分):多周期、多品种标准指标

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

在本文中,我着手开发操控标准指标的方法,最终能够基于函数库类创建多品种、多周期的标准指标。 此外,我将在时间序列类中添加“跳过柱线”事件,并将函数库的预备函数移至 CEngine 类,从而消减主程序代码中的过多负载。
开发自适应算法 (第二部分): 提高效率
开发自适应算法 (第二部分): 提高效率

开发自适应算法 (第二部分): 提高效率

在本文中,我将通过改进先前创建的算法的灵活性来继续本主题的开发。随着分析窗口中烛形数量的增加,或烛形超额阈值百分比的增加,算法变得更加稳定。我不得不做出妥协,并设置一个更大的样本量进行分析或更大的烛形超额百分比。
preview
如何利用 MQL5 检测蜡烛形态

如何利用 MQL5 检测蜡烛形态

一篇新文章,介绍如何通过 MQL5 自动检测价格的烛条形态。
MQL 作为 MQL 程序图形界面的标记工具。 第二部分
MQL 作为 MQL 程序图形界面的标记工具。 第二部分

MQL 作为 MQL 程序图形界面的标记工具。 第二部分

本篇论文继续验证新概念,即利用 MQL 结构描述 MQL 程序的窗口界面。 基于 MQL 标记自动创建 GUI 提供了缓存和动态生成元素和控制风格,以及事件处理的新方案。 随附的是标准控件库的增强版本。
preview
简单均值回归交易策略

简单均值回归交易策略

均值回归是一种逆势交易,交易者预估价格将返回到某种形式的均衡点位,通常依据均值或其它向心趋势统计值来衡量。
preview
RSI深三步交易技巧

RSI深三步交易技巧

在MetaTrader 5中展示RSI深三步交易技术。本文基于一系列新的研究,这些研究展示了一些基于RSI的交易技术,RSI是一种技术分析指标,用于衡量股票、货币或商品等证券的强度和动量。
Taichi 指标 - 一目平衡表指标值形式化的简单理念
Taichi 指标 - 一目平衡表指标值形式化的简单理念

Taichi 指标 - 一目平衡表指标值形式化的简单理念

一目平衡表指标信号是否难以解释?本文介绍了一些将一目平衡表指标信号及其数值形式化的原则。为了将使用方法可视化,作者根据自己的偏好选择了 EURUSD 货币对。不过,该指标可以用于任何货币对
Jeremy Scott - MQL5市场上的成功卖家
Jeremy Scott - MQL5市场上的成功卖家

Jeremy Scott - MQL5市场上的成功卖家

Jeremy Scott,在MQL5.community 中他的昵称是Johnnypasado,因其在MQL5市场上出售产品而为人们所熟知。Jeremy已经赚了好几千美元,并且这一势头还在延续。我们决定和这个未来的百万富翁来个近距离接触,并为其他MQL5市场上的卖家提供些建议。
中测试移动平均线计算的性能
中测试移动平均线计算的性能

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

在创建第一个移动平均线指标之后,已经出现了若干指标。其中很多指标使用类似的平滑方法,但是还没有研究不同的移动平均线算法的性能。在本文中,我们将考虑在 MQL5 中使用移动平均线的若干可能方式并比较它们的性能。
preview
神经网络变得轻松(第五部分):OpenCL 中的多线程计算

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

我们早前已经讨论过某些类型的神经网络实现。 在所研究的网络中,每个神经元都重复相同的操作。 逻辑上进一步应利用现代技术提供的多线程计算功能来加快神经网络学习过程。 本文介绍了一种可能的实现方式。
赌博模型作为培养"市场直觉"的方法
赌博模型作为培养"市场直觉"的方法

赌博模型作为培养"市场直觉"的方法

本文阐述了“市场直觉”的概念和培养方法。文章中描述的方法基于以简单游戏的形式对金融赌博建模。
preview
神经网络变得轻松(第四部分):循环网络

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

我们继续研究神经网络的世界。 在本文中,我们将研究另一种类型的神经网络,循环网络。 此类型建议与时间序列配合使用,其在 MetaTrader 5 交易平台中由价格图表呈现。
preview
神经网络变得轻松(第四十五部分):训练状态探索技能

神经网络变得轻松(第四十五部分):训练状态探索技能

在没有明确奖励函数的情况下,实用的训练技能就是分层强化学习的主要挑战之一。 以前,我们已领略了解决此问题的两种算法。 但环境研究的完整性问题仍然悬而未决。 本文演示了一种不同的技能训练方式,其可取决于系统的当前状态直接使用。