MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
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年期间并非如此。
以莫斯科交易所衍生产品市场为例的交易定价原则
以莫斯科交易所衍生产品市场为例的交易定价原则

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

本文介绍了莫斯科交易所衍生产品市场的交易定价和结算理论的特性。这是一篇综合性的文章,面向那些想在衍生品市场中获取他们第一次交易经验的初学者,以及那些正在考虑通过中央交换平台进行交易的经验丰富的外汇交易者。
图形界面 XI: 集成标准图形库 (统合构建 16)
图形界面 XI: 集成标准图形库 (统合构建 16)

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

能够创建科学图表 (CGraphic 类) 的新版本图形库已于最近发布。创建图形界面的开发中函数库在本次更新中将引入创建图表的新版本控件。不同类型数据的可视化现在更加容易了。
preview
如何在 MetaTrader 5 中利用 DirectX 创建 3D 图形

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

3D 图形为大数据分析提供了完美的方案,它可以直观透视隐藏的形态。 这些任务能以 MQL5 直接解决,而 DireсtX 函数允许创建三维物体。 故其能够为 MetaTrader 5 创建任意复杂度的程序,甚至 3D 游戏。 学习 3D 图形,从绘制简单的三维形状开始。
预测金融时间序列
预测金融时间序列

预测金融时间序列

预测金融时间序列是任何投资活动的必备元素。投资本身的概念是投入现有的资金以在未来获利,而这个概念又基于预测未来的概念。因此,预测金融时间序列是整个投资行业(包括所有有组织的交易所和其他证券交易系统)的投资活动的基础。
自己动手开发多线程异步 MQL5 WebRequest
自己动手开发多线程异步 MQL5 WebRequest

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

本文介绍了一个可以在 MQL5 中提高 HTTP 请求操作效率的开发库。它在另外的线程中实现 WebRequest 在非阻塞模式下的执行,并且可以用于辅助图表和EA交易,交换自定义事件以及读取共享资源。也提供了源代码。
探索标准库的交易策略类 - 自定义策略
探索标准库的交易策略类 - 自定义策略

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

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

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

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

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

在本文中,我将与您分享一个在交易领域最流行和最常用的指标,即 RSI。 您将学到如何基于该指标设计交易系统。
在 MetaTrader 5 中实施多货币模式
在 MetaTrader 5 中实施多货币模式

在 MetaTrader 5 中实施多货币模式

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

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

自MQL5云网络发布以来很快就要有一年半的时间了,这个领先事件又迎来了一个算法交易的新时代 - 现在,通过轻点鼠标交易人员就可以拥有成百上千的计算核心来处理优化他们的交易策略。
学习如何设计一款布林带(Bollinger Bands)交易系统
学习如何设计一款布林带(Bollinger Bands)交易系统

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

在本文中,我们将学习布林带,这是交易界最流行的指标之一。 我们将研究技术分析,并看看如何设计一款基于布林带(Bollinger Bands)指标的算法交易系统。
突破策略测试程序在测试对冲 EA 时的限制
突破策略测试程序在测试对冲 EA 时的限制

突破策略测试程序在测试对冲 EA 时的限制

一种使用策略测试程序测试对冲 Expert Advisor 的思路。
MQL5 傻瓜式向导
MQL5 傻瓜式向导

MQL5 傻瓜式向导

在 2011 年年初,我们发布了 MQL5 向导的第一个版本。这一新的应用程序为自动生成交易机器人提供了简单方便的工具。任何 MetaTrader 5 用户都能创建自定义的EA 交易,他们甚至无需知道如何以 MQL5 编程。
preview
交易中的数学:夏普(Sharpe)和索蒂诺(Sortino)比率

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

投资回报率是投资者和萌新交易员用来分析交易绩效的最明显指标。 专业交易者会采用更可靠的工具来分析策略,比如夏普(Sharpe)比率和索蒂诺(Sortino)比率等。
走势延续模型 - 搜索图表和执行统计
走势延续模型 - 搜索图表和执行统计

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

本文提供了一种走势延续模型的程序化定义。 主要思路是定义两个波浪 — 主浪和修正浪。 对于极值点,我应用分形以及“潜在”分形 - 尚未形成分形的极值点。
图形界面 I: 用于表单按钮的函数与删除界面元素 (第四章)
图形界面 I: 用于表单按钮的函数与删除界面元素 (第四章)

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

在本文中, 我们将继续开发CWindow类, 增加它的类方法, 可以通过点击它的控件来对它进行管理. 我们将可以通过表单按钮来关闭程序, 也会实现表单的最小化和最大化功能.
使用面向对象的方法来编写EA的模式
使用面向对象的方法来编写EA的模式

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

本文介绍一种使用MQL5语言来编写多模式自动交易程序的方法。每一种模式都使用面向对象的方法来实现。不仅给出不同模式下类的层次结构,还给出用于测试的类的实例。多模式自动交易程序以MQL5语言实现,它应该考虑EA的每一种执行模式。创建用于确定EA模式的函数和枚举值。
Chuvashov 的叉子机械交易系统
Chuvashov 的叉子机械交易系统

Chuvashov 的叉子机械交易系统

本文对基于 Stanislav Chuvashov 提出的技术的机械交易系统的方法和程序代码进行了简单的介绍,希望读者予以注意。 本文所探讨的市场分析跟 Thomas DeMark 以分形作为构建趋势线的参考点为最近的时间间隔绘制趋势线的方法有一些共同之处。
如果您不是卖家或供应商,要如何从MetaTrader应用商店以及交易信号服务赚钱
如果您不是卖家或供应商,要如何从MetaTrader应用商店以及交易信号服务赚钱

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

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

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

本文考虑有关使用不同 EA 交易的自动交易的魔法标识以及分隔、组合与同步进行信息编码的问题。初学者和经验更多的交易者会对本文感兴趣,因为它解决虚拟仓位的问题,这在实施由 EA 交易的同步和各种策略组成的复杂系统时非常有用。
在一个 Expert Advisor 内的多个 Expert Advisor 的竞争
在一个 Expert Advisor 内的多个 Expert Advisor 的竞争

在一个 Expert Advisor 内的多个 Expert Advisor 的竞争

使用虚拟交易,你可以创建一个自适应的 Expert Advisor,在真实市场上打开和关闭交易。 将多个策略组合到一个 Expert Advisor 内! 你的多系统 Expert Advisor 会根据虚拟交易的获利能力,自动选择进行真实市场交易的最佳策略。 这种方法可以降低亏损并增加你在市场上操作的获利能力。 进行实验并跟其他人分享你的结果吧! 我想,很多人会对你的策略组合感兴趣。
应用网络函数,或无需 DLL 的 MySQL:第 I 部分 - 连通器
应用网络函数,或无需 DLL 的 MySQL:第 I 部分 - 连通器

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

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

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

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

技术分析:我们分析什么?

本文试图分析几个 MetaTrader 客户端提供的特色行情描绘方式。这篇文章仅讲述一般原理,并不涉及编程。
preview
在 MQL5 中使用资源

在 MQL5 中使用资源

MQL5程序不仅仅对例行计算进行自动化,还能够创建全功能图形环境。现在,创建真实互动控制的功能,几乎与经典编程语言一样丰富。如果您希望以 MQL5 编写一个完全成熟的独立程序,请使用MQL5中的资源。带有资源的程序更容易维护与分发。
图形界面 VIII: 日历控件 (第一章)
图形界面 VIII: 日历控件 (第一章)

图形界面 VIII: 日历控件 (第一章)

在 MetaTrader 中创建图形界面的系列文章的第八部分中,我们将探讨复杂的组合控件,例如日历(calendar),树形视图(tree view),以及文件浏览器(file navigator)。因为有大量的信息,对每个主题都有独立的文章,此部分的第一章描述了日历控件以及它的扩展版本 - 下拉日历。
MQL5 中的绘图风格
MQL5 中的绘图风格

MQL5 中的绘图风格

MQL4 中有 6 种绘图风格,而到 MQL5 则增加到了 18 种。因此,可能很有必要撰写一篇文章,专门介绍 MQL5 的绘图风格。我们会在本文研究 MQL5 中的绘图风格详情。此外,我们还会创建一个指标来展示如何使用这些绘图风格,并细化标绘。
外汇交易的战术
外汇交易的战术

外汇交易的战术

本文将有助于交易初学者建立其外汇交易中的战术.
一目平衡表替代指标 - 设置和应用示例
一目平衡表替代指标 - 设置和应用示例

一目平衡表替代指标 - 设置和应用示例

如何正确设置一目平衡表替代指标?请阅读参数设置的说明。本文不仅会帮助你理解设置一目平衡表指标参数的方法,你还能更好的理解如何设置标准的一目平衡表。
基于 MACD 扩展分析的交易助手
基于 MACD 扩展分析的交易助手

基于 MACD 扩展分析的交易助手

基于任意时间范围上实时交易中最后三个柱的 MACD 状态的扩展分析,‘交易助手’脚本帮助你对打开头寸进行决策。也可以用于回测。
基于 CGraphic  用于分析数据数组(时间序列)之间相互关联的 PairPlot  图
基于 CGraphic  用于分析数据数组(时间序列)之间相互关联的 PairPlot  图

基于 CGraphic 用于分析数据数组(时间序列)之间相互关联的 PairPlot 图

在技术分析中比较几个时间序列是一种很常用的任务,需要合适的工具。在本文中,我提出开发一种用于图形化分析的工具,可以侦测两个或者多个时间序列之间的相互关联。
多元回归分析。策略生成程序和策略分析程序二合一
多元回归分析。策略生成程序和策略分析程序二合一

多元回归分析。策略生成程序和策略分析程序二合一

本文介绍针对交易系统开发的多元回归分析的运用方法。它说明策略搜索自动化的回归分析的运用。生成了一个回归等式,并作为一个例子集成在一个不需要精通编程的 EA 中。
轻松快捷开发 MetaTrader 程序的函数库 (第十九部分) : 函数库消息类
轻松快捷开发 MetaTrader 程序的函数库 (第十九部分) : 函数库消息类

轻松快捷开发 MetaTrader 程序的函数库 (第十九部分) : 函数库消息类

在本文中,我们将研究显示文本的消息类。 目前,我们有众多的不同消息。 是时候重新编排它们的存储、俄/英语言翻译成其他语言、以及显示消息的方法。 此外,最好引入便利的方法来向函数库中添加新语言,并在它们之间快速切换。
如何将MetaTrader 5中的交易复制到MetaTrader 4
如何将MetaTrader 5中的交易复制到MetaTrader 4

如何将MetaTrader 5中的交易复制到MetaTrader 4

如今,在MetaTrader 5的实盘帐户上进行交易是否可行?如何进行此类交易?本文不仅从理论上解答这些问题,同时还提供可用的源代码,让你能够把MetaTrader 5终端上的交易复制到MetaTrader 4。本文对EA交易的开发者和练习交易者都非常有用。
图形界面 I: 在MetaTrader 4终端中使用不同类型的程序来测试界面库 (第五章)
图形界面 I: 在MetaTrader 4终端中使用不同类型的程序来测试界面库 (第五章)

图形界面 I: 在MetaTrader 4终端中使用不同类型的程序来测试界面库 (第五章)

在图形界面系列的第一部分前面的章节中, 我们已经丰富了表单类, 可以通过按下其中的控件来管理表单. 在本文中, 我们将使用不同类型的MQL程序, 例如指标和脚本程序, 来测试我们的成果. 因为此函数库被设计为跨平台的, 因而它可以用于所有MetaTrader平台, 我们也会在MetaTrader 4中测试它.
手工图表和交易工具包(第一部分)。 准备:结构描述和助手类
手工图表和交易工具包(第一部分)。 准备:结构描述和助手类

手工图表和交易工具包(第一部分)。 准备:结构描述和助手类

这是该系列的第一篇文章,我将在其中讲述一个工具箱,该工具箱可通过键盘快捷键来手工图表图形应用。 这非常方便:按一个键,然后出现趋势线,再按另一个键 — 将创建具有必要参数的斐波那契扇形。 也可以切换时间帧,重新排列图层或从图表中删除所有对象。