MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
MQL5 Cookbook: 开发多品种指标分析价格偏离
MQL5 Cookbook: 开发多品种指标分析价格偏离

MQL5 Cookbook: 开发多品种指标分析价格偏离

在本篇中, 我们将研究开发一款多品种指标来分析指定时间周期内的价格偏离。其核心议题已经在之前的多货币对指标编程文章中进行过讨论 "MQL5 Cookbook: 用 MQL5 开发多品种波动指标"。所以这次,我们将仅关注那些有了大幅变化的新特征和功能。如果您是多货币对指标编程的新人, 我建议您先去阅读之前的文章。
Layman 的笔记:锯齿形调整浪...
Layman 的笔记:锯齿形调整浪...

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

当然,每位交易新手在首次看到“神秘的”多段线后,无疑都渴望在接近极值点交易。真的如此简单。这是最大值。那是最小值。非常漂亮的历史图形。实践中如何呢?画了一条射线。它应该是——最高点!是卖出的时候了。现在价格下跌了。可恶!不!价格竟然开始上涨。哎!这只是没用的玩意,不是指标。于是将其扔掉!
MetaTrader 5 带来新机遇
MetaTrader 5 带来新机遇

MetaTrader 5 带来新机遇

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

理解并有效地使用 MQL5 策略测试器

对于 MQL5 程序员或开发人员,一项基本需求就是掌握那些重要且颇具价值的工具。 其中一个工具是策略测试器,本文是理解和使用 MQL5 策略测试器的实用指南。
在 MQL5.com 上的自由职业者工作 - 开发者喜爱的位置
在 MQL5.com 上的自由职业者工作 - 开发者喜爱的位置

在 MQL5.com 上的自由职业者工作 - 开发者喜爱的位置

自动交易的开发者不再需要去市场中寻找需要 EA 的交易者 - 现在他们会来找你。目前,成千上万的交易者到 MQL5 上给自由开发人员下订单,并在 MQL5.com 上为任务支付报酬。4 年以来,这项服务促成了三千名交易员对超过 10,000 个任务进行了支付。并且交易员与开发者的行动正在持续增长!
轻松快捷开发 MetaTrader 程序的函数库(第十七部分):函数库对象之间的交互
轻松快捷开发 MetaTrader 程序的函数库(第十七部分):函数库对象之间的交互

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

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

测试可视化:帐户状态图表

利用图表测试和显示余额的过程—现在可以始终看见所有必要信息了!
研究 CCanvas 类。抗锯齿和阴影
研究 CCanvas 类。抗锯齿和阴影

研究 CCanvas 类。抗锯齿和阴影

CCanvas 类的抗锯齿算法是所有使用抗锯齿构造的基础。本文包括其算法的操作内容, 并提供相应的直观示例。它也涵盖了绘制图形对象造型, 以及在画布上绘制造型的算法详情。数值分析库 ALGLIB 用于计算。
preview
从头开始开发智能交易系统(第 31 部分):面向未来((IV)

从头开始开发智能交易系统(第 31 部分):面向未来((IV)

我们继续从 EA 中删除单独的部件。 这是本系列中的最后一篇文章。 并且最后要移除的是声音系统。 如果您之前没有关注过这些文章系列,可能会有点困惑。
通过谷歌服务安排邮寄活动
通过谷歌服务安排邮寄活动

通过谷歌服务安排邮寄活动

交易者可能希望安排一次邮寄活动,以维持与其他交易者、订户、客户或朋友的业务关系。此外,可能需要发送屏幕截图、日志或报告。这些任务可能不是最经常出现的任务,但是拥有这样的特性显然是一个优势。本文讨论同时使用几个Google服务,在C#上开发适当的程序集,并将其与MQL工具集成。
preview
利用 CatBoost 算法寻找外汇市场的季节性模式

利用 CatBoost 算法寻找外汇市场的季节性模式

本文探索了用时间过滤器建立机器学习模型,并讨论了这种方法的有效性。现在,只要简单地指示模型在一周中某一天的某个时间进行交易,就可以消除人为因素。模式搜索可以由单独的算法提供。
preview
来自专业程序员的提示(第一部分):代码存储、调试和编译。 操控项目和日志

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

这些提示来自专业程序员,涵盖有关方法、技术和辅助工具,能够令编程更轻松。
随机沙盒
随机沙盒

随机沙盒

本文包括用作为 Excel 文件的交互式“沙盒”,用于模拟随机的 Expert Advisor 回溯测试数据。 读者可以使用它,有助于探索和深入了解 MetaTrader 默认提供的 EA 性能指标。 本文旨在引导读者获得这种体验。
preview
创建多交易品种、多周期指标

创建多交易品种、多周期指标

在本文中,我们将研究创建多交易品种、多周期指标的原则。我们还将了解如何从 EA 交易和其他指标中获取此类指标的数据。我们将探讨在 EA 交易和指标中使用多指标的主要功能,并将了解如何通过自定义指标缓冲区绘制它们。
preview
构建自动运行的 EA(第 09 部分):自动化(I)

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

尽管创建自动 EA 并非一项非常困难的任务,但在缺乏必要知识的情况下可能会犯许多错误。 在本文中,我们将研究如何构建初级自动化,其中包括创建一个触发器来激活盈亏平衡和尾随停止价位。
在 MetaTrader 5 中的连续期货合约
在 MetaTrader 5 中的连续期货合约

在 MetaTrader 5 中的连续期货合约

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

利用 HTML 报告分析交易结果

MetaTrader 5 平台具有保存交易报告,以及智能交易系统测试和优化报告的功能。 交易和测试报告可以按照两种格式保存:XLSX 和 HTML,而优化报告可以保存为 XML。 在本文中,我们将研究 HTML 测试报告,XML 优化报告和 HTML 交易历史报告。
DoEasy 函数库中的图形(第八十八部分):图形对象集合 — 存储对象动态变化属性的二维动态数组
DoEasy 函数库中的图形(第八十八部分):图形对象集合 — 存储对象动态变化属性的二维动态数组

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

在本文中,我将创建一个动态多维数组类,该类能够改变任意维度中的数据量。 基于所创建的类,我还将创建一个二维动态数组来存储一些会动态变动的图形对象属性。
preview
构建自动运行的 EA(第 08 部分):OnTradeTransaction

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

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

指标外部参数的图形控制

指标的外部变量通过专门的窗口进行控制,在窗口内可以更改参数,然后再次运行指标。 这些操作的明显不方便性产生了在屏幕上显示所需参数和图形化控制指标的需求。
preview
在莫斯科交易所(MOEX)里使用限价订单进行自动网格交易

在莫斯科交易所(MOEX)里使用限价订单进行自动网格交易

本文研究针对 MetaTrader 5 平台开发 MQL5 智能交易系统(EA),旨在能在 MOEX 上操作。 该 EA 采用网格策略,面向 MetaTrader 5 终端,并在 MOEX 上进行交易。 EA 包括了依据止损和止盈平仓,以及在某些市场条件下取消挂单。
学习如何基于 Stochastic 设计交易系统
学习如何基于 Stochastic 设计交易系统

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

在本文中,我们继续我们的研究系列 — 这次,我们将学习如何基于最流行的技术指标之一 Stochastic 振荡器指标设计交易系统。
preview
连续前行优化 (第五部分): 自动优化器项目概述和 GUI 的创建

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

本文深入讲述在 MetaTrader 5 终端里的前向优化。 在先前的文章中,我们研究了生成和过滤优化报告的方法,并开始分析负责优化过程的应用程序的内部结构。 自动优化器是作为 C# 应用程序实现的,并且拥有自己的图形界面。 第五篇文章专门论述了此图形界面的创建。
preview
从市场里选择智能交易系统的正确途径

从市场里选择智能交易系统的正确途径

在本文中,我们将研究购买智能交易系统时应该注意的一些要点。 我们还将寻求提升盈利的方法,从而明智地花钱,并从付出中获取盈利。 此外,读完本文之后,您会发现,即便使用简单免费的产品也有可能赚到钱。
基于预定义的风险和风险/回报比建立互动式半自动拖放“EA 交易”
基于预定义的风险和风险/回报比建立互动式半自动拖放“EA 交易”

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

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

MQL5 简介(第 1 部分):算法交易新手指南

通过我们的 MQL5 编程新手指南,进入算法交易的迷人领域。在揭开自动化交易世界的神秘面纱之际,让我们探索支持MetaTrader 5 的语言 MQL5 的精髓。从了解基础知识到迈出编码的第一步,本文是您即使没有编程背景也能释放算法交易潜力的关键。加入我们的旅程,在令人兴奋的 MQL5 世界里,体验简单与复杂的结合吧。
源代码的跟踪、调试和结构分析
源代码的跟踪、调试和结构分析

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

可以在没有很大困难的情况下解决创建执行代码的结构以及对其进行跟踪的整个复杂问题。由于 MQL5 语言的新功能 - 自动创建复杂类型的数据变量(结构和类)以及在超出局部范围时自动消失,这种可能性已经出现在 MetaTrader 5 中。本文提供对方法和现成工具的描述。
preview
一张图表上多个指标(第 04 部分):晋升为一款智能交易系统

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

在我之前的文章里,我已经解释了如何创建拥有多个子窗口的指标,在使用自定义指标时如此这般会变得很有趣。 这次,我们将看到如何为智能交易系统添加多个窗口。
preview
基于改进的十字星(Doji)烛条形态识别指标的交易策略

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

基于元柱线的指标比之传统指标,能检测到的蜡烛更多。 我们来检查一下这能否在自动交易中提供真正的益处。
基于大众交易系统和交易机器人优化点金术的 Expert Advisor(续)
基于大众交易系统和交易机器人优化点金术的 Expert Advisor(续)

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

在本文中,作者将提供各种方法来改进之前文章中所述的交易系统。本文适用于已有一些 Expert Advisor 编写经验的交易者。
preview
DirectX 教程(第一部分):绘制第一个三角形

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

这是一篇关于 DirectX 的介绍性文章,介绍了使用 API 进行操作的细节。 它应有助于理解其组件的初始化顺序。 本文包含一个如何编写 MQL5 脚本的示例,该脚本使用 DirectX 渲染一个三角形。
MQL5.community 最活跃成员获颁 iPhones 大奖!
MQL5.community 最活跃成员获颁 iPhones 大奖!

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

继我们决定奖励最为出色的 MQL5.com 参与者后,我们已经选出了确定每一位参与者对本社区发展所做贡献的关键准则。结果我们选出了下述优胜者,他们在网站上发布的文章数量最多 - investeo (11 篇)和 victorg (10 篇);以及将其代码提交到代码库的 – GODZILLA (340 个程序)、Integer (61 个程序)和 abolk (21 个程序)。
考虑 T. Demark 方法的趋势线指标
考虑 T. Demark 方法的趋势线指标

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

指标反映了显示市场近期事件的趋势线。该指标的开发考虑了 Thomas Demark 有关技术分析的建议和方法。指标显示了趋势的最后方向和趋势的倒数第二个相反方向。
构建新兴的社交技术, 第二部分: 编制 MQL5 的 REST 客户端
构建新兴的社交技术, 第二部分: 编制 MQL5 的 REST 客户端

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

让我们现在来塑造本文第一部分介绍过的,基于 PHP 的 Twitter (推特)。我们正在组装 SDSS 的不同部分。有关客户端的系统体系结构, 我们借助 MQL5 新提供的 WebRequest() 函数, 通过 HTTP 发送交易信号。
preview
开发多币种 EA 交易(第 1 部分):多种交易策略的协作

开发多币种 EA 交易(第 1 部分):多种交易策略的协作

交易策略是多种多样的,因此,或许可以采用几种策略并行运作,以分散风险,提高交易结果的稳定性。但是,如果每个策略都作为单独的 EA 交易来实现,那么在一个交易账户上管理它们的工作就会变得更加困难。为了解决这个问题,在一个 EA 中实现不同交易策略的操作是合理的。
非标准自动交易
非标准自动交易

非标准自动交易

不进行深入市场分析便使用 MT4 平台成功且舒适地交易——这可能吗?这种交易可以在现实中实施吗?我想,是的。特别对于自动交易,更是如此!
DoEasy 函数库中的时间序列(第三十九部分):基于函数库的指标 - 准备数据和时间序列事件
DoEasy 函数库中的时间序列(第三十九部分):基于函数库的指标 - 准备数据和时间序列事件

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

本文讨论如何应用 DoEasy 库来创建多品种、多周期指标。 我们准备在指标中操控函数库类,并创建时间序列作为指标的数据源进行测试。 我们还将实现时间序列事件的创建和发送。
轻松快捷开发 MetaTrader 程序的函数库(第 二十五部分):处理交易服务器返回的错误
轻松快捷开发 MetaTrader 程序的函数库(第 二十五部分):处理交易服务器返回的错误

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

交易订单发送到服务器之后,我们需要检查错误代码,或未出现错误。 在本文中,我们将研究处理交易服务器返回的错误,并着手创建延后交易请求。
宏观经济数据对货币价格波动影响的还原分析
宏观经济数据对货币价格波动影响的还原分析

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

本文研究宏观经济统计数据的多元还原分析应用程序。同时也以 EURUSD 货币对为例,洞察统计数据的评估,对于汇率波动的影响。这种评估可以自动分析基本面,使得交易新手也可运用。
来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数
来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数

来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数

这些来自专业程序员关于方法、技术和辅助工具的一些提示,可令编程变得更轻松。 我们将讨论终端重启(关闭)后如何恢复参数。 所有示例都是来自我的 Cayman 项目的真实工作代码片段。