MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
开发交易算法的科学方法
开发交易算法的科学方法

开发交易算法的科学方法

本文探讨了开发交易算法的方法,即使用一致的科学方法来分析可能的价格模式,并基于这些模式构建交易算法。开发的理念是通过实例来展示的。
自适应算法(第四部分):附加功能和测试
自适应算法(第四部分):附加功能和测试

自适应算法(第四部分):附加功能和测试

我将继续采用最少的必要功能来充实算法,并测试结果。 其获利能力十分低下,但文章展示的全自动盈利交易的模型,是在不同的行情基本面及完全不同的金融产品上进行。
开发和分析交易系统的最佳方法
开发和分析交易系统的最佳方法

开发和分析交易系统的最佳方法

在这篇文章中,我将展示在选择一个系统或信号来投资你的资金时所使用的标准,以及描述开发交易系统的最佳方法,并强调这个问题在外汇交易中的重要性。
MQL5 Cookbook - 以 MQL5 编写的多币种 EA,利用限价订单工作
MQL5 Cookbook - 以 MQL5 编写的多币种 EA,利用限价订单工作

MQL5 Cookbook - 以 MQL5 编写的多币种 EA,利用限价订单工作

这次,我们将要创建一款多币种 EA,交易算法基于限价订单 Buy Stop(高买) 和 Sell Stop(低卖)。本文讨论下列事项:在规定时间范围内进行交易,布置/修改/删除限价订单,检查最后一个持仓是否在止盈或止损位置平仓,以及在成交历史中控制每个品种。
MеtaTrader5 图表上的水平示意图
MеtaTrader5 图表上的水平示意图

MеtaTrader5 图表上的水平示意图

水平示意图在终端图表上并不常见,但在很多任务中仍然会用到它们,例如在开发显示特定周期的交易量或价格分布的指标时,当创建各种版本的市场深度时。 本文研究构建和管理水平示意图作为图形基元的数组。
选择交易信号进行订阅的技巧。循序渐进的操作手册
选择交易信号进行订阅的技巧。循序渐进的操作手册

选择交易信号进行订阅的技巧。循序渐进的操作手册

本文提供一种在信号服务中搜寻交易信号的系统性方法,寻找能够平衡获利、风险、交易欲望,并且能适用于各类交易帐户及交易对象的交易信号。
在MQL5程序中使用断言
在MQL5程序中使用断言

在MQL5程序中使用断言

本文介绍MQL5语言中断言的使用。给出了关于断言机制的两个例子以及实现断言的一些总体指导。
如何快速创建一个"2010 年自动交易锦标赛"专用"EA 交易"
如何快速创建一个"2010 年自动交易锦标赛"专用"EA 交易"

如何快速创建一个"2010 年自动交易锦标赛"专用"EA 交易"

为了开发出一种参与“2010 年自动交易锦标赛”的“EA 交易”,我们使用一个即用的“EA 交易”模板。 即便是 MQL5 程序员初哥也能胜任此任务,因为您策略的基类、函数和模板都已经开发完毕。 编写少量的代码来实现您的交易理念就足够了。
preview
神经网络变得轻松(第十一部分):自 GPT 获取

神经网络变得轻松(第十一部分):自 GPT 获取

也许,GPT-3 是目前已有语言类神经网络中最先进的模型之一,它的最大变体可包含 1750 亿个参数。 当然,我们不打算在家用 PC 上创建如此庞然之物。 然而,我们可以看看在我们的操作中能够采用哪种体系解决方案,以及如何从中受益。
交易者的 LifeHack: 测试中的余额,回撤,负载和订单指标
交易者的 LifeHack: 测试中的余额,回撤,负载和订单指标

交易者的 LifeHack: 测试中的余额,回撤,负载和订单指标

如何使测试过程有更好的可视化呢?答案很简单:您需要在策略测试器中使用一个或者多个指标,包含一个订单指标,一个余额和净值指标,一个回撤和存款负载指标。这种方案将有助您可视化地跟踪订单的实况,余额和净值的改变,以及回撤和存款负载。
轻松快捷开发 MetaTrader 程序的函数库(第十八部分):帐户与任意其他函数库对象之间的交互
轻松快捷开发 MetaTrader 程序的函数库(第十八部分):帐户与任意其他函数库对象之间的交互

轻松快捷开发 MetaTrader 程序的函数库(第十八部分):帐户与任意其他函数库对象之间的交互

本文将帐户对象的操作安置于任意函数库对象的新基准对象之上,改进了 CBaseObj 基准对象,并测试了设置跟踪参数,以及接收任意函数库对象事件。
MQL5 向导:如何创建未平仓位的追踪模块
MQL5 向导:如何创建未平仓位的追踪模块

MQL5 向导:如何创建未平仓位的追踪模块

MQL5 向导的交易策略生成器极大简化了交易理念的检验过程。本文介绍了如何编写自己的未平仓位管理类,以及如何将其连接至 MQL5 向导的交易策略生成器;当价格呈持仓方向移动时,该类可将止损水平移入无损区域,从而在交易过程中保护您的利益并减少亏损。本文还介绍了为 MQL5 向导创建的类的说明的结构和格式。
运用 MQL5 和 MQL4 开发品种选择和导航实用程序
运用 MQL5 和 MQL4 开发品种选择和导航实用程序

运用 MQL5 和 MQL4 开发品种选择和导航实用程序

经验丰富的交易者非常清楚交易中最劳神的事情并非开单和跟踪持仓,而是选择交易品种并寻找入场点。 在本文中,我们将开发一款 EA,可为您简化依据经纪商所提供交易产品搜索入场点的任务。
创建 EA 交易优化的自定义标准
创建 EA 交易优化的自定义标准

创建 EA 交易优化的自定义标准

MetaTrader 5 客户端提供了各种机会来优化 EA 交易的参数。除了策略测试程序中包含的优化标准以外,开发人员还有机会创建自己的标准。这样一来,EA 交易的测试和优化便具有了无限的可能性。本文介绍了创建此类标准的实用方法,既适用于复杂标准,也适用于简单标准。
轻松快捷开发 MetaTrader 程序的函数库(第六部分):净持帐户事件
轻松快捷开发 MetaTrader 程序的函数库(第六部分):净持帐户事件

轻松快捷开发 MetaTrader 程序的函数库(第六部分):净持帐户事件

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在本系列文章的第五部分中,我们创建了交易事件类和事件集合,从中将事件发送到 Engine 函数库的基础对象和控制程序图表。 在这部分中,我们将让函数工作在净结算账户上。
移动极小化极大:技术分析的新指标及其在 MQL5 中的实施
移动极小化极大:技术分析的新指标及其在 MQL5 中的实施

移动极小化极大:技术分析的新指标及其在 MQL5 中的实施

在下文中,我将基于 Z.G.Silagadze 的论文《移动极小化极大:技术分析的新指标》说明移动极小化极大指标的实施过程。指标的理念基于对量子隧穿现象的模拟,量子隧穿现象由 G. Gamov 在 α-衰变理论中提出。
可视化使用选定标准优化的结果
可视化使用选定标准优化的结果

可视化使用选定标准优化的结果

在这篇文章中,我们继续开发用于操作优化结果的 MQL 应用程序,这一次,我们将会展示如何在通过图形界面指定了其它标准、在优化参数之后生成最佳结果的表格。
preview
学习如何基于斐波那契(Fibonacci)设计交易系统

学习如何基于斐波那契(Fibonacci)设计交易系统

在本文中,我们将继续如何基于最流行的技术指标创建交易系统的系列文章。 这次一个新的技术工具,即斐波那契(Fibonacci),我们将学习如何基于该技术指标设计交易系统。
利用MQL进行MQL解析
利用MQL进行MQL解析

利用MQL进行MQL解析

本文描述了用于解析基于MQL的源代码的预处理器、扫描器和解析器,MQL 的实现在附件中。
扩展 MQL5 标准库和重用代码
扩展 MQL5 标准库和重用代码

扩展 MQL5 标准库和重用代码

作为一名开发人员,MQL5 标准库让您的工作变得更加容易。然而,它无法实现世界上所有开发人员的全部需求,所以,如果您觉得您需要更多的自定义程序,您可以对标准库进行进一步的扩展。本文指导您完成将 MetaQuotes 的峰谷技术指标集成至标准库。我们从 MetaQuotes 的设计理念获得启发以实现我们的目标。
用于交易事件和信号的语音通知系统
用于交易事件和信号的语音通知系统

用于交易事件和信号的语音通知系统

现如今,语音助手在人类生活中起着举足轻重的作用,因为我们会经常使用导航、语音搜索和翻译。 在本文中,我将尝试为各种交易事件、市场状态、或由交易信号生成的信号开发一个简单,且用户友好的语音通知系统。
轻松快捷开发 MetaTrader 程序的函数库(第 二十二部分):交易类 - 基准类,限制验证
轻松快捷开发 MetaTrader 程序的函数库(第 二十二部分):交易类 - 基准类,限制验证

轻松快捷开发 MetaTrader 程序的函数库(第 二十二部分):交易类 - 基准类,限制验证

在本文中,我们将着手开函数发库基准交易类,并在其第一个版本中加入进行交易操作的权限初始验证。 此外,我们还将略微扩展基准交易类的功能和内容。
使用云存储服务来进行终端之间的数据交换
使用云存储服务来进行终端之间的数据交换

使用云存储服务来进行终端之间的数据交换

云技术正在变得越来越流行,现在,我们可以选择付费或者免费的存储服务,有没有可能在交易中使用它们呢?本文提出了一种技术,可以使用云存储服务来进行终端之间的数据交换。
轻松快捷开发 MetaTrader 程序的函数库 (第 二十九部分) :延后交易请求 - 请求对象类
轻松快捷开发 MetaTrader 程序的函数库 (第 二十九部分) :延后交易请求 - 请求对象类

轻松快捷开发 MetaTrader 程序的函数库 (第 二十九部分) :延后交易请求 - 请求对象类

在之前的文章里,我们检验了延后交易请求的概念。 实际上,延后请求是由特定条件执行的正常交易订单。 在本文中,我们会创建完整的延后请求对象类 — 基准请求对象及其后代。
preview
构建自动运行的 EA(第 05 部分):手工触发器(II)

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

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。 在上一篇文章的末尾,我建议允许手工操作 EA 是合适的,至少在一段时间内。
MQL5 细则手册:在单一窗口中监控多个时间表
MQL5 细则手册:在单一窗口中监控多个时间表

MQL5 细则手册:在单一窗口中监控多个时间表

在 MetaTrader 5 中,有 21 个时间表可供分析。您可以利用能置于现有图表上的特殊图表对象,并在相应位置设置交易品种、时间表及其他属性。文章将对此类图表图形对象进行详细介绍:我们将使用控件(按钮)创建指标,以便同时在子窗口中建立多个图表对象。此外,图表对象将准确置于子窗口中,并随主图表或终端窗口的大小调整自动进行校正。
MQL5 Cookbook: 获取仓位属性
MQL5 Cookbook: 获取仓位属性

MQL5 Cookbook: 获取仓位属性

在本文中,我们将创建一个脚本来获得所有的仓位属性,并用对话框向用户显示它们。通过运行这个脚本,您可以从外部参数下拉列表的两种模式中选择:只看当前交易品种的仓位属性,或者查看所有交易品种的属性。
preview
数据科学与机器学习(第 01 部分):线性回归

数据科学与机器学习(第 01 部分):线性回归

我们作为交易员,现在是时候基于数字所言来培训我们的系统,并自行制定决策了。 尽管我们的眼睛看不到,但我们的勇气让我们相信,这是世界前进的方向,所以,让我们顶着波浪的方向移动。
轻松快捷开发 MetaTrader 程序的函数库 (第二十六部分):处理延后交易请求 - 首次实现 (开仓)
轻松快捷开发 MetaTrader 程序的函数库 (第二十六部分):处理延后交易请求 - 首次实现 (开仓)

轻松快捷开发 MetaTrader 程序的函数库 (第二十六部分):处理延后交易请求 - 首次实现 (开仓)

在本文中,我们将在订单和仓位的魔幻数字中存储一些数据,并开始实现延后请求。 为了验证这一概念,我们在收到服务器错误并需要等待与重复发送请求时,创建第一个测试延后请求来开仓。
图形界面 XI: 表格单元中的文本编辑框和组合框 (统合构建15)
图形界面 XI: 表格单元中的文本编辑框和组合框 (统合构建15)

图形界面 XI: 表格单元中的文本编辑框和组合框 (统合构建15)

在更新的函数库中, 表格控件 (CTable 类) 将补充新的选项。表格单元中的控件阵容得到扩展, 此次添加了文本编辑框和组合框。此外, 此次更新还引入了在运行时调整 MQL 应用程序窗口大小的功能。
在 MetaTrader 5 中使用 MATLAB 2018 的计算功能
在 MetaTrader 5 中使用 MATLAB 2018 的计算功能

在 MetaTrader 5 中使用 MATLAB 2018 的计算功能

在2015年升级了 MATLAB 包之后,有必要考虑一种现代的创建 DLL 库的方法。本文利用样本预测指标,说明了在目前使用的64位平台上关联 MetaTrader 5 和 MATLAB 的特点。通过探讨连接 MATLAB 的整个过程,MQL5 开发人员将能够更快地创建具有高级计算能力的应用程序,从而避免“陷阱”。
MQL5 酷客宝典: 读取持有锁仓仓位的属性
MQL5 酷客宝典: 读取持有锁仓仓位的属性

MQL5 酷客宝典: 读取持有锁仓仓位的属性

MetaTrader 5 是一个多资产平台,此外,它还支持不同的仓位管理系统。这种功能为实现和创建交易思路提供了更加广泛的选择,在本文中,我们将讨论在锁仓模式下处理和计算仓位属性的方法。这篇文章包含了一个派生类,以及展示如何取得和处理锁仓仓位属性的实例 。
价格序列离散化,随机分量和噪音
价格序列离散化,随机分量和噪音

价格序列离散化,随机分量和噪音

我们通常使用烛条或条形图来分析行情,将价格序列切分成规则间隔。 这样的离散化方法不会扭曲行情走势的真实结构吗? 将音频信号离散化为规则间隔是可以接受的解决方案,因为音频信号是随时间变化的函数。 信号本身是取决于时间的幅度。 该信号属性是基本的。
如何基于HTML和CSV报表可视化多币种交易历史
如何基于HTML和CSV报表可视化多币种交易历史

如何基于HTML和CSV报表可视化多币种交易历史

自推出以来,MetaTrader 5提供了多货币测试选项,也许交易者经常使用这个功能。然而,这种功能并不是万能的。本文介绍了几种基于HTML和CSV交易历史报告的图表图形绘制程序,多货币交易可以在多个子窗口以及使用动态切换命令的一个窗口中并行分析。
preview
交易中的资金管理

交易中的资金管理

我们将研究构建资金管理系统的几种新方法,并定义其主要功能。 今天,有相当多的资金管理策略可以满足各种口味。 我们将尝试根据不同的数学增长模型考察几种管理资金的方法。
preview
多层感知机与反向传播算法

多层感知机与反向传播算法

这两种方法的普及性日益增加,因此在 Matlab、R、Python、C++ 等领域开发了大量的库,它们接收到一个训练集作为输入,并自动为问题创建合适的网络。让我们试着理解基本的神经网络类型是如何工作的(包括单神经元感知机和多层感知机)。我们将探讨一个令人兴奋的算法,它负责网络训练 - 梯度下降和反向传播。现有的复杂模型往往基于这样简单的网络模型。
研究CCanvas类如何绘制透明的图形对象
研究CCanvas类如何绘制透明的图形对象

研究CCanvas类如何绘制透明的图形对象

你是不是想要更加好看的移动平均线?你想要在终端中绘制更加漂亮的而不是简单的实心矩形吗?终端中能够绘制出更有吸引力的图形。这可以通过CCanvas类来实现,该类用于创建自定义图形对象。用这个类你能够实现透明化,混合色以及通过重叠和混合颜色产生透明的效果。
创建一个在若干工具上交易的 EA 交易程序
创建一个在若干工具上交易的 EA 交易程序

创建一个在若干工具上交易的 EA 交易程序

金融市场中资产的多样化是一个非常旧的概念,并且始终吸引着新入门的交易者。在本文中,作者提出了一个最简单的方法用以构建一个多货币 EA 交易程序,以便对这种方向的交易策略提供一个初步介绍。
指标间的数据交换:易如反掌!
指标间的数据交换:易如反掌!

指标间的数据交换:易如反掌!

我们希望创建这样一个环境,即能够提供对附加于图表的指标的数据访问,并具有以下属性:没有数据复制;只需稍加修改我们需要使用的可用方法的代码;MQL 代码优先(当然,我们必须使用 DLL,但我们将只使用一些 C++ 代码字符串)。本文介绍了为 MetaTrader 终端开发程序环境的简易方法,这将提供从其他 MQL 程序访问指标缓冲区的方法。
preview
从头开始采用 MQL 语言进行深度神经网络编程

从头开始采用 MQL 语言进行深度神经网络编程

本文旨在教导读者如何从头开始采用 MQL4/5 语言构建深度神经网络。