MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
构建自动运行的 EA(第 06 部分):账户类型(I)

构建自动运行的 EA(第 06 部分):账户类型(I)

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。 当前状态下,我们的 EA 已能在任何状况下工作,但尚未准备好自动化。 我们仍然需要在几点上努力。
指标外部参数的图形控制
指标外部参数的图形控制

指标外部参数的图形控制

指标的外部变量通过专门的窗口进行控制,在窗口内可以更改参数,然后再次运行指标。 这些操作的明显不方便性产生了在屏幕上显示所需参数和图形化控制指标的需求。
研究 CCanvas 类。抗锯齿和阴影
研究 CCanvas 类。抗锯齿和阴影

研究 CCanvas 类。抗锯齿和阴影

CCanvas 类的抗锯齿算法是所有使用抗锯齿构造的基础。本文包括其算法的操作内容, 并提供相应的直观示例。它也涵盖了绘制图形对象造型, 以及在画布上绘制造型的算法详情。数值分析库 ALGLIB 用于计算。
preview
改编版 MQL5 网格对冲 EA(第 II 部分):制作一款简单的网格 EA

改编版 MQL5 网格对冲 EA(第 II 部分):制作一款简单的网格 EA

在本文中,我们探讨了经典的网格策略,详解 MQL5 的智能交易系统的自动化,并初步分析回测结果。我们强调了该策略对高持有能力的需求,并概括了在未来分期分批优化距离、止盈和手数等关键参数的计划。该系列旨在提高交易策略效率,以及针对不同市场条件的适配性。
轻松快捷开发 MetaTrader 程序的函数库(第十七部分):函数库对象之间的交互
轻松快捷开发 MetaTrader 程序的函数库(第十七部分):函数库对象之间的交互

轻松快捷开发 MetaTrader 程序的函数库(第十七部分):函数库对象之间的交互

在本文中,我们将完成所有函数库对象的基准对象开发,以便任何基于此函数库的对象都能够与用户进行交互。 例如,用户将能够设置开仓时可接受的点差大小,和预警价位,当点差达到该数值,或价格触及预警价位时,来自品种对象的事件将被一并发送到监听此信号的程序。
MetaTrader 5 带来新机遇
MetaTrader 5 带来新机遇

MetaTrader 5 带来新机遇

MetaTrader 4 在全世界范围内的交易者群体中收获了广泛的青睐,看起来似乎已经功德圆满了。利用其高处理速度、稳定性、编写指标的宽泛数组可能性、EA 交易、信息通达的交易系统,以及从 100 多家不同经纪人中进行挑选的能力 - 此终端于同类产品中鹤立鸡群、独树一帜。然而时间永不停歇,我们猛然间发现已经面临着选择 MetaTrade 4 还是 MetaTrade 5 的问题。那么,以有利于我们当前的观点来看,第 5 代终端有着哪些主要的不同呢?我们会在本文中给您讲述。
利用 HTML 报告分析交易结果
利用 HTML 报告分析交易结果

利用 HTML 报告分析交易结果

MetaTrader 5 平台具有保存交易报告,以及智能交易系统测试和优化报告的功能。 交易和测试报告可以按照两种格式保存:XLSX 和 HTML,而优化报告可以保存为 XML。 在本文中,我们将研究 HTML 测试报告,XML 优化报告和 HTML 交易历史报告。
更好的程序员(第 04 部分):如何成为更迅捷的开发人员
更好的程序员(第 04 部分):如何成为更迅捷的开发人员

更好的程序员(第 04 部分):如何成为更迅捷的开发人员

每位开发人员都希望能够更快地编写代码,且能够更快、更有效地编写代码并非只是少数人与生俱来的特殊能力。 无论有多少年的敲键盘经验,这项技能每位编码员都可以学习。
基于大众交易系统和交易机器人优化点金术的 Expert Advisor(续)
基于大众交易系统和交易机器人优化点金术的 Expert Advisor(续)

基于大众交易系统和交易机器人优化点金术的 Expert Advisor(续)

在本文中,作者将提供各种方法来改进之前文章中所述的交易系统。本文适用于已有一些 Expert Advisor 编写经验的交易者。
preview
连续前行优化 (第五部分): 自动优化器项目概述和 GUI 的创建

连续前行优化 (第五部分): 自动优化器项目概述和 GUI 的创建

本文深入讲述在 MetaTrader 5 终端里的前向优化。 在先前的文章中,我们研究了生成和过滤优化报告的方法,并开始分析负责优化过程的应用程序的内部结构。 自动优化器是作为 C# 应用程序实现的,并且拥有自己的图形界面。 第五篇文章专门论述了此图形界面的创建。
DoEasy 函数库中的图形(第八十八部分):图形对象集合 — 存储对象动态变化属性的二维动态数组
DoEasy 函数库中的图形(第八十八部分):图形对象集合 — 存储对象动态变化属性的二维动态数组

DoEasy 函数库中的图形(第八十八部分):图形对象集合 — 存储对象动态变化属性的二维动态数组

在本文中,我将创建一个动态多维数组类,该类能够改变任意维度中的数据量。 基于所创建的类,我还将创建一个二维动态数组来存储一些会动态变动的图形对象属性。
源代码的跟踪、调试和结构分析
源代码的跟踪、调试和结构分析

源代码的跟踪、调试和结构分析

可以在没有很大困难的情况下解决创建执行代码的结构以及对其进行跟踪的整个复杂问题。由于 MQL5 语言的新功能 - 自动创建复杂类型的数据变量(结构和类)以及在超出局部范围时自动消失,这种可能性已经出现在 MetaTrader 5 中。本文提供对方法和现成工具的描述。
在 MetaTrader 5 中的连续期货合约
在 MetaTrader 5 中的连续期货合约

在 MetaTrader 5 中的连续期货合约

期货合约的生存跨度较短,它们的技术分析更复杂。对于短周期图表,技术分析是十分困难的。例如,UX-9.13 乌克兰股指期货的日线图上,有超过 100 根柱线。所以, 交易员会创建组合的长线期货合约。这篇文章解释了如何在 MetaTrader 5 客户端中拼接期货合约。
非标准自动交易
非标准自动交易

非标准自动交易

不进行深入市场分析便使用 MT4 平台成功且舒适地交易——这可能吗?这种交易可以在现实中实施吗?我想,是的。特别对于自动交易,更是如此!
preview
一张图表上多个指标(第 04 部分):晋升为一款智能交易系统

一张图表上多个指标(第 04 部分):晋升为一款智能交易系统

在我之前的文章里,我已经解释了如何创建拥有多个子窗口的指标,在使用自定义指标时如此这般会变得很有趣。 这次,我们将看到如何为智能交易系统添加多个窗口。
Layman 的笔记:锯齿形调整浪...
Layman 的笔记:锯齿形调整浪...

Layman 的笔记:锯齿形调整浪...

当然,每位交易新手在首次看到“神秘的”多段线后,无疑都渴望在接近极值点交易。真的如此简单。这是最大值。那是最小值。非常漂亮的历史图形。实践中如何呢?画了一条射线。它应该是——最高点!是卖出的时候了。现在价格下跌了。可恶!不!价格竟然开始上涨。哎!这只是没用的玩意,不是指标。于是将其扔掉!
preview
来自专业程序员的提示(第一部分):代码存储、调试和编译。 操控项目和日志

来自专业程序员的提示(第一部分):代码存储、调试和编译。 操控项目和日志

这些提示来自专业程序员,涵盖有关方法、技术和辅助工具,能够令编程更轻松。
考虑 T. Demark 方法的趋势线指标
考虑 T. Demark 方法的趋势线指标

考虑 T. Demark 方法的趋势线指标

指标反映了显示市场近期事件的趋势线。该指标的开发考虑了 Thomas Demark 有关技术分析的建议和方法。指标显示了趋势的最后方向和趋势的倒数第二个相反方向。
MQL5.community 最活跃成员获颁 iPhones 大奖!
MQL5.community 最活跃成员获颁 iPhones 大奖!

MQL5.community 最活跃成员获颁 iPhones 大奖!

继我们决定奖励最为出色的 MQL5.com 参与者后,我们已经选出了确定每一位参与者对本社区发展所做贡献的关键准则。结果我们选出了下述优胜者,他们在网站上发布的文章数量最多 - investeo (11 篇)和 victorg (10 篇);以及将其代码提交到代码库的 – GODZILLA (340 个程序)、Integer (61 个程序)和 abolk (21 个程序)。
构建新兴的社交技术, 第二部分: 编制 MQL5 的 REST 客户端
构建新兴的社交技术, 第二部分: 编制 MQL5 的 REST 客户端

构建新兴的社交技术, 第二部分: 编制 MQL5 的 REST 客户端

让我们现在来塑造本文第一部分介绍过的,基于 PHP 的 Twitter (推特)。我们正在组装 SDSS 的不同部分。有关客户端的系统体系结构, 我们借助 MQL5 新提供的 WebRequest() 函数, 通过 HTTP 发送交易信号。
基于预定义的风险和风险/回报比建立互动式半自动拖放“EA 交易”
基于预定义的风险和风险/回报比建立互动式半自动拖放“EA 交易”

基于预定义的风险和风险/回报比建立互动式半自动拖放“EA 交易”

部分交易人员选择自动执行所有交易,而另外一些交易人员基于多个指标的输出混合使用自动和手动交易。作为后者中的一员,我需要一个互动式工具以直接从图表动态地评估风险和回报价格水平。本文将介绍通过预定义的资产净值风险和风险/回报比实施互动式半自动“EA 交易”的方法。“EA 交易”风险、风险/回报和手数参数可于运行时期间在 EA 面板上更改。
DoEasy 函数库中的时间序列(第三十九部分):基于函数库的指标 - 准备数据和时间序列事件
DoEasy 函数库中的时间序列(第三十九部分):基于函数库的指标 - 准备数据和时间序列事件

DoEasy 函数库中的时间序列(第三十九部分):基于函数库的指标 - 准备数据和时间序列事件

本文讨论如何应用 DoEasy 库来创建多品种、多周期指标。 我们准备在指标中操控函数库类,并创建时间序列作为指标的数据源进行测试。 我们还将实现时间序列事件的创建和发送。
测试可视化:交易记录
测试可视化:交易记录

测试可视化:交易记录

本文描述了在可视化测试时便捷查看交易记录的可能性。
preview
基于改进的十字星(Doji)烛条形态识别指标的交易策略

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

基于元柱线的指标比之传统指标,能检测到的蜡烛更多。 我们来检查一下这能否在自动交易中提供真正的益处。
如何在莫斯科交易所安全地使用您的 EA 进行交易
如何在莫斯科交易所安全地使用您的 EA 进行交易

如何在莫斯科交易所安全地使用您的 EA 进行交易

本文深入研究了交易方式, 通过莫斯科交易所衍生产品市场的例子来说明如何确保在股票和低流动性市场中交易操作的安全性。它带来了一些实践方法, 其交易原理在文章 "Principles of Exchange Pricing through the Example of Moscow Exchange's Derivatives Market - 莫斯科交易所衍生产品市场为例的定价原则" 里描述。
preview
构建自动运行的 EA(第 09 部分):自动化(I)

构建自动运行的 EA(第 09 部分):自动化(I)

尽管创建自动 EA 并非一项非常困难的任务,但在缺乏必要知识的情况下可能会犯许多错误。 在本文中,我们将研究如何构建初级自动化,其中包括创建一个触发器来激活盈亏平衡和尾随停止价位。
MetaTrader 5 中的交易信号:PAMM 帐户的更佳选择!
MetaTrader 5 中的交易信号:PAMM 帐户的更佳选择!

MetaTrader 5 中的交易信号:PAMM 帐户的更佳选择!

我们很高兴地宣布,MetaTrader 5 现在有了交易信号,从而为投资人员和管理人员带来一款强大的工具。当您追踪成功交易人员的交易时,终端将自动在您的帐户中复制交易!
preview
让图表更有趣:添加背景

让图表更有趣:添加背景

许多工作站包含一些代表性的图片用以显示用户的一些信息。 这些图片令工作环境更加优美和令人兴奋。 我们来看看如何通过添加背景令图表更有趣。
preview
DirectX 教程(第一部分):绘制第一个三角形

DirectX 教程(第一部分):绘制第一个三角形

这是一篇关于 DirectX 的介绍性文章,介绍了使用 API 进行操作的细节。 它应有助于理解其组件的初始化顺序。 本文包含一个如何编写 MQL5 脚本的示例,该脚本使用 DirectX 渲染一个三角形。
宏观经济数据对货币价格波动影响的还原分析
宏观经济数据对货币价格波动影响的还原分析

宏观经济数据对货币价格波动影响的还原分析

本文研究宏观经济统计数据的多元还原分析应用程序。同时也以 EURUSD 货币对为例,洞察统计数据的评估,对于汇率波动的影响。这种评估可以自动分析基本面,使得交易新手也可运用。
MQL5 Cookbook: 使用不同的打印模式
MQL5 Cookbook: 使用不同的打印模式

MQL5 Cookbook: 使用不同的打印模式

这是 MQL5 Cookbook 系列的第一篇文章,我将会从简单的实例开始,让那些刚刚开始编程的人逐渐熟悉这门新语言。我还记得我开始设计和编写交易系统时的尝试,可以说是非常困难,事实上那是我所学的第一门编程语言,然而,后来还是比我想象的简单一些,我只用了几个月的时间就能够开发相对复杂的程序了。
preview
价格走势模型及其主要规定(第 1 部分):最简单的模型版本及其应用

价格走势模型及其主要规定(第 1 部分):最简单的模型版本及其应用

本文提供了数学上严格的价格运动和市场功能理论的基础。 到目前为止,我们还没有任何经过严格数学论证的价格走势理论。 取而代之的是,我们不得不基于经验假设进行处理,即价格在某种形态之后以某种方式移动。 当然,这些假设既没有得到统计数据的支持,也没有得到理论的支持。
学习如何基于 Stochastic 设计交易系统
学习如何基于 Stochastic 设计交易系统

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

在本文中,我们继续我们的研究系列 — 这次,我们将学习如何基于最流行的技术指标之一 Stochastic 振荡器指标设计交易系统。
DoEasy 函数库中的图形(第九十一部分):标准图形对象事件。 对象名称更改历史记录
DoEasy 函数库中的图形(第九十一部分):标准图形对象事件。 对象名称更改历史记录

DoEasy 函数库中的图形(第九十一部分):标准图形对象事件。 对象名称更改历史记录

在本文中,我将改进基本功能,从而能够基于函数库程序来控制图形对象事件。 我一开始将以“对象名称”属性为例,实现存储图形对象更改历史的功能。
preview
从头开始开发智能交易系统(第 9 部分):概念上的飞跃  (II)

从头开始开发智能交易系统(第 9 部分):概念上的飞跃 (II)

在本文中,我们将把 Chart Trade 这个应用程序放置在浮动窗口当中。 在前一篇中,我们创建了一个基本系统,该系统支持在浮动窗口中使用模板。
DoEasy 函数库中的时间序列(第四十部分):基于函数库的指标 - 实时刷新数据
DoEasy 函数库中的时间序列(第四十部分):基于函数库的指标 - 实时刷新数据

DoEasy 函数库中的时间序列(第四十部分):基于函数库的指标 - 实时刷新数据

本文研究开发基于 DoEasy 库的简单多周期指标。 我们来改进时间序列类,从而能接收来自任何时间帧的数据,并在当前图表周期内显示。
preview
构建自动运行的 EA(第 08 部分):OnTradeTransaction

构建自动运行的 EA(第 08 部分):OnTradeTransaction

在本文中,我们将目睹如何利用事件处理系统快速有效地处理与订单系统相关的问题。 配合这个系统,EA 就能更快地工作,如此它就不必持续不断地搜索所需的数据。
MQL5 Cookbook: 处理 BookEvent
MQL5 Cookbook: 处理 BookEvent

MQL5 Cookbook: 处理 BookEvent

本文研究 BookEvent - 一个市场深度事件,以及它的处理原理。一个处理市场深度状态的 MQL 程序,作为例程。它采用面向对象方法编写。处理结果作为面板显示在屏幕上,还有市场深度级别。
轻松快捷开发 MetaTrader 程序的函数库(第 二十五部分):处理交易服务器返回的错误
轻松快捷开发 MetaTrader 程序的函数库(第 二十五部分):处理交易服务器返回的错误

轻松快捷开发 MetaTrader 程序的函数库(第 二十五部分):处理交易服务器返回的错误

交易订单发送到服务器之后,我们需要检查错误代码,或未出现错误。 在本文中,我们将研究处理交易服务器返回的错误,并着手创建延后交易请求。
DoEasy 函数库中的图形(第八十七部分):图形对象集合 - 在所有打开的图表上管理对象属性修改
DoEasy 函数库中的图形(第八十七部分):图形对象集合 - 在所有打开的图表上管理对象属性修改

DoEasy 函数库中的图形(第八十七部分):图形对象集合 - 在所有打开的图表上管理对象属性修改

在本文中,我将继续跟踪标准图形对象事件,并创建允许用户控制在终端中打开的任何图表上放置的图形对象属性更改的功能。