开发回放系统(第 35 部分):进行调整 (一)
在向前迈进之前,我们需要解决几个问题。这些实际上并不是必需的修正,而是对类的管理和使用方式的改进。原因是系统内的某些相互作用导致了故障的发生。尽管我们试图找出这些故障的原因以消除它们,但所有这些尝试都没有成功。其中有些情况完全不合理,例如,当我们在 C/C++ 中使用指针或递归时,程序就会崩溃。
开发回放系统(第 34 部分):订单系统 (三)
在本文中,我们将完成构建的第一阶段。虽然这部分内容很快就能完成,但我将介绍之前没有讨论过的细节。我将解释一些许多人不理解的问题。你知道为什么要按 Shift 或 Ctrl 键吗?
Scikit-Learn 库中的分类模型及其导出到 ONNX
在本文中,我们将探讨使用 Scikit-Learn 库中所有可用的分类模型来解决 Fisher 鸢尾花数据集的分类任务。我们将尝试把这些模型转换为 ONNX 格式,并在 MQL5 程序中使用生成的模型。此外,我们将在完整的鸢尾花数据集上比较原始模型与其 ONNX 版本的准确性。
开发回放系统(第33部分):订单系统(二)
今天,我们将继续开发订单系统。正如您将看到的,我们将大规模重用其他文章中已经展示的内容。尽管如此,你还是会在这篇文章中获得一点奖励。首先,我们将开发一个可以与真实交易服务器一起使用的系统,无论是从模拟账户还是从真实账户。我们将广泛使用MetaTrader 5平台,该平台将从一开始就为我们提供所有必要的支持。
群体优化算法:随机扩散搜索(SDS)
本文讨论了基于随机游走原理的随机扩散搜索(Stochastic Diffusion Search,SDS)算法,它是一种非常强大和高效的优化算法。该算法允许在复杂的多维空间中找到最优解,同时具有高收敛速度和避免局部极值的能力。
群体优化算法:思维进化计算(MEC)算法
本文探讨了MEC家族的算法,称为简单思维进化计算(Simple Mind Evolutionary Computation, Simple-MEC,SMEC)算法。该算法以其思想之美和易于实现而著称。
群体优化算法:混合蛙跳算法(SFL)
本文详细描述了混合蛙跳(Shuffled Frog-Leaping,SFL)算法及其在求解优化问题中的能力。SFL算法的灵感来源于青蛙在自然环境中的行为,为函数优化提供了一种新的方法。SFL算法是一种高效灵活的工具,能够处理各种数据类型并实现最佳解决方案。
如何利用 MQL5 创建简单的多币种智能交易系统(第 2 部分):指标信号:多时间帧抛物线 SAR 指标
本文中的多币种智能交易系统是智能交易系统或交易机器人,它仅在一个品种图表上就能交易(开单、平单、和管理订单,例如:尾随停损和止盈)超过 1 个交易品种对。这次我们只用 1 个指标,即抛物线 SAR 或 iSAR, 将其应用在 PERIOD_M15 到 PERIOD_D1 的多个时间帧。
开发回放系统(第32部分):订单系统(一)
在我们迄今为止开发的所有东西中,正如你可能会注意到并最终同意的那样,这个系统是最复杂的。现在我们需要做一些非常简单的事情:让我们的系统模拟交易服务器的操作。准确实现交易服务器操作方式似乎是一件轻而易举的事情。至少说起来是这样。但我们需要这样做,以便对回放/模拟系统的用户来说,一切都是无缝和透明的。
将ML模型与策略测试器集成(结论):实现价格预测的回归模型
本文描述了一个基于决策树的回归模型的实现。该模型应预测金融资产的价格。我们已经准备好了数据,对模型进行了训练和评估,并对其进行了调整和优化。然而,需要注意的是,该模型仅用于研究目的,不应用于实际交易。
如何利用 MQL5 创建简单的多币种智能交易系统(第 1 部分):基于 ADX 指标的信号,并结合抛物线 SAR
本文中的多币种智能交易系统是交易机器人,它只能在单一品种图表中运营,但可交易(开单、平单和管理订单)超过一个品种对。
时间序列挖掘的数据标签(第4部分):使用标签数据的可解释性分解
本系列文章介绍了几种时间序列标记方法,这些方法可以创建符合大多数人工智能模型的数据,而根据需要进行有针对性的数据标记可以使训练后的人工智能模型更符合预期设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
在MQL5中置换价格柱
在这篇文章中,我们提出了一种置换价格柱的算法,并详细说明了如何使用置换测试来识别策略性能被编造来欺骗 EA 交易的潜在买家的情况。
MQL5中的替代风险回报标准
在这篇文章中,我们介绍了几种被称为夏普比率(Sharpe ratio)替代品的风险回报标准的实现,并检查了假设的权益曲线以分析其特征。
为EA交易提供指标的现成模板(第3部分):趋势指标
在这篇参考文章中,我们将研究趋势指标类别中的标准指标。我们将创建现成的模板,用于EA中的指标使用——声明和设置参数、指标初始化和析构,以及从EA中的指示符缓冲区接收数据和信号。
DRAKON可视化编程语言 - 面向MQL开发人员和客户的通信工具
DRAKON是一种可视化编程语言,旨在简化来自不同领域的专家(生物学家、物理学家、工程师…)与俄罗斯太空项目(例如,Buran可重复使用航天器项目)程序员之间的互动。在这篇文章中,我将讨论DRAKON如何使算法的创建变得容易和直观,即使你从未遇到过代码,以及客户在订购交易机器人时如何更容易解释他们的想法,以及程序员如何在复杂函数中减少错误。
为EA交易提供指标的现成模板(第2部分):交易量和比尔威廉姆斯指标
在本文中,我们将研究交易量和比尔威廉姆斯指标类别的标准指标。我们将创建现成的模板,用于EA中的指标使用——声明和设置参数、指标初始化和析构,以及从EA中的指示符缓冲区接收数据和信号。
模式搜索的暴力方法(第六部分):循环优化
在这篇文章中,我将展示改进的第一部分,这些改进不仅使我能够使MetaTrader 4和5交易的整个自动化链闭环,而且还可以做一些更有趣的事情。从现在起,这个解决方案使我能够完全自动化创建EA和优化,并最大限度地降低寻找有效交易配置的劳动力成本。
MQL5中使用坐标下降法的弹性网络回归
在这篇文章中,我们探索了弹性网络回归的实际实现,以最大限度地减少过拟合,同时自动将有用的预测因子与那些预测能力很小的预测因子区分开来。
用于在EA交易中包含指标的现成模板(第一部分):振荡指标
本文从振荡指标类开始研究标准指标,我们将创建现成的模板,用于EA中——声明和设置参数、指标初始化和去初始化,以及从EA中的指标缓冲区接收数据和信号。
制作仪表板以显示指标和EA中的数据
在本文中,我们将创建一个用于指标和EA的仪表板类。这是一个小系列文章中的介绍性文章,其中包含模板以在EA交易中包含和使用标准指标。我将首先创建一个类似于MetaTrader 5数据窗口的面板。
MetaTrader 5中的蒙特卡罗置换测试
在本文中,我们将了解如何仅使用 Metatrader 5在任何 EA 交易上基于修改的分时数据进行置换测试。
交易事务. 请求和响应结构、描述和记录
本文探讨了处理交易请求结构,即创建请求、将其发送到服务器之前的初步验证、服务器对交易请求的响应以及交易交易的结构。我们将创建简单方便的函数,将交易订单发送到服务器,并根据所讨论的内容,创建EA来通知交易事务。
MQL5 中的范畴论 (第 11 部分):图论
本文是以 MQL5 实现范畴论系列的续篇。于此,我们验证在开发交易系统的平仓策略时,图论如何与幺半群和其它数据结构集成。
开发回放系统 — 市场模拟(第 17 部分):跳价和更多跳价(I)
于此,我们将见识到如何实现一些非常有趣的东西,但同时也会因某些可能十分令人困惑的关键点而极其困难。可能发生的最糟糕的事情是,一些自诩专业人士的交易者却对这些概念在资本市场中的重要性一无所知。好吧,尽管我们在这里专注于编程,但理解市场交易中涉及的一些问题,对于我们将要实现的内容至关重要。
MQL5中的结构及其数据打印方法
在本文中,我们将研究MqlDateTime、MqlTick、MqlRates和MqlBookInfo结构,以及从它们打印数据的方法。为了打印结构的所有字段,有一个标准的ArrayPrint()函数,它以方便的表格格式显示数组中包含的数据以及处理结构的类型。
StringFormat(). 回顾和现成的例子
本文继续介绍PrintFormat()函数。我们将简要介绍使用StringFormat()格式化字符串及其在程序中的进一步使用。我们还将编写模板,在终端日志中显示交易品种数据。这篇文章对初学者和有经验的开发人员都很有用。
DoEasy. 控件 (第 32 部分): 水平滚动条,鼠标轮滚动
在本文中,我们将完成水平滚动条对象功能的开发。我们还将令移动滚动条滑块和旋转鼠标滚轮来滚动容器的内容成为可能,以及考虑到 MQL5 中的新订单执行策略,和新的运行时错误代码,在函数库里相应添加。
研究PrintFormat()并应用现成的示例
这篇文章对初学者和有经验的开发人员都很有用。我们将研究PrintFormat()函数,分析字符串格式的示例,并编写用于在终端日志中显示各种信息的模板。
MQL5中的ALGLIB数值分析库
本文简要介绍了ALGLIB 3.19数值分析库、它的应用以及可以提高金融数据分析效率的新算法。
GUI:利用 MQL 创建您自己的图形库的提示和技巧
我们将通览 GUI 函数库的基础知识,以便您能理解它们如何工作,甚至着手打造您自己的函数库。
MQL5 中的范畴论 (第 10 部分):幺半群组
本文是以 MQL5 实现范畴论系列的延续。 在此,我们将”幺半群-组“视为常规化幺半群集的一种手段,令它们在更广泛的幺半群集和数据类型中更具可比性。
为智能系统制定品质因数
在本文中,我们将见识到如何制定一个品质得分,并由您的智能系统从策略测试器返回。 我们将查看两种著名的计算方法 — Van Tharp 和 Sunny Harris。
利用回归衡量度评估 ONNX 模型
回归是一项依据未标记样本预测真实数值的任务。 所谓的回归衡量度则是用来评估回归模型的预测准确性。
时间序列的频域表示:功率谱
在本文中,我们将讨论在频域中分析时间序列的相关方法。 构建预测模型时,强调检验时间序列功率谱的效用 在本文中,我们将讨论运用离散傅里叶变换(dft)在频域中分析时间序列获得的一些实用观点。
开发回放系统 — 市场模拟(第 11 部分):模拟器的诞生(I)
为了依据数据形成柱线,我们必须放弃回放,并开始研发一款模拟器。 我们将采用 1-分钟柱线,因为它们所需的难度最小。
开发回放系统 — 市场模拟(第 10 部分):仅用真实数据回放
在此,我们将查看如何在回放系统中使用更可靠的数据(交易跳价),而不必担心它是否被调整。
开发回放系统 — 市场模拟(第 09 部分):自定义事件
在此,我们将见到自定义事件是如何被触发的,以及指标如何报告回放/模拟服务的状态。
MQL5 中的矩阵和向量:激活函数
在此,我们将只讲述机器学习的一个方面 — 激活函数。 在人工神经网络中,神经元激活函数会根据一个或一组输入信号的数值,计算输出信号值。 我们将深入研究该过程的内部运作。
在类中包装 ONNX 模型
面向对象编程可以创建更紧凑、易于阅读和修改的代码。 在此,我们将会看到三个 ONNX 模型的示例。