![MQL5-RPC来自 MQL5 的远程过程调用:针对乐趣及获利的网络服务访问及 XML-RPC 自动交易锦标赛分析程序](https://c.mql5.com/2/0/mql5rpc.png)
![MQL5-RPC来自 MQL5 的远程过程调用:针对乐趣及获利的网络服务访问及 XML-RPC 自动交易锦标赛分析程序](https://c.mql5.com/i/articles/overlay.png)
MQL5-RPC来自 MQL5 的远程过程调用:针对乐趣及获利的网络服务访问及 XML-RPC 自动交易锦标赛分析程序
本文介绍 MQL5-RPC 框架,该框架使来自 MQL5 的远程过程调用成为可能。它以 XML-RPC 基础、MQL5 实施开始,接着提供两个实际运用例子。第一个例子使用外部网络服务,第二个例子是一个用于简单 XML-RPC 2011 年自动交易锦标赛分析程序服务的客户端。如果您对如何实施和实时分析来自 2011 年自动交易锦标赛的不同统计数据感兴趣,则本文正好适合您。
![统计分布在交易者工作中的作用](https://c.mql5.com/2/0/statistic_measument.png)
![统计分布在交易者工作中的作用](https://c.mql5.com/i/articles/overlay.png)
统计分布在交易者工作中的作用
本文是我的《用 MQL5 表示统计概率分布》一文的续篇,该文介绍了处理某些理论统计分布的类。现在,我们已经有了理论基础,我建议我们应直接进入实际数据集,并尝试据此基础获得某些信息。
![技术指标和数字滤波器](https://c.mql5.com/2/0/Indicators_as_digital_filters_MQL5.png)
![技术指标和数字滤波器](https://c.mql5.com/i/articles/overlay.png)
技术指标和数字滤波器
在本文中,技术指标被视为数字滤波器。本文对数字滤波器的操作原理和基本特性进行了说明。同时,本文还涉及在 MetaTrader 5 终端中接收滤波器内核以及与建立一个频谱分析程序一文中提出的现成频谱分析程序集成等实用方法。本文将典型数字滤波器的脉冲和频谱特性用作示例。
![MetaTrader 5 中的 WebSockets](https://c.mql5.com/2/49/websockets_mt5_600x314.jpg)
MetaTrader 5 中的 WebSockets
在引入随 MQL5 API 更新而提供的网络功能之前,MetaTrader 程序与基于 WebSocket 的服务连接和接口的能力受到许多限制。当然,这一切都改变了,在本文中,我们将探讨纯 MQL5 中 WebSocket 库的实现。WebSocket 协议的简要描述将与如何使用生成的库的逐步指南一起给出。
![连续前行优化 (第六部分): 自动优化器的逻辑部分和结构](https://c.mql5.com/2/49/Continuous-Walk-Forward-Optimization_006_600x314.jpg)
连续前行优化 (第六部分): 自动优化器的逻辑部分和结构
我们之前曾研究过创建自动前行优化。 这次,我们将继续探究自动优化器工具的内部结构。 本文对于那些希望深入操控所创建项目并进行修改的人士,以及那些希望理解程序逻辑的人士来说都很有用处。 本文包含 UML 示意图,它能揭示项目的内部结构,以及对象之间的关系。 它还阐述了优化开始的过程,但未包含优化器实现过程的讲述。
![MQL 作为 MQL 程序图形界面的标记工具。 第二部分](https://c.mql5.com/2/38/MQL5-avatar-dialog_form.png)
![MQL 作为 MQL 程序图形界面的标记工具。 第二部分](https://c.mql5.com/i/articles/overlay.png)
MQL 作为 MQL 程序图形界面的标记工具。 第二部分
本篇论文继续验证新概念,即利用 MQL 结构描述 MQL 程序的窗口界面。 基于 MQL 标记自动创建 GUI 提供了缓存和动态生成元素和控制风格,以及事件处理的新方案。 随附的是标准控件库的增强版本。
![梯度提升(CatBoost)在交易系统开发中的应用. 初级的方法](https://c.mql5.com/2/49/finding_seasonal_patterns_catboost_600x314.jpg)
梯度提升(CatBoost)在交易系统开发中的应用. 初级的方法
在 Python 中训练 CatBoost 分类器,并将模型导出到mql5,以及解析模型参数和自定义策略测试程序。Python 语言和 MetaTrader 5 库用于准备数据和训练模型。
![连续前行优化 (第四部分): 优化管理器(自动优化器)](https://c.mql5.com/2/49/Continuous-Walk-Forward-Optimization_004_600x314.jpg)
连续前行优化 (第四部分): 优化管理器(自动优化器)
本文主要目的在于阐述运用我们的应用程序进行操控的机制及其能力。 因此,本文可视为有关如何运用该应用程序的指南。 它涵盖了所有可能的陷阱,以及应用程序用法的细节。
![应用网络函数,或无需 DLL 的 MySQL:第 II 部分 - 监视信号属性变化的程序](https://c.mql5.com/2/37/kisspng-computer-icons-application-programming-interface-c-database-administrator-icon-free-download__1.png)
![应用网络函数,或无需 DLL 的 MySQL:第 II 部分 - 监视信号属性变化的程序](https://c.mql5.com/i/articles/overlay.png)
应用网络函数,或无需 DLL 的 MySQL:第 II 部分 - 监视信号属性变化的程序
在前一部分当中,我们研究了 MySQL 连通器的实现。 在本文中,我们将研究如何实现收集信号属性的服务应用,和观察其随时间变化的程序。 如果用户需要观察并未显示在信号网页上的属性变化,则所实现的示例具有重大实际意义。
![交易报告及短信通知的创建和发布](https://c.mql5.com/2/0/trade_reports_SMS_MQL5.png)
![交易报告及短信通知的创建和发布](https://c.mql5.com/i/articles/overlay.png)
交易报告及短信通知的创建和发布
交易者往往不能、也不想接连多少个小时被拴在交易终端那里。如果交易系统再或多或少地正规化、而且可以自动识别一些市场状态的时候,就更是如此。本文会讲述如何生成一份 HTML 文件格式的交易结果报告(利用“EA 交易”、指标或脚本),并通过 FTP 将其上传到 WWW 服务器。我们还会考虑以短信形式向手机发送交易事件通知。
![利用 CatBoost 算法寻找外汇市场的季节性模式](https://c.mql5.com/2/49/finding_seasonal_patterns_catboost_600x314.jpg)
利用 CatBoost 算法寻找外汇市场的季节性模式
本文探索了用时间过滤器建立机器学习模型,并讨论了这种方法的有效性。现在,只要简单地指示模型在一周中某一天的某个时间进行交易,就可以消除人为因素。模式搜索可以由单独的算法提供。
![处理 MQL5“EA 交易”的 GSM 调制解调器](https://c.mql5.com/2/0/P2090169__.png)
![处理 MQL5“EA 交易”的 GSM 调制解调器](https://c.mql5.com/i/articles/overlay.png)
处理 MQL5“EA 交易”的 GSM 调制解调器
当前,有相当数量的方式可以对交易账户进行轻松的远程监视:移动终端、推送通知、ICQ 。但都需要互联网连接。本文描述了“EA 交易”的创建程序,即使在移动互联网不可用的情况下,其也允许您通过电话或短信与交易终端保持联系。
![连续前行优化 (第五部分): 自动优化器项目概述和 GUI 的创建](https://c.mql5.com/2/49/Continuous-Walk-Forward-Optimization_005_600x314.jpg)
连续前行优化 (第五部分): 自动优化器项目概述和 GUI 的创建
本文深入讲述在 MetaTrader 5 终端里的前向优化。 在先前的文章中,我们研究了生成和过滤优化报告的方法,并开始分析负责优化过程的应用程序的内部结构。 自动优化器是作为 C# 应用程序实现的,并且拥有自己的图形界面。 第五篇文章专门论述了此图形界面的创建。
![源代码的跟踪、调试和结构分析](https://c.mql5.com/2/0/Trace_program.png)
![源代码的跟踪、调试和结构分析](https://c.mql5.com/i/articles/overlay.png)
源代码的跟踪、调试和结构分析
可以在没有很大困难的情况下解决创建执行代码的结构以及对其进行跟踪的整个复杂问题。由于 MQL5 语言的新功能 - 自动创建复杂类型的数据变量(结构和类)以及在超出局部范围时自动消失,这种可能性已经出现在 MetaTrader 5 中。本文提供对方法和现成工具的描述。
![利用 EX5 库来推动您的项目开发](https://c.mql5.com/2/0/Use_ex5_libraries.png)
![利用 EX5 库来推动您的项目开发](https://c.mql5.com/i/articles/overlay.png)
利用 EX5 库来推动您的项目开发
隐藏 .ex5 文件中类/函数的实施细节,会让您能够同其他开发人员共享自己的专有算法,设立共同项目并在网络中宣传它们。而且,在 MetaQuotes 团队不遗余力地引入直接继承 ex5 库类可能性的同时,我们现在就要付诸实施了。
![构建新兴的社交技术, 第二部分: 编制 MQL5 的 REST 客户端](https://c.mql5.com/2/10/tecla-twitter.png)
![构建新兴的社交技术, 第二部分: 编制 MQL5 的 REST 客户端](https://c.mql5.com/i/articles/overlay.png)
构建新兴的社交技术, 第二部分: 编制 MQL5 的 REST 客户端
让我们现在来塑造本文第一部分介绍过的,基于 PHP 的 Twitter (推特)。我们正在组装 SDSS 的不同部分。有关客户端的系统体系结构, 我们借助 MQL5 新提供的 WebRequest() 函数, 通过 HTTP 发送交易信号。
![单纯使用 MQL5 语言处理 ZIP 档案](https://c.mql5.com/2/19/Icon3.png)
![单纯使用 MQL5 语言处理 ZIP 档案](https://c.mql5.com/i/articles/overlay.png)
单纯使用 MQL5 语言处理 ZIP 档案
MQL5 语言在不断进化, 持续地增加了用于处理数据的新特性. 正因为这些创新, 现在我们可以在不引入第三方DLL库的情况下, 只使用通常的MQL5工具就可以操作ZIP档案了. 本文专注于具体的实现, 并且提供了CZip类作为例子, 它是一个用于读取, 创建和修改ZIP档案的通用工具.
![用 MQL5 连接 EA 交易程序和 ICQ](https://c.mql5.com/2/0/icq.png)
![用 MQL5 连接 EA 交易程序和 ICQ](https://c.mql5.com/i/articles/overlay.png)
用 MQL5 连接 EA 交易程序和 ICQ
本文描述 EA 交易程序和 ICQ 用户之间的信息交换方法,并提供了几个例子。通过他们的手机或 PDA 中的 ICQ 客户端,从一个客户端远程接收交易信息的人会对提供的材料感兴趣。
![计算数学表达式(第二部分)。 普拉特和分流场解析器](https://c.mql5.com/2/39/MQL5-avatar-analysis__1.png)
![计算数学表达式(第二部分)。 普拉特和分流场解析器](https://c.mql5.com/i/articles/overlay.png)
计算数学表达式(第二部分)。 普拉特和分流场解析器
在本文中,我们基于运算符优先级的解析器,研究数学表达式解析和评估的原理。 我们将实现普拉特(Pratt)和分流场解析器,字节代码的生成和代码计算,查看如何在表达式中将指标用作函数,以及如何基于这些指标在智能交易系统中设置交易信号。
![针对市场分析的数据库的具体应用](https://c.mql5.com/2/0/dar.png)
![针对市场分析的数据库的具体应用](https://c.mql5.com/i/articles/overlay.png)
针对市场分析的数据库的具体应用
处理数据成为现代软件的主要任务 - 独立应用程序和网络应用程序都是如此。为解决此问题而创建了专业软件。这些软件被称为数据库管理系统 (DBMS),能够针对它们的计算机存储和处理对数据进行构建、系统化和组织。对于交易,大多数分析师并不在他们的工作中使用数据库。但是对于一些任务,必须使用此类解决方案。本文提供了一个在客户端-服务器和文件-服务器架构中都能将数据保存到数据库或从数据库加载数据的指标例子。
![DirectX 教程(第一部分):绘制第一个三角形](https://c.mql5.com/2/49/directX_tutorial_001_600x314.jpg)
DirectX 教程(第一部分):绘制第一个三角形
这是一篇关于 DirectX 的介绍性文章,介绍了使用 API 进行操作的细节。 它应有助于理解其组件的初始化顺序。 本文包含一个如何编写 MQL5 脚本的示例,该脚本使用 DirectX 渲染一个三角形。
![查找错误和记录](https://c.mql5.com/2/0/filter_Log_MQL5.png)
![查找错误和记录](https://c.mql5.com/i/articles/overlay.png)
查找错误和记录
MetaEditor 5 具备调试功能。但是在编写 MQL5 程序时,您通常都希望不要显示个别的值,而是测试与在线工作期间出现的所有信息。如果日志文件内容庞大,所需信息快速便捷检索自动化的重要性就显而易见了。本文中,我们会研究 MQL5 程序中查找错误的方式以及记录方法。我们也会简单地记录到文件中,并了解一款方便日志查看的简单程序 - LogMon。
![MQL5 中的电子表格](https://c.mql5.com/2/0/MQL5_table__1.png)
![MQL5 中的电子表格](https://c.mql5.com/i/articles/overlay.png)
MQL5 中的电子表格
本文介绍在其第一个维度中包含不同类型的数据的动态二维数组的类。以表格的形式存储数据可方便地解决与安排、存储和操作不同类型的绑定信息相关的各种问题。实施表格处理功能性的类的源代码已附于本文。
![直推和主动机器学习中的梯度提升](https://c.mql5.com/2/49/gradient_boosting_catboost_ml_600x314.jpg)
直推和主动机器学习中的梯度提升
在本文中,我们将探讨利用真实数据的主动机器学习方法,并讨论它们的优缺点。也许你会发现这些方法很有用,并将它们包含在你的机器学习模型库中。直推是由支持向量机(SVM)的共同发明者弗拉基米尔·瓦普尼克(Vladimir Vapnik)提出的。
![在 MQL4 和 MQL5 框架下开发 OpenAI 的 ChatGPT 功能](https://c.mql5.com/2/55/mql5-openai_600x314.jpg)
在 MQL4 和 MQL5 框架下开发 OpenAI 的 ChatGPT 功能
在本文中,我们将尝鲜来自 OpenAI 的 ChatGPT,从而了解它在降低开发智能系统、指标、和脚本的时间和劳动强度方面的能力。我将引导您快速通览这项技术,并尝试向您展示如何正确地使用它在 MQL4 和 MQL5 中进行编程。
![连续前行优化 (第八部分): 程序改进和修复](https://c.mql5.com/2/49/Continuous-Walk-Forward-Optimization_008_600x314.jpg)
连续前行优化 (第八部分): 程序改进和修复
根据本系列文章的用户和读者的评论和要求,程序已进行了修改。 本文包含一个自动优化器的新版本。 该版本实现了所需的功能,并提供了其他改进,这些是我运用该程序操作时发现的。
![MetaTrader 5 的 WebSocket — 使用 Windows API](https://c.mql5.com/2/49/websockets_mt5_winapi_600x314.jpg)
MetaTrader 5 的 WebSocket — 使用 Windows API
在本文中,我们将使用 WinHttp.dll 针对 MetaTrader 5 平台创建 WebSocket 客户端程序。 客户端最终将作为一个类实现,并借助 Binary.com 的 WebSocket API 进行测试。
![如何在 MetaTrader 5 中创建并测试自定义 MOEX(莫斯科证券交易所) 品种](https://c.mql5.com/2/35/CustSymbols_MOEX.png)
![如何在 MetaTrader 5 中创建并测试自定义 MOEX(莫斯科证券交易所) 品种](https://c.mql5.com/i/articles/overlay.png)
如何在 MetaTrader 5 中创建并测试自定义 MOEX(莫斯科证券交易所) 品种
本文介绍运用 MQL5 语言创建自定义兑换品种。 特别是,它研究使用来自流行的 Finam 网站的兑换报价。 本文中研究的另一个选项是在创建自定义品种时可以使用任意格式的文本文件。 这允许使用任何金融品种和数据源。 创建自定义品种之后,我们可以使用 MetaTrader 5 策略测试器的所有功能来测试兑换品种的交易算法。
![神经网络变得轻松(第二十六部分):强化学习](https://c.mql5.com/2/49/Neural_Networks_Easy_018_600x314.jpg)
神经网络变得轻松(第二十六部分):强化学习
我们继续研究机器学习方法。 自本文,我们开始另一个大话题,强化学习。 这种方式允许为模型设置某些策略来解决问题。 我们可以预期,强化学习的这种特性将为构建交易策略开辟新的视野。
![MQL5 中的矩阵和向量操作](https://c.mql5.com/2/49/Anons_600x314.jpg)
MQL5 中的矩阵和向量操作
MQL5 中引入了矩阵和向量,用于实现数学解决方案的高效操作。 新类型提供了内置方法,能够创建接近数学标记符号的简洁易懂的代码。 数组提供了广泛的功能,但在很多情况下,矩阵的效率要高得多。