MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
学习如何基于鳄嘴(Gator)振荡器设计交易系统

学习如何基于鳄嘴(Gator)振荡器设计交易系统

这是我们关于学习如何基于流行技术指标设计交易系统系列的一篇新文章,将介绍鳄嘴(Gator)振荡器技术指标,以及如何通过简单的策略创建交易系统。
preview
神经网络变得轻松(第七部分):自适应优化方法

神经网络变得轻松(第七部分):自适应优化方法

在之前的文章中,我们利用随机梯度下降法针对网络中的所有神经元按照相同的学习率训练神经网络。 在本文中,我提议着眼于自适应学习方法,该方法能够改变每个神经元的学习率。 我们还将研究这种方法的利弊。
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合

DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合

鉴于程序在其运行时可能会用到不同的品种,因此应为每个品种创建一个单独的列表。 在本文中,我将把这些列表合并到一个即时报价数据集合。 实际上,这将是一个常规列表,基于指向标准库 CObject 类及其衍生类实例指针的动态数组。
preview
学习如何基于 OBV 设计交易系统

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

这是一篇新文章,将针对初学者继续我们的系列,介绍如何基于一些流行指标设计交易系统。 我们将学习一个新的指标,即能量潮(OBV),我们将学习如何使用并基于它来设计交易系统。
DoEasy 函数库中的图形(第七十七部分):阴影对象类
DoEasy 函数库中的图形(第七十七部分):阴影对象类

DoEasy 函数库中的图形(第七十七部分):阴影对象类

在本文中,我将为阴影对象创建一个单独类,它是图形元素对象的衍生后代,并加入渐变填充对象背景的功能。
preview
种群优化算法:蚁群优化(ACO)

种群优化算法:蚁群优化(ACO)

这次我将分析蚁群优化算法。 该算法非常有趣且复杂。 在本文中,我尝试创建一种新型的 ACO。
MQL5 信号的优势
MQL5 信号的优势

MQL5 信号的优势

MetaTrader 5 最近引入了交易信号服务,允许交易者复制任何信号提供者的交易操作。用户可以于其账户选择任何信号、执行订阅并复制所有交易记录。而信号提供者可以设定其订阅价格,并从其订阅者每月收取固定的费用。
preview
探索创建多彩烛条的选项

探索创建多彩烛条的选项

在本文中,我将探讨创建烛条自定义指标的可能性,并指出它们的优缺点。
preview
直推和主动机器学习中的梯度提升

直推和主动机器学习中的梯度提升

在本文中,我们将探讨利用真实数据的主动机器学习方法,并讨论它们的优缺点。也许你会发现这些方法很有用,并将它们包含在你的机器学习模型库中。直推是由支持向量机(SVM)的共同发明者弗拉基米尔·瓦普尼克(Vladimir Vapnik)提出的。
preview
模式搜索的暴力算法(第三部分):新视野

模式搜索的暴力算法(第三部分):新视野

本文延续了暴力算法的主题,并在程序算法中引入了市场分析的新机会,从而加快了分析速度,提高了结果质量。新的添加使得在这种方法中可以看到最高质量的全局模式。
preview
从头开始开发智能交易系统(第 18 部分):新订单系统 (I)

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

这是新订单系统的第一部分。 自从我们在文章中开始打造这个 EA 以来,它已经历了各种变化和改进,同时保持了相同的图表订单系统模型。
MQL5 Cookbook: 减少过度配合的影响以及处理报价缺失
MQL5 Cookbook: 减少过度配合的影响以及处理报价缺失

MQL5 Cookbook: 减少过度配合的影响以及处理报价缺失

无论您使用何种交易策略,总会有一个问题:怎样选择参数以保证未来的利润。本文提供了一个EA交易的实例,使您可以同时优化多个交易品种的参数,这种方法是未了减少参数的过度配合以及处理在研究中来自单个交易品种的数据不足的问题。
preview
数据科学和机器学习(第 05 部分):决策树

数据科学和机器学习(第 05 部分):决策树

决策树模仿人类的方式针对数据进行分类。 我们看看如何构建这棵树,并利用它们来分类和预测一些数据。 决策树算法的主要目标是将含有杂质的数据分离成纯节点或靠近节点。
preview
基于改进的十字星(Doji)烛条形态识别指标的交易策略

基于改进的十字星(Doji)烛条形态识别指标的交易策略

基于元柱线的指标比之传统指标,能检测到的蜡烛更多。 我们来检查一下这能否在自动交易中提供真正的益处。
preview
一张图表上的多个指标(第 05 部分):将 MetaTrader 5 转变为 RAD 系统(I)

一张图表上的多个指标(第 05 部分):将 MetaTrader 5 转变为 RAD 系统(I)

有很多人不知道如何编程,但他们很有创造力,亦有杰出的想法。 然而,由于缺乏编程知识,他们无法实现这些想法。 我们一起看看如何利用 MetaTrader 5 平台本身创建图表交易,就如同它是一个 IDE。
preview
神经网络变得轻松(第二十七部分):深度 Q-学习(DQN)

神经网络变得轻松(第二十七部分):深度 Q-学习(DQN)

我们继续研究强化学习。 在本文中,我们将与深度 Q-学习方法打交道。 DeepMind 团队曾运用这种方法创建了一个模型,在玩 Atari 电脑游戏时其表现优于人类。 我认为评估该技术来解决交易问题的可能性将会很有益处。
preview
从自营公司那里吸取一些教训(第 1 部分)— 简介

从自营公司那里吸取一些教训(第 1 部分)— 简介

在这篇介绍性文章中,我将讨论从自营交易公司实施的挑战规则中吸取的一些教训。 这对于初学者和那些努力在这个交易世界中站稳脚跟的人来说尤其重要。 后续文章会介绍代码实现。
preview
在一张图表上的多个指标(第 02 部分):首次实验

在一张图表上的多个指标(第 02 部分):首次实验

在前一篇文章“在一张图表上的多个指标”中,我介绍了如何在一张图表上加载多个指标的概念和基本知识。 在本文中,我将提供源代码,并对其进行详解。
preview
MQL5 — 您也可以成为该语言的大师

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

本文将是一次自我访谈,我将告诉您我是如何迈出 MQL5 语言的第一步的。 我将向您展示如何成为一名出色的 MQL5 程序员。 我将为您解释实现这一壮举的必要基础。 唯一的先决条件是愿意学习。
preview
创建一个行情卷播面板:改进版

创建一个行情卷播面板:改进版

您如何看待复查我们的行情卷播面板基本版的主意? 我们改进面板要做的第一件事就是能够添加图像,例如资产徽标或其它图像,从而用户可以迅速、轻松地识别所示品种。
preview
神经网络实验(第 6 部分):自给自足的价格预测工具 — 感知器

神经网络实验(第 6 部分):自给自足的价格预测工具 — 感知器

本文提供了一个的示例,运用感知器作为自给自足的价格预测工具,展示其一般概念和最简单的已制备智能系统,然后是其优化结果。
DoEasy 函数库中的时间序列(第三十六部分):所有用到的品种周期的时间序列对象
DoEasy 函数库中的时间序列(第三十六部分):所有用到的品种周期的时间序列对象

DoEasy 函数库中的时间序列(第三十六部分):所有用到的品种周期的时间序列对象

在本文中我们将探讨,把每个用到的品种周期的柱形对象列表合并到单一品种时间序列对象之中。 因此,每个品种均含一个对象,存储所有已用到品种时间序列周期的列表。
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类

DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类

在本文中,我将继续开发图表对象类。 我将添加含有可用指标列表的图表窗口对象列表。
我们如何开发MetaTrader 信号服务和群组交易
我们如何开发MetaTrader 信号服务和群组交易

我们如何开发MetaTrader 信号服务和群组交易

我们持续加强信号服务,完善机制,添加新的功能并修复缺陷。2012年的MetaTrader信号服务和当前的MetaTrader信号服务就像两个完全不同的服务。目前,我们正在实施 虚拟主机云服 务,它由一个服务器网络组成用来支持特定版本的MetaTrader客户端。
preview
神经网络变得轻松(第二十一部分):变分自动编码器(VAE)

神经网络变得轻松(第二十一部分):变分自动编码器(VAE)

在上一篇文章中,我们已熟悉了自动编码器算法。 像其它任何算法一样,它也有其优点和缺点。 在其原始实现中,自动编码器会尽可能多地将对象与训练样本分开。 这次我们将讨论如何应对它的一些缺点。
preview
DoEasy. 控件 (第 1 部分): 第一步

DoEasy. 控件 (第 1 部分): 第一步

本文开始延展话题,介绍如何利用 MQL5 仿照 Windows 窗体样式创建控件。 我感兴趣的第一个对象是创建面板(panel)类。 若是没有控件,那么管理就会变得越来越困难。 因此,我将仿照 Windows 窗体样式创建所有可能的控件。
preview
非线性指标

非线性指标

在本文中,我将尝试研究一些构建非线性指标的方法,并探索其在交易中的用处。 MetaTrader 交易平台中有相当多的指标采用非线性方式。
preview
神经网络变得轻松(第二十部分):自动编码器

神经网络变得轻松(第二十部分):自动编码器

我们继续研究无监督学习算法。 一些读者可能对最近发表的与神经网络主题的相关性有疑问。 在这篇新文章中,我们回到了对神经网络的研究。
preview
从头开始开发智能交易系统(第 25 部分):提供系统健壮性(II)

从头开始开发智能交易系统(第 25 部分):提供系统健壮性(II)

在本文中,我们将朝着 EA 的性能迈出最后一步。 为此,请做好长时间阅读的准备。 为了令我们的智能交易系统可靠,我们首先从代码中删除不属于交易系统的所有内容。
preview
复购算法:提高效率的数学模型

复购算法:提高效率的数学模型

在本文中,我们将使用复购算法来更深入地了解交易系统的效率,并开始研究使用数学和逻辑提高交易效率的一般原则,以及在使用任意交易系统方面应用更能提高效率的非标准方法。
preview
学习如何基于 MFI 设计交易系统

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

这篇新文章出自我们的系列文章,是有关基于最流行的技术指标设计交易系统,它研究了一个新的技术指标 — 资金流动性指数(MFI)。 我们将详细学习它,利用 MQL5 开发一个简单的交易系统,并在 MetaTrader 5 中执行它。
preview
简单均值回归交易策略

简单均值回归交易策略

均值回归是一种逆势交易,交易者预估价格将返回到某种形式的均衡点位,通常依据均值或其它向心趋势统计值来衡量。
preview
模式搜索的暴力方法(第二部分):深入

模式搜索的暴力方法(第二部分):深入

在本文中,我们将继续讨论暴力方法。我将尝试使用我的应用程序的新改进版本来更好地解释这种模式。我还将尝试使用不同的时间间隔和时间框架来找出稳定性的差异。
preview
构建自动运行的 EA(第 14 部分):自动化(VI)

构建自动运行的 EA(第 14 部分):自动化(VI)

在本文中,我们将把本系列中的所有知识付诸实践。 我们最终将建立一个 100% 自动化和功能性的系统。 但在此之前,我们仍然需要学习最后一个细节。
preview
在一张图表上的多个指标(第 03 部分):为用户开发定义

在一张图表上的多个指标(第 03 部分):为用户开发定义

今天,我们将首次更新指标系统的功能。 在“一张图表上的多个指标”的前一篇文章中,我们研究了允许在图表子窗口中加载多个指标的基本代码。 但其所代表的只是一个更大系统的起点。
preview
从头开始开发智能交易系统(第 28 部分):面向未来((III)

从头开始开发智能交易系统(第 28 部分):面向未来((III)

我们的订单系统有一项任务仍然尚未完成,但我们终将把它搞定。 MetaTrader 5 提供了一个允许创建和更正订单参数值的单据系统。 该思路是拥有一个智能系统,可令相同的票据系统更快、更高效。
DoEasy 函数库中的其他类(第六十六部分):MQL5.com 信号集合类
DoEasy 函数库中的其他类(第六十六部分):MQL5.com 信号集合类

DoEasy 函数库中的其他类(第六十六部分):MQL5.com 信号集合类

在本文中,我将针对 MQL5.com 信号服务创建信号集合类,拥有能够管理信号的函数。 此外,我将改进“市场深度”快照对象类,来显示 DOM 的总买卖量。
preview
首次启动MetaTrader VPS:分步说明

首次启动MetaTrader VPS:分步说明

使用EA交易或订阅信号的每个交易者几乎都会认识到,需要为自己的交易平台租用一个可靠的24/7全天候主机服务器。出于多种原因,我们建议使用MetaTrader VPS。您可以通过MQL5.community账户方便地支付服务费用和管理订阅。
山型或冰山型图表
山型或冰山型图表

山型或冰山型图表

您如何看待往 MetaTrader 5 平台里添加新图表类型的想法? 有人说它缺少其它平台里提供的一些东西。 但事实是,MetaTrader 5 是一个非常实用的平台,因为它允许您做到在许多其它平台上无法完成(或至少不能轻松完成)的事情。
preview
从头开始开发智能交易系统(第 12 部分):时序与交易(I)

从头开始开发智能交易系统(第 12 部分):时序与交易(I)

今天,我们将创建时序与交易,从而快速解读订单流程。 这是我们构建系统的第一部分。 在下一篇文章中,我们将补全该系统缺失的信息。 为了实现这一新功能,我们需要在智能交易系统代码中添加一些新的内容。