MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
图形界面 IV: 多窗口模式与优先级系统 (第二章)
图形界面 IV: 多窗口模式与优先级系统 (第二章)

图形界面 IV: 多窗口模式与优先级系统 (第二章)

在本章中,我们将扩展库的实现,为MQL应用程序创建多窗口界面。我们还将开发一个优先级系统,用于管理鼠标左键对图形对象的点击,它是用于避免元件对用户操作没有回应的问题的。
如何使用 EA 遵照您的规则拷贝信号?
如何使用 EA 遵照您的规则拷贝信号?

如何使用 EA 遵照您的规则拷贝信号?

当您订阅了一个信号, 也许会发生这样的情形: 您的交易账户杠杆为 1:100, 而提供者的杠杆为 1:500, 且使用最小手数, 而您的账户余额大约相等 — 但拷贝比率只有 10% 到 15%。本文介绍在这种情况下如何增加拷贝比率。
研究烛条分析技术(第一部分):检查现存形态
研究烛条分析技术(第一部分):检查现存形态

研究烛条分析技术(第一部分):检查现存形态

在本文中,我们将研讨流行的烛条形态,并尝试探索它们在当今市场中是否仍然相关和有效。 烛条分析出现在 20 多年前,从此后变得非常流行。 众多交易者认为日本烛条是最方便、易懂的资产价格可视化形式。
轻松快捷开发 MetaTrader 程序的函数库(第十部分):与 MQL4 的兼容性 - 开仓和激活挂单的事件
轻松快捷开发 MetaTrader 程序的函数库(第十部分):与 MQL4 的兼容性 - 开仓和激活挂单的事件

轻松快捷开发 MetaTrader 程序的函数库(第十部分):与 MQL4 的兼容性 - 开仓和激活挂单的事件

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第九部分中,我们开始改进 MQL4 的库类。 在此,我们将继续改进函数库,确保其与 MQL4 的完全兼容。
MetaTrader 4 客户端内的智能交易测试: 内部模式
MetaTrader 4 客户端内的智能交易测试: 内部模式

MetaTrader 4 客户端内的智能交易测试: 内部模式

在您点击 "开始"按钮后会怎样? 本文将告知您答案并解答其他问题。
preview
交易中的数学:夏普(Sharpe)和索蒂诺(Sortino)比率

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

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

作为技术分析工具的 MTF 指标

大多数交易者都同意,当前的市场状态分析从评估更高的图表时间框架开始。该分析向下执行,以缩短执行交易的时间范围。这种分析方法似乎是成功交易的专业方法的强制性部分。在本文中,我们将讨论多时间段指标及其创建方法,并提供MQL5代码示例。除了对优缺点进行综合评价外,我们还将提出一种采用MTF模式的新指标方法。
跨平台智能交易程序: 重用来自 MQL5 标准库的控件
跨平台智能交易程序: 重用来自 MQL5 标准库的控件

跨平台智能交易程序: 重用来自 MQL5 标准库的控件

在 MQL5 标准库里存在的一些控件被证明在 MQL4 版本的跨平台智能交易程序里十分有用。本文涉及令某些 MQL5 标准库的控件与 MQL4 编译器兼容的方法。
统计学基础
统计学基础

统计学基础

每名交易者都使用某种统计计算进行工作,即使是基础分析的支持者也是如此。本文向您介绍统计学的基础及其基本要素,并说明统计学在决策中的重要性。
图形界面 VI: 滑动条与双重滑动条控件(第二章)
图形界面 VI: 滑动条与双重滑动条控件(第二章)

图形界面 VI: 滑动条与双重滑动条控件(第二章)

在前一篇文章中,我们已经使用四个常用图形界面控件加强我们的开发库:复选框,编辑框,带有复选框的编辑框,以及复选组合框。第六部分的第二章将致力于滑动条与双重滑动条控件的开发。
MQL5 秘籍之:OCO订单
MQL5 秘籍之:OCO订单

MQL5 秘籍之:OCO订单

任何交易者的交易活动都会包含各种交易机制和内在联系,包括订单之间的关系。本文提出一种处理OCO订单的解决方案。将广泛采用标准类库来实现,同时也会新建一些数据类型。
使用图形界面处理优化结果
使用图形界面处理优化结果

使用图形界面处理优化结果

这是处理和分析优化结果想法的续篇,这一次,我们的目标是选择100个最佳的优化结果并且在图形用户界面(GUI)表格中显示它们。用户将可以在优化结果中选择一行而在独立的图表中得到多交易品种余额和回撤图。
建立自动新闻交易程序
建立自动新闻交易程序

建立自动新闻交易程序

这是 "Another MQL5 OOP"(另一个 MQL5 OOP 类)一文的续篇,该文向您展示了如何从头建立一个简单的面向对象的 EA 交易程序并向您提供了有关面向对象编程的某些提示。今天,我向您展示开发一个能够依据新闻进行交易的 EA 所需的技术基础。我的目标是继续向您提供有关面向对象编程的理念,同时也在这个系列的文章中涵盖新的主题——处理文件系统。
将指标应用至其他指标
将指标应用至其他指标

将指标应用至其他指标

在编写使用 OnCalculate() 函数调用的简短形式的指标时,您可能会忽略这样一个事实,即指标的计算不仅可以通过价格数据完成,还可以通过其他指标(无论是内置指标还是自定义指标)的数据实现。是否要改进指标以使其可以正确应用至其他指标的数据?在本文中,我们将回顾修改所需的所有步骤。
图形界面 I: 图形界面的动画 (第三章)
图形界面 I: 图形界面的动画 (第三章)

图形界面 I: 图形界面的动画 (第三章)

在前面的文章中, 我们开始开发了一个容纳控件的表单类. 在本文中, 我们将继续丰富此表单类的内容, 增加在图表区域内移动表单的方法. 接着我们会把这个界面组件与核心库整合. 而且我们会实现这样的功能, 在鼠标光标移动到表单之上时, 表单控件会改变它的颜色.
MQL5 酷宝书 - 移动通道交易信号
MQL5 酷宝书 - 移动通道交易信号

MQL5 酷宝书 - 移动通道交易信号

本文描述的过程, 是开发和实现基于移动通道发送信号的类。每个信号版本均随带交易策略和测试结果。标准库的类用于创建派生类。
通过动态链接库(DLL)管理 MetaTrader 终端
通过动态链接库(DLL)管理 MetaTrader 终端

通过动态链接库(DLL)管理 MetaTrader 终端

这篇文章讲述了通过动态链接库(DLL)来管理MetaTrader的用户界面元件, 它使用的实例是对推送通知的传输设置做出修改. 库的代码以及例子脚本在文章的附件中.
开发跨平台网格EA(第二部分):在趋势方向上的基于范围的网格
开发跨平台网格EA(第二部分):在趋势方向上的基于范围的网格

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

在本文中,我们将开发一个网格EA,用于在一个范围内的趋势方向上进行交易。这样,此EA主要适用于外汇和大宗商品市场,根据测试,我们的网格EA 自2018年以来显示盈利,不幸的是,这在2014-2018年期间并非如此。
preview
神经网络变得轻松(第二部分):网络训练和测试

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

在第二篇文章中,我们将继续研究神经网络,并研究在智能交易系统当中调用我们所创建 CNet 类的示例。 我们将操控两个神经网络模型,它们在训练时间和预测准确性方面都表现出相似的结果。
在 MQL5 中创建多色彩指标
在 MQL5 中创建多色彩指标

在 MQL5 中创建多色彩指标

我们会于本文中研究如何创建多色彩指标或是将现在指标转换为多色彩指标。MQL5 允许以便利的方式呈现信息。如今已不再需要查看大量带有指标的图表来执行 RSI 或 Stochastic 指标分析了,只是根据指标值为烛形图涂不同的颜色会简单许多。
MQL5 中的事件处理:快速更改 MA 周期
MQL5 中的事件处理:快速更改 MA 周期

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

假设有周期为 13 的简单 MA(移动平均线)指标应用至图表。而我们希望将周期更改为 20,但我们不想转到指标属性对话框去把将数字 13 更改为 20:我们就是对这些使用鼠标和键盘执行的乏味操作感到厌倦。尤其是,我们不希望打开指标代码进行修改。我们只想按一下按钮 - 与数字小键盘相邻的“向上箭头”- 就完成这一切。在本文中,我将给出实现方法。
轻松快捷开发 MetaTrader 程序的函数库 (第 三十二部分) :延后交易请求 - 在特定条件下挂单
轻松快捷开发 MetaTrader 程序的函数库 (第 三十二部分) :延后交易请求 - 在特定条件下挂单

轻松快捷开发 MetaTrader 程序的函数库 (第 三十二部分) :延后交易请求 - 在特定条件下挂单

我们继续功能开发,允许用户利用延后请求进行交易。 在本文中,我们将实现在特定条件下挂单的功能。
监视多币种的交易信号(第一部分):开发应用程序结构
监视多币种的交易信号(第一部分):开发应用程序结构

监视多币种的交易信号(第一部分):开发应用程序结构

在本文中,我们将讨论创建多币种交易信号监视器的思路,并开发一个未来的应用程序结构,以及沿用其原型创建深入操作的框架。 本文表述了一种灵活的多币种应用程序的分步创建过程,该应用程序将能够生成交易信号,并有助交易者发现所需的信号。
图形界面 IX: 进度条和线形图表控件 (第二章)
图形界面 IX: 进度条和线形图表控件 (第二章)

图形界面 IX: 进度条和线形图表控件 (第二章)

第九部份的第二章致力于开发进度条和线形图表控件。与以往一样,会提供详细的实例展示如何在自定义的MQL应用程序中使用这些控件。
100 个最佳优化递次(第 1 部分)。 开发优化分析器
100 个最佳优化递次(第 1 部分)。 开发优化分析器

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

本文详细阐述了运用若干种可能选项开发选择最佳优化递次的应用程序。 该应用程序能够通过各种因素来筛选优化结果。 优化递次始终写入数据库,因此您总能无需重新优化即可选择新的机器人参数。 此外,您可在单个图表上查看所有优化递次,计算参数 VaR 比率,并构建递次与特定比率集和的交易结果的正态分布图。 以及,自优化伊始(或从选定日期到另一个选定日期)开始动态构建一些计算比率的图形。
MQL5 细则手册:指标子窗口控件 - 按钮
MQL5 细则手册:指标子窗口控件 - 按钮

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

本文中,我们将探讨开发具备按钮控件的用户界面的示例。为向用户传递互动性理念,当光标悬停于按钮时,按钮颜色会发生改变。光标位于按钮之上时,按钮颜色将稍微变暗,点击时,按钮颜色则会变得明显更暗。此外,我们将为每一按钮添加工具提示,从而创建直观界面。
自己动手开发多线程异步 MQL5 WebRequest
自己动手开发多线程异步 MQL5 WebRequest

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

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

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

Graphic.mqh 函数库以 MQL5 设计, 用来处理图形。本文提供了一个实际应用的例子, 并解释了排序的思路。这里描述排序的一般概念, 因为每种排序类型至少已经具有一篇单独的论文, 而有些排序类型更是详细研究的对象。
摆脱自制的 DLL
摆脱自制的 DLL

摆脱自制的 DLL

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

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

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

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

在第一部分中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 我们创建了 COrder 抽象对象,它是一个基础对象,用于存储历史订单和成交的数据,以及市价订单和仓位。 现在,我们将开发在集合中存储帐户历史数据的所有必要对象。
MQL 作为 MQL 程序图形界面的标记工具。 第一部分
MQL 作为 MQL 程序图形界面的标记工具。 第一部分

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

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

在 MQL5 中使用资源

MQL5程序不仅仅对例行计算进行自动化,还能够创建全功能图形环境。现在,创建真实互动控制的功能,几乎与经典编程语言一样丰富。如果您希望以 MQL5 编写一个完全成熟的独立程序,请使用MQL5中的资源。带有资源的程序更容易维护与分发。
交易员之活学活用: "平静" 优化或绘制交易分布
交易员之活学活用: "平静" 优化或绘制交易分布

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

分析交易历史, 并依据仓位的入场时间以 HTML 形式绘制交易结果的分布图表。图表显示三个部分 - 按小时, 按周内天数和按月份。
蒙特卡罗方法在强化学习中的应用
蒙特卡罗方法在强化学习中的应用

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

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

面向对象编程基础

您无需了解什么是多态性、什么是封装性,以及使用面向对象编程(OOP)相关的一切内容……您可能只需要使用这些功能就好了。本文中涵盖了 OOP 的基础知识,且带有亲身实践示例。
以莫斯科交易所衍生产品市场为例的交易定价原则
以莫斯科交易所衍生产品市场为例的交易定价原则

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

本文介绍了莫斯科交易所衍生产品市场的交易定价和结算理论的特性。这是一篇综合性的文章,面向那些想在衍生品市场中获取他们第一次交易经验的初学者,以及那些正在考虑通过中央交换平台进行交易的经验丰富的外汇交易者。
探索标准库的交易策略类 - 自定义策略
探索标准库的交易策略类 - 自定义策略

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

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

捕捉趋势

本文描述了对获利交易的成交量增加的算法。本文对使用 MQL4 语言实现该算法进行了描述。
测试当交易货币对篮子时出现的形态第二部分
测试当交易货币对篮子时出现的形态第二部分

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

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