MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
将指标应用至其他指标
将指标应用至其他指标

将指标应用至其他指标

在编写使用 OnCalculate() 函数调用的简短形式的指标时,您可能会忽略这样一个事实,即指标的计算不仅可以通过价格数据完成,还可以通过其他指标(无论是内置指标还是自定义指标)的数据实现。是否要改进指标以使其可以正确应用至其他指标的数据?在本文中,我们将回顾修改所需的所有步骤。
轻松快捷开发 MetaTrader 程序的函数库 (第二十部分):创建和存储程序资源
轻松快捷开发 MetaTrader 程序的函数库 (第二十部分):创建和存储程序资源

轻松快捷开发 MetaTrader 程序的函数库 (第二十部分):创建和存储程序资源

本文讨论如何将数据存储在程序的源代码之中,并从中创建音频和图形文件。 在开发应用程序时,我们经常需要音频和图像。 MQL 语言拥有运用此类数据的若干种方法。
摆脱自制的 DLL
摆脱自制的 DLL

摆脱自制的 DLL

如果 MQL5 语言的功能性不足以完成任务,MQL5 程序员不得不诉诸于其他工具。他们必须转向其他编程语言并创建中间 DLL。MQL5 可提供各种数据类型并将它们传递至 API,但遗憾的是,MQL5 无法解决从收到的指针提取数据的相关问题。在本文中,我们将循规蹈矩,说明交换和使用复杂数据类型的简单机制。
MQL5 细则手册:指标子窗口控件 - 按钮
MQL5 细则手册:指标子窗口控件 - 按钮

MQL5 细则手册:指标子窗口控件 - 按钮

本文中,我们将探讨开发具备按钮控件的用户界面的示例。为向用户传递互动性理念,当光标悬停于按钮时,按钮颜色会发生改变。光标位于按钮之上时,按钮颜色将稍微变暗,点击时,按钮颜色则会变得明显更暗。此外,我们将为每一按钮添加工具提示,从而创建直观界面。
在交易中应用 OLAP(第 1 部分):在线分析多维数据
在交易中应用 OLAP(第 1 部分):在线分析多维数据

在交易中应用 OLAP(第 1 部分):在线分析多维数据

本文论述如何创建多维数据(OLAP - 在线分析处理)的在线分析框架,以及如何在 MQL 中实现此框架,还有利用交易帐户历史数据在 MetaTrader 环境中应用此类分析的示例。
MQL 作为 MQL 程序图形界面的标记工具。 第一部分
MQL 作为 MQL 程序图形界面的标记工具。 第一部分

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

这篇论文提出了一种新的概念,即利用 MQL 结构来描述 MQL 程序的窗口界面。 特殊类将可观察的 MQL 标记转换为 GUI 元素,并允许对其进行管理,为其设置属性,并以统一的方式处理事件。 它还提供了一些运用标准库的对话框和元素标记的示例。
Erik Nayman 的绳索指标
Erik Nayman 的绳索指标

Erik Nayman 的绳索指标

本文揭示 Erik L. Nayman 如何基于 "交易员小百科" 来创建 "绳索" 指标。此指标通过计算覆盖指定周期时间的牛熊数值来显示趋势方向。本文还包含指标创建和计算的原理以及例程代码。其它涉及的主题包括建立基于指标的智能交易程序, 和外部参数的优化。
排序方法并利用 MQL5 进行可视化
排序方法并利用 MQL5 进行可视化

排序方法并利用 MQL5 进行可视化

Graphic.mqh 函数库以 MQL5 设计, 用来处理图形。本文提供了一个实际应用的例子, 并解释了排序的思路。这里描述排序的一般概念, 因为每种排序类型至少已经具有一篇单独的论文, 而有些排序类型更是详细研究的对象。
货币对形态测试: 实际应用和真实交易视角。 第四部分
货币对形态测试: 实际应用和真实交易视角。 第四部分

货币对形态测试: 实际应用和真实交易视角。 第四部分

本文是专门讨论货币对篮子交易系列的总结。 在此,我们测试剩余的形态,并讨论在实际交易中如何应用整体方法。 入场和离场,搜索形态并分析它们,组合指标的复杂应用,这些均有研究。
使用MetaTrader 5作为MetaTrader 4的信号提供者
使用MetaTrader 5作为MetaTrader 4的信号提供者

使用MetaTrader 5作为MetaTrader 4的信号提供者

分析并通过技术实例说明怎样在MetaTrader 5平台上做交易分析而在MetaTrader 4上做交易。本文将展示如何在您的MetaTrader 5上创建简单的信号提供者,并且把它连接到多个客户端,甚至包括运行MetaTrader 4的客户端。而且您也可以发现怎样在您的真实MetaTrader 4账户中跟随自动交易锦标赛的选手。
100 个最佳优化递次(第 1 部分)。 开发优化分析器
100 个最佳优化递次(第 1 部分)。 开发优化分析器

100 个最佳优化递次(第 1 部分)。 开发优化分析器

本文详细阐述了运用若干种可能选项开发选择最佳优化递次的应用程序。 该应用程序能够通过各种因素来筛选优化结果。 优化递次始终写入数据库,因此您总能无需重新优化即可选择新的机器人参数。 此外,您可在单个图表上查看所有优化递次,计算参数 VaR 比率,并构建递次与特定比率集和的交易结果的正态分布图。 以及,自优化伊始(或从选定日期到另一个选定日期)开始动态构建一些计算比率的图形。
preview
神经网络变得轻松(第二部分):网络训练和测试

神经网络变得轻松(第二部分):网络训练和测试

在第二篇文章中,我们将继续研究神经网络,并研究在智能交易系统当中调用我们所创建 CNet 类的示例。 我们将操控两个神经网络模型,它们在训练时间和预测准确性方面都表现出相似的结果。
MQL5 中的事件处理:快速更改 MA 周期
MQL5 中的事件处理:快速更改 MA 周期

MQL5 中的事件处理:快速更改 MA 周期

假设有周期为 13 的简单 MA(移动平均线)指标应用至图表。而我们希望将周期更改为 20,但我们不想转到指标属性对话框去把将数字 13 更改为 20:我们就是对这些使用鼠标和键盘执行的乏味操作感到厌倦。尤其是,我们不希望打开指标代码进行修改。我们只想按一下按钮 - 与数字小键盘相邻的“向上箭头”- 就完成这一切。在本文中,我将给出实现方法。
图形界面 X: 时间控件, 复选框列表控件和表格排序 (集成编译 6)
图形界面 X: 时间控件, 复选框列表控件和表格排序 (集成编译 6)

图形界面 X: 时间控件, 复选框列表控件和表格排序 (集成编译 6)

创建图形界面的函数库开发续篇。这次会涵盖时间和复选框列表控件。此外, CTable 类现已提供按照升序或降序对数据排序的能力。
面向对象编程基础
面向对象编程基础

面向对象编程基础

您无需了解什么是多态性、什么是封装性,以及使用面向对象编程(OOP)相关的一切内容……您可能只需要使用这些功能就好了。本文中涵盖了 OOP 的基础知识,且带有亲身实践示例。
图形界面 IX: 颜色选择器控件 (第一章)
图形界面 IX: 颜色选择器控件 (第一章)

图形界面 IX: 颜色选择器控件 (第一章)

从本文开始,我们来到了致力于在 MetaTrader 交易终端中创建图形界面系列文章的第九部份。它有两章,包含了新的控件和接口,例如颜色选择器,颜色按钮,进度条和线性图表等。
图形界面 X: 简单快速开发库的更新 (版本 2)
图形界面 X: 简单快速开发库的更新 (版本 2)

图形界面 X: 简单快速开发库的更新 (版本 2)

自从之前的系列文章发布以后,简单快速开发库(Easy And Fast library)又增加了一些新的功能。库的结构和代码经过部分优化后部分减少了CPU的负载,很多控件类中的一些重复方法被转移到 CElement 基类中。
Dr. Tradelove 或我如何不再担忧并创建一个自训练 EA 交易
Dr. Tradelove 或我如何不再担忧并创建一个自训练 EA 交易

Dr. Tradelove 或我如何不再担忧并创建一个自训练 EA 交易

一年前,joo 在他的《遗传算法 - 很简单!》一文中向我们提供了一种用 MQL5 实施遗传算法的工具。现在,利用这个工具,我们将创建一个 EA 交易,该 EA 将依据某些边界条件对其自己的参数进行遗传优化。
轻松快捷开发 MetaTrader 程序的函数库(第二部分)。 历史订单和成交的集合
轻松快捷开发 MetaTrader 程序的函数库(第二部分)。 历史订单和成交的集合

轻松快捷开发 MetaTrader 程序的函数库(第二部分)。 历史订单和成交的集合

在第一部分中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 我们创建了 COrder 抽象对象,它是一个基础对象,用于存储历史订单和成交的数据,以及市价订单和仓位。 现在,我们将开发在集合中存储帐户历史数据的所有必要对象。
自定义交易历史表述并创建报告图表
自定义交易历史表述并创建报告图表

自定义交易历史表述并创建报告图表

本文研讨自定义交易历史的评估方法。 并为下载和分析历史记录编写了两个类。 第一个收集交易历史并将其表述为汇总表格。 第二个是处理统计数据: 它计算众多变量并构建图表,以便更有效地评估交易结果。
开发跨平台网格EA(第二部分):在趋势方向上的基于范围的网格
开发跨平台网格EA(第二部分):在趋势方向上的基于范围的网格

开发跨平台网格EA(第二部分):在趋势方向上的基于范围的网格

在本文中,我们将开发一个网格EA,用于在一个范围内的趋势方向上进行交易。这样,此EA主要适用于外汇和大宗商品市场,根据测试,我们的网格EA 自2018年以来显示盈利,不幸的是,这在2014-2018年期间并非如此。
自己动手开发多线程异步 MQL5 WebRequest
自己动手开发多线程异步 MQL5 WebRequest

自己动手开发多线程异步 MQL5 WebRequest

本文介绍了一个可以在 MQL5 中提高 HTTP 请求操作效率的开发库。它在另外的线程中实现 WebRequest 在非阻塞模式下的执行,并且可以用于辅助图表和EA交易,交换自定义事件以及读取共享资源。也提供了源代码。
以莫斯科交易所衍生产品市场为例的交易定价原则
以莫斯科交易所衍生产品市场为例的交易定价原则

以莫斯科交易所衍生产品市场为例的交易定价原则

本文介绍了莫斯科交易所衍生产品市场的交易定价和结算理论的特性。这是一篇综合性的文章,面向那些想在衍生品市场中获取他们第一次交易经验的初学者,以及那些正在考虑通过中央交换平台进行交易的经验丰富的外汇交易者。
preview
如何在 MetaTrader 5 中利用 DirectX 创建 3D 图形

如何在 MetaTrader 5 中利用 DirectX 创建 3D 图形

3D 图形为大数据分析提供了完美的方案,它可以直观透视隐藏的形态。 这些任务能以 MQL5 直接解决,而 DireсtX 函数允许创建三维物体。 故其能够为 MetaTrader 5 创建任意复杂度的程序,甚至 3D 游戏。 学习 3D 图形,从绘制简单的三维形状开始。
图形界面 XI: 集成标准图形库 (统合构建 16)
图形界面 XI: 集成标准图形库 (统合构建 16)

图形界面 XI: 集成标准图形库 (统合构建 16)

能够创建科学图表 (CGraphic 类) 的新版本图形库已于最近发布。创建图形界面的开发中函数库在本次更新中将引入创建图表的新版本控件。不同类型数据的可视化现在更加容易了。
学习如何设计基于 RSI 的交易系统
学习如何设计基于 RSI 的交易系统

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

在本文中,我将与您分享一个在交易领域最流行和最常用的指标,即 RSI。 您将学到如何基于该指标设计交易系统。
学习如何设计一款布林带(Bollinger Bands)交易系统
学习如何设计一款布林带(Bollinger Bands)交易系统

学习如何设计一款布林带(Bollinger Bands)交易系统

在本文中,我们将学习布林带,这是交易界最流行的指标之一。 我们将研究技术分析,并看看如何设计一款基于布林带(Bollinger Bands)指标的算法交易系统。
探索标准库的交易策略类 - 自定义策略
探索标准库的交易策略类 - 自定义策略

探索标准库的交易策略类 - 自定义策略

在本文中,我们将展示如何探索标准库的交易策略类,以及如何使用 MQL5 向导的"模式和模型"逻辑添加自定义策略和过滤器/信号。最后,您将能够使用 MetaTrader 5 标准指标轻松地添加自己的策略,且 MQL5 向导将创建简洁而强大的代码以及功能完善的"EA 交易"。
preview
固化价格动作止损或固化 RSI(智能止损)

固化价格动作止损或固化 RSI(智能止损)

在交易中,止损是资金管理采用的主要工具。 有效利用止损、获利回吐和成交量可以使交易者在交易中更加一致,总体上更加有利可图。 尽管止损是一个极好的工具,但在运用中也会遇到一些挑战。 最主要的是止损猎杀(stop-loss hunt)。 本文展望如何降低交易中的猎杀,并与经典的止损用例进行比较,从而判定其盈利能力。
在 MetaTrader 5 中实施多货币模式
在 MetaTrader 5 中实施多货币模式

在 MetaTrader 5 中实施多货币模式

长期以来,人们对多货币分析和多货币交易存在极大的兴趣。随着 MetaTrader 5 和 MQL5 编程语言的公开发行,实施完备的多货币体系成为可能。在本文中,针对多个交易品种,我们提出一种方法来分析和处理所有到来的价格变动。让我们将 USDx 美元指数的多货币 RSI 指标作为示例。
MQL5云网络: 你还在计算吗?
MQL5云网络: 你还在计算吗?

MQL5云网络: 你还在计算吗?

自MQL5云网络发布以来很快就要有一年半的时间了,这个领先事件又迎来了一个算法交易的新时代 - 现在,通过轻点鼠标交易人员就可以拥有成百上千的计算核心来处理优化他们的交易策略。
preview
交易中的数学:夏普(Sharpe)和索蒂诺(Sortino)比率

交易中的数学:夏普(Sharpe)和索蒂诺(Sortino)比率

投资回报率是投资者和萌新交易员用来分析交易绩效的最明显指标。 专业交易者会采用更可靠的工具来分析策略,比如夏普(Sharpe)比率和索蒂诺(Sortino)比率等。
MQL5 傻瓜式向导
MQL5 傻瓜式向导

MQL5 傻瓜式向导

在 2011 年年初,我们发布了 MQL5 向导的第一个版本。这一新的应用程序为自动生成交易机器人提供了简单方便的工具。任何 MetaTrader 5 用户都能创建自定义的EA 交易,他们甚至无需知道如何以 MQL5 编程。
图形界面 I: 用于表单按钮的函数与删除界面元素 (第四章)
图形界面 I: 用于表单按钮的函数与删除界面元素 (第四章)

图形界面 I: 用于表单按钮的函数与删除界面元素 (第四章)

在本文中, 我们将继续开发CWindow类, 增加它的类方法, 可以通过点击它的控件来对它进行管理. 我们将可以通过表单按钮来关闭程序, 也会实现表单的最小化和最大化功能.
走势延续模型 - 搜索图表和执行统计
走势延续模型 - 搜索图表和执行统计

走势延续模型 - 搜索图表和执行统计

本文提供了一种走势延续模型的程序化定义。 主要思路是定义两个波浪 — 主浪和修正浪。 对于极值点,我应用分形以及“潜在”分形 - 尚未形成分形的极值点。
使用面向对象的方法来编写EA的模式
使用面向对象的方法来编写EA的模式

使用面向对象的方法来编写EA的模式

本文介绍一种使用MQL5语言来编写多模式自动交易程序的方法。每一种模式都使用面向对象的方法来实现。不仅给出不同模式下类的层次结构,还给出用于测试的类的实例。多模式自动交易程序以MQL5语言实现,它应该考虑EA的每一种执行模式。创建用于确定EA模式的函数和枚举值。
如果您不是卖家或供应商,要如何从MetaTrader应用商店以及交易信号服务赚钱
如果您不是卖家或供应商,要如何从MetaTrader应用商店以及交易信号服务赚钱

如果您不是卖家或供应商,要如何从MetaTrader应用商店以及交易信号服务赚钱

今年夏天我们已经发布了一个新的伙伴计划来帮助MQL5.community成员推销他们的产品和信号。然而,它不仅有利于MetaTrader市 场卖家和付费交易信号供应商,还有利于普通用户。现在,您无需亲自编写市场应用或在MQL5.com出售您信号的订阅赚钱。您只是简单地帮忙推销这些产 品,获得您的利润份额。
在单一工具上使用不同的 EA 交易进行交易时 ORDER_MAGIC 的使用
在单一工具上使用不同的 EA 交易进行交易时 ORDER_MAGIC 的使用

在单一工具上使用不同的 EA 交易进行交易时 ORDER_MAGIC 的使用

本文考虑有关使用不同 EA 交易的自动交易的魔法标识以及分隔、组合与同步进行信息编码的问题。初学者和经验更多的交易者会对本文感兴趣,因为它解决虚拟仓位的问题,这在实施由 EA 交易的同步和各种策略组成的复杂系统时非常有用。
应用网络函数,或无需 DLL 的 MySQL:第 I 部分 - 连通器
应用网络函数,或无需 DLL 的 MySQL:第 I 部分 - 连通器

应用网络函数,或无需 DLL 的 MySQL:第 I 部分 - 连通器

MetaTrader 5 最近已获增网络函数。 这为程序员开发市场所需产品提供了巨大的机遇。 如今,他们能够实现以前需要动态库支持的功能。 在本文中,我们将以 MySQL 为例研究所有的实现。
DoEasy 函数库中的图形(第七十八部分):函数库中的动画原理。 图片切分
DoEasy 函数库中的图形(第七十八部分):函数库中的动画原理。 图片切分

DoEasy 函数库中的图形(第七十八部分):函数库中的动画原理。 图片切分

在本文中,我将定义会在函数库某些部分中用到的动画原理。 我还将开发一个类,复制图像的一部分,并将其粘贴到会话窗对象上的指定位置,它是为了保留和恢复叠加图像位置的会话窗背景部分。