MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
使用面向对象的方法来编写EA的模式
使用面向对象的方法来编写EA的模式

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

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

如何掌握机器学习

查看这些有用的资料选集,它们可以辅助交易者提高他们的算法交易知识。 简约算法时代正在成为过去,如果不运用机器学习技术和神经网络,成功变得越来越困难。
preview
学习如何基于斐波那契(Fibonacci)设计交易系统

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

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

摆脱自制的 DLL

如果 MQL5 语言的功能性不足以完成任务,MQL5 程序员不得不诉诸于其他工具。他们必须转向其他编程语言并创建中间 DLL。MQL5 可提供各种数据类型并将它们传递至 API,但遗憾的是,MQL5 无法解决从收到的指针提取数据的相关问题。在本文中,我们将循规蹈矩,说明交换和使用复杂数据类型的简单机制。
preview
突破结构(BoS)交易策略分步指南

突破结构(BoS)交易策略分步指南

基于结构突破(Break of Structure, BoS)策略的自动化交易算法开发综合指南在MQL5中创建交易顾问并在MetaTrader 5中进行测试的全方位详解——从分析价格支撑与阻力到风险管理
以莫斯科交易所衍生产品市场为例的交易定价原则
以莫斯科交易所衍生产品市场为例的交易定价原则

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

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

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

能够创建科学图表 (CGraphic 类) 的新版本图形库已于最近发布。创建图形界面的开发中函数库在本次更新中将引入创建图表的新版本控件。不同类型数据的可视化现在更加容易了。
轻松快捷开发 MetaTrader 程序的函数库 (第二十部分):创建和存储程序资源
轻松快捷开发 MetaTrader 程序的函数库 (第二十部分):创建和存储程序资源

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

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

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

如今,在MetaTrader 5的实盘帐户上进行交易是否可行?如何进行此类交易?本文不仅从理论上解答这些问题,同时还提供可用的源代码,让你能够把MetaTrader 5终端上的交易复制到MetaTrader 4。本文对EA交易的开发者和练习交易者都非常有用。
交易员之活学活用: "平静" 优化或绘制交易分布
交易员之活学活用: "平静" 优化或绘制交易分布

交易员之活学活用: "平静" 优化或绘制交易分布

分析交易历史, 并依据仓位的入场时间以 HTML 形式绘制交易结果的分布图表。图表显示三个部分 - 按小时, 按周内天数和按月份。
例解 MQL5 中的面向对象编程:处理警告和错误代码
例解 MQL5 中的面向对象编程:处理警告和错误代码

例解 MQL5 中的面向对象编程:处理警告和错误代码

本文以一个例子说明创建一个类用于处理 MQL 程序运行期间交易服务器返回的代码以及所有错误的类。阅读本文之后,您将学习到如何在 MQL5 中处理类和对象。同时,这是一个方便的错误处理工具;并且您可以依据您的具体需要进一步更改此工具。
使用 EA 交易可视向导创建 EA 交易
使用 EA 交易可视向导创建 EA 交易

使用 EA 交易可视向导创建 EA 交易

MetaTrader 5的EA交易可视向导提供一种高度直观的图形环境,带有一整套允许您在数分钟内完成EA交易设计的预定义交易代码块。EA交易可视向导的单击拖拽法允许您像使用铅笔和纸张一样,创建外汇交易策略与信号的可视化呈现。这些交易图表均通过Molanis的MQL5代码生成器自动进行分析,并将其转换为即用型EA交易。而互动式图形环境则会简化设计过程,且无需编写MQL5代码。
改进面板:增加透明化、改变背景色以及继承于 CAppDialog/CWndClient
改进面板:增加透明化、改变背景色以及继承于 CAppDialog/CWndClient

改进面板:增加透明化、改变背景色以及继承于 CAppDialog/CWndClient

在这篇文章中,我们继续研究 CAppDialog 的使用。现在我们将会学习如何设置对话框的背景、边框和抬头的颜色。另外,这篇文章还提供了有关在图表中拖曳应用程序窗口时,如何增加透明化它的分步描述。我们还将探讨,怎样创建 CAppDialog 或者 CWndClient 的子类来分析如何操作控件的新特点。最后,我们将从新的角度回顾新项目。
在 MetaTrader 5 中交易策略优化的可视化
在 MetaTrader 5 中交易策略优化的可视化

在 MetaTrader 5 中交易策略优化的可视化

本文采用图形界面实现 MQL 应用程序来扩展可视化的优化过程。 图形界面采用 EasyAndFast 函数库的最新版本。 许多用户可能会问为什么他们在 MQL 应用程序中需要图形界面。 本文为交易者展示了众多实用情况之一。
图形界面 X: 简单快速开发库的更新 (版本 2)
图形界面 X: 简单快速开发库的更新 (版本 2)

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

自从之前的系列文章发布以后,简单快速开发库(Easy And Fast library)又增加了一些新的功能。库的结构和代码经过部分优化后部分减少了CPU的负载,很多控件类中的一些重复方法被转移到 CElement 基类中。
preview
MQL5 简介(第 7 部分):在 MQL5 中构建 EA 交易和使用 AI 生成代码的初级指南

MQL5 简介(第 7 部分):在 MQL5 中构建 EA 交易和使用 AI 生成代码的初级指南

在我们的综合文章中,了解使用 MQL5 构建 EA 交易的终极初学者指南。逐步学习如何使用伪代码构建 EA,并利用 AI(人工智能)生成代码的强大功能。无论你是算法交易的新手,还是想提高自己的技能,本指南都为你提供了创建有效 EA 的清晰路径。
预测金融时间序列
预测金融时间序列

预测金融时间序列

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

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

在这篇文章中,我将展示在选择一个系统或信号来投资你的资金时所使用的标准,以及描述开发交易系统的最佳方法,并强调这个问题在外汇交易中的重要性。
市场数学:盈利、亏损、和成本
市场数学:盈利、亏损、和成本

市场数学:盈利、亏损、和成本

在本文中,我将向您展示如何计算任何交易的总盈利或亏损,包括佣金和掉期利息。 我会提供最精准的数学模型,并依据它来编写代码,之后将其与标准进行比较。 此外,我还将尝试进入主要 MQL5 函数的内部来计算利润,并从规则中获取所有必要值的根底。
在 MetaTrader 5 里使用 HedgeTerminal (对冲终端) 面板进行双向交易和仓位对冲, 第二部分
在 MetaTrader 5 里使用 HedgeTerminal (对冲终端) 面板进行双向交易和仓位对冲, 第二部分

在 MetaTrader 5 里使用 HedgeTerminal (对冲终端) 面板进行双向交易和仓位对冲, 第二部分

本文描述了一种新的方法来进行仓位对冲, 并在 MetaTrader 4 和 MetaTrader 5 的用户之间就此事的争辩划清界线。这是: "在 MetaTrader 5 里使用 HedgeTerminal (对冲终端) 面板进行双向交易和仓位对冲" 第一部分的延续。在第二部分里, 我们讨论自定义 EA 与 HedgeTerminalAPI 的集成, 其作为特别的可视化程序库, 设计用于在一个舒适的软件环境里作为工具进行便利的双向交易仓位管理。
走势延续模型 - 搜索图表和执行统计
走势延续模型 - 搜索图表和执行统计

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

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

面向对象编程基础

您无需了解什么是多态性、什么是封装性,以及使用面向对象编程(OOP)相关的一切内容……您可能只需要使用这些功能就好了。本文中涵盖了 OOP 的基础知识,且带有亲身实践示例。
在 MetaTrader 5 中实施多货币模式
在 MetaTrader 5 中实施多货币模式

在 MetaTrader 5 中实施多货币模式

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

交易机器人在实际交易中的自动优化

本文介绍并提供一个函数库,以便交易者能够通过从 EA 直接启动优化来优化交易者的 Expert Advisor 输入。
蒙特卡罗方法在强化学习中的应用
蒙特卡罗方法在强化学习中的应用

蒙特卡罗方法在强化学习中的应用

在本文中,我们将应用强化学习来开发可以自主学习的EA交易。在前一篇文章中,我们考虑了随机决策森林算法,并编写了一个简单的基于强化学习的自学习EA,概述了这种方法的主要优点(交易算法的开发简单和“培训”速度快)。强化学习(RL)可以很容易地融入到任何交易EA中,并加速其优化。
捕捉趋势
捕捉趋势

捕捉趋势

本文描述了对获利交易的成交量增加的算法。本文对使用 MQL4 语言实现该算法进行了描述。
分离策略在趋势和盘整条件下的优化
分离策略在趋势和盘整条件下的优化

分离策略在趋势和盘整条件下的优化

本文探讨了在分离在不同市场条件下的优化方法,分离优化意味着分别为上涨趋势和下跌趋势分别定义交易系统的最佳参数. 为了减少错误信号的影响,提高盈利能力,系统变得灵活,这意味着它们有一些特定的设置或输入数据,这是合理的,因为市场行为不断变化。
preview
如何在 MetaTrader 5 中利用 DirectX 创建 3D 图形

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

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

测试当交易货币对篮子时出现的形态第二部分

我们继续测试形态并尝试在文章中描述的交易货币对篮子的方法。让我们探讨在实际应用中是否可能使用组合 WPR 图与移动平均交叉的形态,如果答案是可以,我们应当考虑适当的使用方法。
preview
您能用移动平均线做什么呢

您能用移动平均线做什么呢

本文研究了若干种移动平均指标的应用方法。 每种方法涉及到的曲线分析,都配有思想实现的可视化指标。 在大多数情况下,这里展示的所有思路均属于它们尊敬的作者。 我唯一的任务就是把它们归纳起来,令您看到其主要作用,并希望做出更合理的交易决策。 MQL5 熟练程度 — 基本。
测试可视化: 人工交易
测试可视化: 人工交易

测试可视化: 人工交易

在历史中测试人工交易策略. 看您的交易算法怎样从简单摆设变成编程之精华!
在交易中应用 OLAP(第 1 部分):在线分析多维数据
在交易中应用 OLAP(第 1 部分):在线分析多维数据

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

本文论述如何创建多维数据(OLAP - 在线分析处理)的在线分析框架,以及如何在 MQL 中实现此框架,还有利用交易帐户历史数据在 MetaTrader 环境中应用此类分析的示例。
MQL5 傻瓜式向导
MQL5 傻瓜式向导

MQL5 傻瓜式向导

在 2011 年年初,我们发布了 MQL5 向导的第一个版本。这一新的应用程序为自动生成交易机器人提供了简单方便的工具。任何 MetaTrader 5 用户都能创建自定义的EA 交易,他们甚至无需知道如何以 MQL5 编程。
图形界面 IX: 颜色选择器控件 (第一章)
图形界面 IX: 颜色选择器控件 (第一章)

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

从本文开始,我们来到了致力于在 MetaTrader 交易终端中创建图形界面系列文章的第九部份。它有两章,包含了新的控件和接口,例如颜色选择器,颜色按钮,进度条和线性图表等。
MQL5云网络: 你还在计算吗?
MQL5云网络: 你还在计算吗?

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

自MQL5云网络发布以来很快就要有一年半的时间了,这个领先事件又迎来了一个算法交易的新时代 - 现在,通过轻点鼠标交易人员就可以拥有成百上千的计算核心来处理优化他们的交易策略。
Erik Nayman 的绳索指标
Erik Nayman 的绳索指标

Erik Nayman 的绳索指标

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

使用 CCanvas 类绘制刻度表盘

我们可以在汽车和飞机, 在工业产品以及在生活中随处发现刻度表盘。它们被用在所有需要对数值控制行为进行快速响应的领域。这篇文章描述用于 MetaTrader 5 的刻度表盘程序库。
图形界面 X: 时间控件, 复选框列表控件和表格排序 (集成编译 6)
图形界面 X: 时间控件, 复选框列表控件和表格排序 (集成编译 6)

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

创建图形界面的函数库开发续篇。这次会涵盖时间和复选框列表控件。此外, CTable 类现已提供按照升序或降序对数据排序的能力。
MQL5秘笈之:采用关联数组或字典实现快速数据访问
MQL5秘笈之:采用关联数组或字典实现快速数据访问

MQL5秘笈之:采用关联数组或字典实现快速数据访问

本文介绍一种能够通过key来访问元素的特殊算法。任何基本数据类型都可以被当作key。例如它可以是一个字符串或一个整型值。这样的数据容器通常被称为字典或这关联数组。这为解决问题提供了便捷。
MQL5 Wizard:新版本
MQL5 Wizard:新版本

MQL5 Wizard:新版本

本文介绍 MQL5 Wizard 升级版的新功能。修改后的信号架构允许基于各种市场情形的组合创建交易机器人。本文所载的例子说明了交互式创建一个 EA 交易程序的过程。