MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
使用计量经济学方法分析图表
使用计量经济学方法分析图表

使用计量经济学方法分析图表

本文介绍了用于分析、自相关分析尤其是条件方差分析的计量经济学方法。本文介绍的方法有何益处?使用非线性 GARCH 模型可以从数学角度正式表示分析序列并为指定步骤数建立预测。
交易员生存诀窍: 若干测试的比较报告
交易员生存诀窍: 若干测试的比较报告

交易员生存诀窍: 若干测试的比较报告

本文应对在四种不同的金融工具上同时启动智能交易系统测试。四个测试报告的最终比较在表格中提供, 类似于在线商店中陈列商品。附送礼包是为每个品种自动创建分布图表。
相关性在交易中的实际应用
相关性在交易中的实际应用

相关性在交易中的实际应用

在本文中,我们将分析变量之间相关性的概念,以及相关系数的计算方法及其在交易中的实际应用。相关性是两个或多个随机变量之间的统计关系(或可以被视为具有某种可接受精度的随机量)。一个或多个变量的变化导致其他相关变量的系统变化。
图形界面 I:控件构成(第二章)
图形界面 I:控件构成(第二章)

图形界面 I:控件构成(第二章)

在本文中我们将创建第一个图形界面的主元素 — 控件的一个窗体。多个控件可以以任何组合被附加到此窗体的任何地方。
使用非托管导出将 C# 代码运用到 MQL5
使用非托管导出将 C# 代码运用到 MQL5

使用非托管导出将 C# 代码运用到 MQL5

在本文中,我介绍了在 MQL5 代码和托管 C# 代码之间进行互动的不同方法。我还提供了几个例子来说明如何针对 C# 封送 MQL5 结构以及如何在 MQL5 脚本中调用导出的 DLL 函数。我相信提供的例子能用作以后研究用托管代码编写 DLL 的基础。本文也为 MetaTrader 使用已经在 C# 中实施了的多个库打开了大门。
时间序列主要特性的分析
时间序列主要特性的分析

时间序列主要特性的分析

本文会介绍一个专为针对各种时间序列的特性给出快速初步评估而设计的类。与其同时,亦对统计参数和自相关函数进行评估,对时间序列执行频谱估计,并构建一个直方图。
研究烛条分析技术(第三部分):用于形态操作的函数库
研究烛条分析技术(第三部分):用于形态操作的函数库

研究烛条分析技术(第三部分):用于形态操作的函数库

本文的目的是创建一个自定义工具,令用户能够接收和使用前面所讨论形态的整体信息数组。 我们将创建一个形态相关的函数库,您可以在自己的指标、交易面板、智能交易系统等等应用中运用它们。
网格和马丁格尔:它们是什么?如何使用它们?
网格和马丁格尔:它们是什么?如何使用它们?

网格和马丁格尔:它们是什么?如何使用它们?

在本文中,我将试图详细解释什么是网格和马丁格尔,以及它们的共同点。此外,我将试着分析这些策略到底有多可行。这篇文章同时包含了数学和实践部分。
preview
神经网络在交易中的实际应用。 是时候进行实践了

神经网络在交易中的实际应用。 是时候进行实践了

本文提供了在 Matlab 平台上实际运用神经网络模块的讲述和指南。 它还涵盖了运用神经网络模块创建交易系统的主要方面。 为了能够在一篇文章中厘清复杂内容,我必须对其进行修改,从而在一个程序中组合若干个神经网络模块函数。
基于交易模块创建多个 EA 交易
基于交易模块创建多个 EA 交易

基于交易模块创建多个 EA 交易

在 MQL5 中使用面向对象方法这一做法,极大简化了多币种/多系统/多时间表 EA 交易的创建过程。不妨想象一下单个 EA 交易采用多个交易策略、使用一切可用工具以及利用所有可能的时间表进行交易的情形!此外,EA 交易还方便使用测试程序进行测试,并且对于所有策略而言,该交易包含了一个或多个资金管理工作系统。
ZigZag (之字折线) 的力量(第二部分)。 接收、处理和显示数据的示例
ZigZag (之字折线) 的力量(第二部分)。 接收、处理和显示数据的示例

ZigZag (之字折线) 的力量(第二部分)。 接收、处理和显示数据的示例

在本文的第一部分当中,我曾描述过一个修订的 ZigZag (之字折线) 指标和一个用于接收该类型指标数据的类。 在此,我将展示如何基于这些工具开发指标,并编写一款根据 ZigZag 指标形成的信号进行交易的 EA 来测试。 作为补充,本文将介绍一套开发图形用户界面的新版 EasyAndFast 函数库。
指标和信号盈利能力的可视化优化
指标和信号盈利能力的可视化优化

指标和信号盈利能力的可视化优化

本文是我的上一篇文章“指标和提醒的盈利能力的可视化测试”的延续和拓展。 通过在参数更改过程中添加一些交互性和修改研究对象,我成功地获得了一个新工具,此工具不仅仅显示基于所使用信号的预期交易结果,还允许通过移动在主图表中用作信号参数值控件的虚拟滑块,立即获得交易布局、余额图表和最终交易结果。
评估分形指数和Hurst指数预测金融时间序列的能力
评估分形指数和Hurst指数预测金融时间序列的能力

评估分形指数和Hurst指数预测金融时间序列的能力

有关金融数据分形行为的研究表明,在经济时间序列看似混乱的行为背后,存在着参与者集体行为的隐性稳定机制。这些机制可以导致交易所出现价格动态,从而定义和描述价格序列的具体属性。应用于交易中,能够有效、可靠地估计尺度和时间框架内的分形参数的指标,具有一定的实用价值。
图形界面 VI: 复选框控件,编辑框控件以及它们的组合类型 (第一章)
图形界面 VI: 复选框控件,编辑框控件以及它们的组合类型 (第一章)

图形界面 VI: 复选框控件,编辑框控件以及它们的组合类型 (第一章)

本文是在MetaTrader终端图形界面开发库系列中第六部分的开端,在第一章中,我们将讨论复选框控件,编辑框控件以及它们的组合类型。
跨平台智能交易程序: 订单
跨平台智能交易程序: 订单

跨平台智能交易程序: 订单

MetaTrader 4 和 MetaTrader 5 在处理交易请求时使用不同的约定。本文讨论使用类对象来表达由服务器处理的交易的可能性, 目的是让跨平台智能交易程序可以无视交易平台版本和使用模式均可工作。
已有950个网站提供来自MetaQuotes的经济日历
已有950个网站提供来自MetaQuotes的经济日历

已有950个网站提供来自MetaQuotes的经济日历

该小工具为网站提供了一个详细的发布时间表,列出了全球大型经济体的500个指标及指数。因此,除了主要的网站内容之外,交易者还能够迅速收到关于所有重要事件的最新消息及其解释和图表。
项目可协助创建可盈利的交易机器人! 或至少,看似可以
项目可协助创建可盈利的交易机器人! 或至少,看似可以

项目可协助创建可盈利的交易机器人! 或至少,看似可以

大程序都是从小文件开始,然后随着您不断添加更多的函数和对象而增长。 大多数的机器人开发人员都采用包含文件来应对此问题。 然而,有一个更好的解决方案:在一个项目中开始开发任意交易应用程序。 这样做的原因有很多。
深度神经网络 (第 II 部)。制定和选择预测因子
深度神经网络 (第 II 部)。制定和选择预测因子

深度神经网络 (第 II 部)。制定和选择预测因子

有关深度神经网络系列的第二篇文章研究当准备模型训练的数据期间预测因子的变换和选择。
峰谷指标:新鲜的方法,新颖的解决方案
峰谷指标:新鲜的方法,新颖的解决方案

峰谷指标:新鲜的方法,新颖的解决方案

本文会验证创建一种高级峰谷指标的可能性。识别节点的概念是以使用轨道线指标为基础的。我们假设可以找到一系列轨道线输入参数的一种特定组合,所有峰谷节点均可借此处于轨道线带的界限之中。因此,我们可以尝试预测新节点的坐标。
一个使用命名管道在 MetaTrader 5 客户端之间进行通信的无 DLL 解决方案
一个使用命名管道在 MetaTrader 5 客户端之间进行通信的无 DLL 解决方案

一个使用命名管道在 MetaTrader 5 客户端之间进行通信的无 DLL 解决方案

本文说明如何使用命名管道在 MetaTrader 5 客户端之间实施进程间通信。为使用命名管道而开发了 CNamedPipes 类。为了测试其使用以及测量连接吞吐能力,提供了价格变动指标、服务器和客户端脚本。命名管道的使用足以应对实时报价。
优化管理(第二部分):创建按键对象和附加逻辑
优化管理(第二部分):创建按键对象和附加逻辑

优化管理(第二部分):创建按键对象和附加逻辑

这篇文章是之前发表的关于创建优化管理图形界面的延续,本文探讨了附加组件的逻辑,将为 MetaTrader 5 终端创建一个包装器:它将使附加组件通过C#作为一个托管进程运行。此外,本文还探讨了对配置文件和安装文件的操作。应用逻辑分为两部分:第一部分描述了按下特定按键后调用的方法,第二部分描述了优化启动和管理。
Simulink: EA 交易开发人员指南
Simulink: EA 交易开发人员指南

Simulink: EA 交易开发人员指南

我不是专业的程序员。 正因如此,对于我来说,要进行交易系统开发,“由简入繁”是最最重要的原则。 那么,对我来说,怎样才算是简单呢? 首先,是创建系统过程的可视化,及其工作的逻辑。 还有,手写代码要尽可能地少。 在本文中,我将尝试根据 Matlab 软件包完成交易系统的创建和测试,然后再编写一个 MetaTrader 5 “EA 交易”。而测试过程会采用 MetaTrader 5 的历史数据。
New Bar (新柱)事件处理程序
New Bar (新柱)事件处理程序

New Bar (新柱)事件处理程序

MQL5 编程语言处理问题的能力已达到一个全新的水平。即便是那些已有此类解决方案的任务,也因为面向对象编程而进阶到一个更高的水平。本文中,我们会举一个检查图表中新柱的特别简单的例子,而且,它已经转化成为一种相当强大且用途多样的工具。什么工具?到文中找答案吧。
利用余额图进行策略优化并将结果与 "余额 + 最大锋锐比率" 标准进行比较
利用余额图进行策略优化并将结果与 "余额 + 最大锋锐比率" 标准进行比较

利用余额图进行策略优化并将结果与 "余额 + 最大锋锐比率" 标准进行比较

在本文中, 我们研究另一种基于分析余额图来优化自定义交易策略的准则。线性回归使用 ALGLIB 函数库中的函数进行计算。
攫取盈利至最后的点位
攫取盈利至最后的点位

攫取盈利至最后的点位

本文尝试阐述在算法交易领域中将理论与实践相结合。 有关创建交易系统的大多数讨论都与依据历史柱线和其上应用的各种指标有关联。 这是覆盖率最高的领域,因此我们不会再过多涉及。 柱线体现出非常人工的实体; 因此,我们将使用更接近原始数据的东西,即价格的即时报价。
验证流言: 全日交易取决于亚洲时段的交易行情
验证流言: 全日交易取决于亚洲时段的交易行情

验证流言: 全日交易取决于亚洲时段的交易行情

在本文中,我们会探讨著名论述“全日交易取决于亚洲时段的交易行情”。
蒙特卡洛方法在交易策略优化中的应用
蒙特卡洛方法在交易策略优化中的应用

蒙特卡洛方法在交易策略优化中的应用

在交易账户上运行 EA 交易之前,我们通常会在报价历史上测试和优化它。然而,这里会有一个合理的问题: 过去的结果怎么会对我们的未来有所帮助呢?本文描述了使用蒙特卡洛方法来为交易策略的优化构建自定义的标准,另外,还会探讨 EA 交易的稳定性标准。
轻松快捷开发 MetaTrader 程序的函数库(第四部分):交易事件
轻松快捷开发 MetaTrader 程序的函数库(第四部分):交易事件

轻松快捷开发 MetaTrader 程序的函数库(第四部分):交易事件

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 我们已拥有历史订单和成交集合,在场订单和仓位的集合,以及便捷选择和订单排序的类。 在这一部分中,我们将继续开发基础对象,并教导引擎(Engine)函数库跟踪帐户上的交易事件。
运用 R-平方 评估策略余额曲线的品质
运用 R-平方 评估策略余额曲线的品质

运用 R-平方 评估策略余额曲线的品质

本文介绍如何构建自定义优化标准 R-平方。这一准则可用来评估一个策略的余额曲线的品质, 并选择增长最平滑和稳定的策略。这项工作讨论其构建原理, 以及用于评估属性和衡量品质的统计方法。
图形界面 V: 组合框控件 (第三章)
图形界面 V: 组合框控件 (第三章)

图形界面 V: 组合框控件 (第三章)

在本系列第五部分的前两章中,我们开发了用于创建滚动条和列表视图的类,在本章中,我们将讨论创建组合框(combobox)控件的类,这也是一个组合控件,包含了第五部分前面章节中讨论的一些元件。
快捷手动交易工具箱:基本功能
快捷手动交易工具箱:基本功能

快捷手动交易工具箱:基本功能

如今,众多交易者切换至自动交易系统,这类系统可能需要附加设置,或是能够完全自动化并准备就绪。 然而,有相当一部分交易者更喜欢以旧有方式进行手动交易。 在本文中,我们将创建快速手动交易工具箱,用热键来一键执行典型交易操作。
preview
针对交易的组合数学和概率论(第一部分):基础知识

针对交易的组合数学和概率论(第一部分):基础知识

在本系列文章中,我们将尝试找寻概率论的实际运用来描述交易和定价过程。 在首篇文章中,我们将研究组合数学和概率论的基础知识,并将分析如何在概率论的框架中应用分形的第一个例子。
创建手动交易策略的模糊逻辑
创建手动交易策略的模糊逻辑

创建手动交易策略的模糊逻辑

本文提出使用模糊理论来改善手动交易策略的方法。作为例子,我们给出了如何一步步构建策略和选则参数,然后将模糊逻辑应用与进入市场的标准选择上。这样,在修改策略后,我们获得了能对市场情况做出合理反应的弹性开仓条件。
在指标中添加声音提醒
在指标中添加声音提醒

在指标中添加声音提醒

如何为日常使用创建"语音"指标。
EA 交易中的限制和验证
EA 交易中的限制和验证

EA 交易中的限制和验证

是否可以在周一交易此交易品种?是否有足够的资金用于开仓?如果止损触发,损失有多大?如何限制挂单数量?交易操作在当前柱上执行还是在前一柱上执行?如果交易机器人无法执行此类验证,则任何交易策略可转为带来损失。本文说明在EA交易中有用的验证示例。
快捷手动交易工具箱:持仓和挂单操控
快捷手动交易工具箱:持仓和挂单操控

快捷手动交易工具箱:持仓和挂单操控

在本文中,我们将扩展工具箱的功能:我们将添加在特定条件下平仓功能,并将创建控制市价和挂单的表格,且能编辑这些订单。
具有最小延迟的有效平均算法: 在指标和 Expert Advisor 中使用
具有最小延迟的有效平均算法: 在指标和 Expert Advisor 中使用

具有最小延迟的有效平均算法: 在指标和 Expert Advisor 中使用

本文介绍笔者开发的更高质量的自定义平均函数: JJMASeries()、JurXSeries()、JLiteSeries()、ParMASeries()、LRMASeries()、T3Series() 和 MASeries()。 作者考虑在指标中使用 SmoothXSeries() 函数的调用进行上述函数的热替换。
“傻瓜式”MQL:如何设计和构建对象类
“傻瓜式”MQL:如何设计和构建对象类

“傻瓜式”MQL:如何设计和构建对象类

我们将通过创建视觉设计的样本程序,介绍如何在 MQL5 中设计和构建类。本文为使用 MT5 应用程序的初学者编程人员所编写。我们提出一种简易明了的抓取技术用于创建类,无需深刻理解面向对象编程的理论。
如何分析图表中所选择信号的交易
如何分析图表中所选择信号的交易

如何分析图表中所选择信号的交易

交易信号服务正在突飞猛进地发展。 将我们的资金托付给信号提供者,我们希望尽量减少资金亏损的风险。 那么如何在这个交易信号的森林中解开拼图呢? 如何发现能赚取盈利的产品? 本文提出创建一种工具,可在品种图表中直观地分析交易信号的交易历史。
preview
多层感知器和反向传播算法(第二部分):利用 Python 实现并与 MQL5 集成

多层感知器和反向传播算法(第二部分):利用 Python 实现并与 MQL5 集成

有一个 Python 程序包可用于开发与 MQL 的集成,它提供了大量机会,例如数据探索、创建和使用机器学习模型。 集成在 MQL5 内置的 Python,能够创建各种解决方案,从简单的线性回归、到深度学习模型。 我们来看看如何设置和准备开发环境,以及如何使用一些机器学习函数库。