为 Metatrader 5 开发MQTT客户端:TDD方法——第4部分
为 Metatrader 5 开发MQTT客户端:TDD方法——第4部分
本文是一系列文章的第四部分,介绍了我们为 MQTT 协议开发本机 MQL5 客户端的步骤。在这一部分中,我们将描述什么是 MQTT v5.0 属性,它们的语义,以及我们如何阅读其中的一些属性,并提供一个如何使用属性来扩展协议的简短示例。
开发回放系统 — 市场模拟(第 28 部分):智能交易系统项目 — C_Mouse 类 (II)
开发回放系统 — 市场模拟(第 28 部分):智能交易系统项目 — C_Mouse 类 (II)
当人们开始创建第一个拥有计算能力的系统时,一切都需要工程师的参与,他们必须非常熟知该项目。我们谈论的是计算机技术的曙光,那个时代甚至没有用于编程的终端。随着它的发展,越来越多的人对能够创造一些东西感兴趣,涌现出新的思路和编程方式,取代了旧式风格的改变连接器位置。这就是第一个终端出现的时刻。
开发回放系统(第32部分):订单系统(一)
开发回放系统(第32部分):订单系统(一)
在我们迄今为止开发的所有东西中,正如你可能会注意到并最终同意的那样,这个系统是最复杂的。现在我们需要做一些非常简单的事情:让我们的系统模拟交易服务器的操作。准确实现交易服务器操作方式似乎是一件轻而易举的事情。至少说起来是这样。但我们需要这样做,以便对回放/模拟系统的用户来说,一切都是无缝和透明的。
将您自己的LLM集成到EA中(第2部分):环境部署示例
将您自己的LLM集成到EA中(第2部分):环境部署示例
随着人工智能的快速发展,语言模型(LLMs)是人工智能的重要组成部分,因此我们应该思考如何将强大的语言模型集成到我们的算法交易中。对大多数人来说,很难根据他们的需求对这些强大的模型进行微调,在本地部署,然后将其应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
开发回放系统(第31部分):EA交易项目——C_Mouse类(五)
开发回放系统(第31部分):EA交易项目——C_Mouse类(五)
我们需要一个计时器,它可以显示距离回放/模拟运行结束还有多少时间。乍一看,这可能是一个简单快捷的解决方案。许多人只是尝试适应并使用交易服务器使用的相同系统。但有一件事是很多人在考虑这个解决方案时没有考虑的:对于回放,甚至更多的是模拟,时钟的工作方式不同。所有这些都使创建这样一个系统变得复杂。
开发回放系统 — 市场模拟(第 26 部分):智能交易系统项目 — C_Terminal 类
开发回放系统 — 市场模拟(第 26 部分):智能交易系统项目 — C_Terminal 类
现在,我们可以开始创建回放/模拟系统的智能系统。不过,我们需要改进一些东西,并非敷衍了事。尽管如此,我们不应被最初的复杂性所吓倒。重要的是从某处开始,否则我们最终只会空想一项任务的难度,甚至没有尝试去克服它。这就是编程的全部意义:通过学习、测试和广泛的研究来攻克障碍。
开发回放系统(第30部分):EA交易项目——C_Mouse类(四)
开发回放系统(第30部分):EA交易项目——C_Mouse类(四)
今天,我们将学习一种技术,它可以在程序员职业生涯的不同阶段对我们有很大帮助。通常,受到限制的不是平台本身,而是谈论限制的人的知识。这篇文章将告诉你,凭借常识和创造力,你可以让 MetaTrader 5 平台变得更加有趣和通用,而无需创建疯狂的程序或类似的东西,并创建简单但安全可靠的代码。我们将利用我们的创造力修改现有代码,而不删除或添加源代码中的任何一行。
开发回放系统(第29部分):EA 交易项目——C_Mouse类(三)
开发回放系统(第29部分):EA 交易项目——C_Mouse类(三)
在改进了C_Mouse类之后,我们可以专注于创建一个类,该类旨在为我们的分析创建一个全新的框架。我们不会使用继承或多态性来创建这个新类。相反,我们将改变,或者更好地说,在价格线中添加新的对象。这就是我们在这篇文章中要做的。在下一节中,我们将研究如何更改分析。所有这些都将在不更改C_Mouse类的代码的情况下完成。实际上,使用继承或多态性会更容易实现这一点。然而,还有其他方法可以达到同样的结果。
为 MetaTrader 5 开发MQTT客户端:TDD方法——第3部分
为 MetaTrader 5 开发MQTT客户端:TDD方法——第3部分
本文是一系列文章的第三部分,介绍了我们为MQTT协议开发本机MQL5客户端的步骤。在这一部分中,我们详细描述了如何使用测试驱动开发来实现CONNECT/CONNACK数据包交换的操作行为部分。在这一步骤结束时,我们的客户端必须能够在处理连接尝试可能产生的任何服务器结果时表现得正常。
开发回放系统 — 市场模拟(第 24 部分):外汇(V)
开发回放系统 — 市场模拟(第 24 部分):外汇(V)
今天,我们将去除阻止基于最后成交价进行模拟的限制,并将专门针对这类模拟引入一个新的切入点。整个操作机制将基于外汇市场的原则。该过程的主要区别在于出价(Bid)和最后成交价(Last)模拟的分离。不过,重点要注意,用于随机化时间,并将其调整为与 C_Replay 类兼容的方法在两类模拟中保持雷同。这很好,因为一种模式的变化会导致另一种模式的自动改进,尤其遇到处理跳价之间的时间。
为 MetaTrader 5 开发一款 MQTT 客户端:TDD 方式 - 第2部分
为 MetaTrader 5 开发一款 MQTT 客户端:TDD 方式 - 第2部分
本文是描述 MQTT 协议的本机MQL5客户端开发步骤系列文章的一部分。在这一部分中,我们将描述我们的代码组织、第一个头文件和类,以及我们如何编写测试。本文还包括关于测试驱动开发实践以及我们如何将其应用于该项目的简要说明。
发布算法交易文章,赚取200美元!
发布算法交易文章,赚取200美元!
撰写一篇文章,为算法交易的发展做出贡献。分享您在交易和编程方面的经验,我们将支付您200美元。此外,在受欢迎的MQL5.com网站上发表文章,为您在专业社区中推广个人标签提供绝佳的机会。成千上万的交易者将会阅读您的文章。您可以与志同道合的伙伴讨论您的想法,获得新的经验,并将您的知识货币化。
MQL5 中的范畴论 (第 17 部分):函子与幺半群
MQL5 中的范畴论 (第 17 部分):函子与幺半群
本文是我们系列文章的最后一篇,将函子作为一个主题来讨论,且把幺半群作为一个范畴来重新审视。幺半群已在我们的系列中多次讲述,于此配合多层感知器帮助确定持仓规模。
MQL5中的范畴论(第19部分):自然性四边形归纳法
MQL5中的范畴论(第19部分):自然性四边形归纳法
我们继续通过探讨自然性四边形归纳法来研究自然变换。对于使用MQL5向导构建的EA交易来说,对多货币实现的轻微限制意味着我们正在通过脚本展示我们的数据分类能力。所考虑的主要应用是价格变化分类及其预测。
MQL5中的范畴论(第18部分):自然性四边形
MQL5中的范畴论(第18部分):自然性四边形
本文通过介绍自然变换这一主题中的一个关键支柱,继续我们的范畴理论系列。我们研究看似复杂的定义,然后深入研究本系列“面包和黄油”的示例和应用程序;波动性预测。
MQL5 中的范畴论 (第 16 部分):多层感知器函子
MQL5 中的范畴论 (第 16 部分):多层感知器函子
本文是我们系列文章的第 16 篇,继续考察函子以及如何使用人工神经网络实现它们。我们偏离了迄今为止在该系列中所采用的方式,这涉及预测波动率,并尝试实现自定义信号类来设置入仓和出仓信号。
神经网络变得轻松(第五十三部分):奖励分解
神经网络变得轻松(第五十三部分):奖励分解
我们已经不止一次地讨论过正确选择奖励函数的重要性,我们通过为单独动作添加奖励或惩罚来刺激代理者的预期行为。但是关于由代理者解密我们的信号的问题仍旧悬而未决。在本文中,我们将探讨将单独信号传输至已训练代理者时的奖励分解。
开发回放系统 — 市场模拟(第 23 部分):外汇(IV)
开发回放系统 — 市场模拟(第 23 部分):外汇(IV)
现在,创建发生在我们将跳价转换为柱线的同一点。以这种方式,如果在转换过程中出现问题,我们就能立即注意到错误。这是因为在快进期间,在图表上放置 1-分钟柱线的代码,也同样在正常表现期间用于定位系统放置柱线。换言之,负责此任务的代码不会在其它任何地方重复。如此这般,我们获得的系统就能更好的维护和改进。
在 ONNX 模型中使用 float16 和 float8 格式
在 ONNX 模型中使用 float16 和 float8 格式
用于表示机器学习模型的数据格式对其有效性起着至关重要的作用。近年来,出现了几种新类型的数据,专门为使用深度学习模型而设计。在本文中,我们将重点介绍两种新的数据格式,它们已在现代模型中广泛采用。
MQL5 中的范畴论 (第 15 部分):函子与图论
MQL5 中的范畴论 (第 15 部分):函子与图论
本文是以 MQL5 实现范畴论,着眼于函子之系列的续篇,但这次是作为图论和集合之间的桥梁。我们重新审视日历数据,尽管它在策略测试器中存在使用局限,但在相关性的帮助下,可利用函子来预测波动性。
在MQL5中置换价格柱
在MQL5中置换价格柱
在这篇文章中,我们提出了一种置换价格柱的算法,并详细说明了如何使用置换测试来识别策略性能被编造来欺骗 EA 交易的潜在买家的情况。