English Русский Español Deutsch Português 한국어 Français Italiano
preview
MQL5 Algo Forge 入门

MQL5 Algo Forge 入门

MetaTrader 5示例 |
55 7
MetaQuotes
MetaQuotes

新的 MQL5 Algo Forge 不仅仅是您的项目列表 —— 它是一个成熟的开发人员社交网络。您可以轻松跟踪更改,维护项目历史,与志同道合的专业人士联系,并发现新想法。在这里,您可以关注有趣的作者,组建团队,并在算法交易项目上进行协作。  

MQL5 Algo Forge 建立在现代版本控制系统 Git 上的。它为每个开发人员提供了一个强大的工具集,用于跟踪项目历史、分支、实验和团队合作。但这一切是如何运作的呢?在本文中,我们将解释如何开始使用 MQL5 Algo Forge


MQL5 Algo Forge 中的存储库是什么?

开发软件通常是一个漫长的过程,需要时间和调试。代码不仅必须编写和维护,而且必须安全存储。现代交易算法远远超出了简单的移动平均线交叉。它们建立在数学库、神经网络和机器学习的基础上。这意味着开发人员需要一种便捷的方式来快速保存更改,并从任何地方访问最新代码。 

MQL5 Storage 是集成到 MetaEditor 中的内置版本控制系统。它以前使用 Subversion 1.7,这是一个集中式版本控制系统,其中所有历史记录都存储在 MetaQuotes 服务器上。没有互联网连接,您无法提交更改、回滚到以前的版本或查看历史记录。如今,它已被一个更强大、更灵活的解决方案 —— MQL5 Algo Forge 完全取代。

现在,MQL5 Algo Forge 的工作方式不同:


MQL5 Algo Forge(基于 Git) MQL5 Storage(传统)
历史存储 本地和云 仅限 MetaQuotes 云
离线工作 完整(提交、回滚、差异) 受限或不可用
运算速度 即时、本地 取决于网络/服务器

Algo Forge 给您自由。您可以在火车上离线工作,创建实验分支,保存中间结果,然后将它们合并到主分支中。

Algo Forge 中的项目存储库不仅仅是一个云文件夹。它是一个结构化的 Git 存储库,存在于您的本地驱动器上,并与 MQL5 Algo Forge 云服务器同步。它由几层组成:

MetaEditor 中的工作目录

您在 MetaEditor 中编辑的 .MQ5、.MQH、.SET 和其他文件。您可以在此处编写 EA 交易代码、连接指标并测试策略。除非您明确添加更改,否则 Algo Forge 不会跟踪它们。                                                                   

暂存区(索引)

在将更改保存到项目历史记录之前,您需要准备这些更改。使用 “Git Add” 命令,您可以选择下次提交时要包含的文件。这允许您对更改进行逻辑分组,例如,将交易逻辑的调整与界面或配置的更新分开保存。


本地存储库


一旦您使用 “Git Commit” 提交更改,Algo Forge 就会将您的文件快照存储在您计算机的本地存储库中。在任何时候,您都可以查看以前的版本,回滚到较早的状态,或分析哪些修改影响了您的 EA 交易系统的性能。


远程存储库位于 MQL5 Algo Forge


准备就绪后,您可以使用 “Git Push” 将提交推送到 MQL5 Algo Forge 服务器。这将创建一个安全的备份,并使您的更改可供团队成员使用。即使你独自工作,这也是有用的:你的代码安全地存储在云中,你的项目历史保持不变。


如何连接到 MQL5 Algo Forge

要开始使用 MQL5 Algo Forge,您只需要一个 MQL5 帐户。只需使用您的凭据登录 https://forge.mql5.io/ 即可。  


登录后,您可以探索其所有功能。公共项目可在探索部分找到,您可以在其中浏览项目、研究其代码、分享自己的工作以及与他人协作。



但是,您的大部分开发工作将在 MetaEditor 环境中进行。要将 MetaEditor 连接到 MQL5 Algo Forge,只需使用社区选项卡下的 MQL5 帐户凭据登录即可。



Git 是什么以及它在 MQL5 Algo Forge 中的工作原理

Git 是一个版本控制系统,它记录了文件在不同时间点的外观。它有助于防止重要更改的丢失,使回滚变得容易,支持实验的分支,并使多个开发人员能够在同一项目上进行协作。

在 MetaEditor 中,你不需要直接使用 Git 命令 —— 一切都是通过用户友好的界面处理的。然而,在幕后,Git 正在执行一些基本操作。让我们将它们分解,看看在 MetaEditor 中使用相应命令时会发生什么。

让我们在公共项目文件夹中创建一个新项目 “Base_EA”。


右键单击项目文件以查看可用的 Git 命令。


1.Git 添加文件/文件夹 —— 暂存更改

当您编辑文件时,Git 不会自动跟踪它们。要告诉系统要保存这些更改,请将文件添加到索引中。这可以通过 “Git 添加文件/文件夹” 或在选择要提交的文件时完成。

Git 会对文件的当前状态进行快照并准备保存,就像将文档放入“待签名”文件夹中一样。

2.Git 提交 —— 保存项目快照

单击 MetaEditor 中的 “Git 提交” 可获取项目的当前状态并将其保存到版本历史记录中。

过程是这样的:

  • Git 将您的更改与以前的文件进行比较。
  • 它只存储差异(以节省空间)。
  • 更改会写入一个隐藏的 .git 文件夹。 
  • 提交将获得一个唯一的 SHA-1 标识符。 

提交本质上是一个检查点,显示了项目当时的情况。你总是可以稍后返回到任何这样的点,并从那里继续。

3.Git 推送 —— 发送至 MQL5 Algo Forge Cloud

当您选择 “Git 推送” 时,您的本地提交将上传到 MQL5 Algo Forge 服务器。 

这就像将项目的新版本上传到云端,但有完整的更改历史记录。

为了方便起见,MetaEditor 在 “Git 提交” 之后立即自动执行 “Git 推送”。这可确保您当前的版本始终同步到云端。如果由于任何原因将更改推送到服务器失败,您可以手动运行 “Git 推送”。

4.Git 拉取 —— 获取最新版本

协作时,其他人可能会在您之前更新项目。或者,您可以从一台计算机提交更改,然后在另一台计算机上(或在同一台计算机但在不同的终端上)继续工作。要获取这些更新,请使用 “Git 拉取”,它会从 Forge 中检索所有更改。

Git 将从云端下载新的提交,并将其与您的本地版本合并。

5.Git 分支 —— 安全地进行分支和实验

有时您可能想在不影响主项目的情况下测试想法,这可以通过分支来完成。例如,您可以创建一个分支来测试不同的指标,或者为您的策略添加一个过滤器。每个分支都有自己的名称,您可以在它们之间自由切换。

分支只是一条平行的开发线。您可以随心所欲地进行实验,然后丢弃它或将其合并到主分支中。


6.Git 差异 —— 审查文件更改

此命令准确显示提交前文件中的更改内容(逐行)。它将打开一个比较面板,突出显示添加、删除或修改的行。


7.Git 日志 —— 查看项目历史记录

“Git 日志” 命令列出所有提交及其日期、作者和提交消息。这为您提供了一个清晰的项目开发时间表,并让您跟踪谁在何时更改了什么。


8. Git 回滚 —— 撤消提交

“Git 回滚” 创建一个新的提交,取消前一次提交的效果,但不会将其从历史记录中删除。这是撤消更改的最安全方法。但它只能在最新的提交上正常工作。

如果您发现某个提交破坏了 EA 交易,此命令会特别有用 —— 您可以快速撤消它而不会影响其他提交。但是,如果恢复的提交与以后的提交影响相同的代码,则可能会发生合并冲突,必须手动解决。


项目工作的安全实践

版本控制中最常见的问题之一是本地版本和远程版本之间的冲突。为了避免这些问题,请遵循一些简单的规则:总是先拉取。当您打开一个项目继续工作时,运行 “Git 拉取” 以确保您拥有最新版本。

另一条规则是始终最后提交 + 推送。完成工作后,运行“Git 提交”(包含自动推送)将您的更新发送到云端。遵循这些习惯将使您的工作流程顺畅且无冲突,同时确保您的代码始终安全。


MQL5 Algo Forge —— 可靠项目管理所需的一切

您不需要手动输入 Git 命令。一切都集成到 MetaEditor 中:

  • 添加文件、提交和分支 —— 通过项目上下文菜单
  • 推送和拉取 —— 只需两个按钮即可与云同步。
  • 分支和回滚 —— 用于开发控制的简单命令。
  • 变更历史记录 —— 可作为清晰的内置日志。

这 8 个命令就是您自信地使用 MQL5 Algo Forge 所需的全部。它们提供结构化开发、安全实验、团队合作支持,并完全防止数据丢失。



立即开始

MQL5 Algo Forge 不仅仅是存储 —— 它是算法交易者的完整项目管理系统。它允许您跟踪每一个更改,无风险地进行实验,在团队中协作,并维护稳定可靠的代码。

如果 Git 曾经感觉太复杂,MQL5 Algo Forge 会让它变得简单。MetaEditor 集成了基本命令,因此您可以专注于编写代码、保存进度并为任何回滚做好准备。


欢迎来到 MQL5 Algo Forge!


有用的链接:

本文由MetaQuotes Ltd译自俄文
原文地址: https://www.mql5.com/ru/articles/18518

最近评论 | 前往讨论 (7)
MetaQuotes
MetaQuotes | 27 8月 2025 在 11:21
Denis Kirichenko 项目 才能使用 Algo Forge 功能,这样做对吗?它对旧项目没有任何作用....

MQL5 目录的根目录是您名为 denkir/mql5 的个人项目。它不能共享,并且是您个人的。

MQL5 根文件夹中的所有文件都可以完全用于存储在 Algo Forge 中。

但共享项目目录中的项目不包括在共享的 MQL5 文件夹中,它们是独立或共享项目的入口。通过在共享项目中创建项目,您可以向其他用户提供对这些项目的读取或写入权限。

Vladislav Boyko
Vladislav Boyko | 27 8月 2025 在 17:11
MetaQuotes #:
不能共享

可以共享。如果 git 仓库不能通过 forgejo 服务器共享,那就太奇怪了。下面是探索到的第一个版本库(我没有亲自检查):

https://forge.mql5.io/darashikoh/mql5


CODE X
CODE X | 27 8月 2025 在 17:33
Vladislav Boyko #:

可以共享如果 git 仓库不能通过 forgejo 服务器共享,那就太奇怪了。这是 explore 的第一个仓库(我自己还没检查过):

https://forge.mql5.io/darashikoh/mql5


是的,我检查过了,它是公开的。 🙂 👍 它似乎相当于 GITHUB,只是面向 MQL。

Fernando Carreiro
Fernando Carreiro | 28 8月 2025 在 11:12

如何从MetaEditor 而不是 AlgoForge 网站使用"Git Clone"克隆 另一个用户的仓库?

在锻造网站上通过 "在MetaEditor 中打开 "链接进行克隆时会失败,可能是因为我只使用了 "便携 "模式。如果有多个安装程序,可能也会出现问题。

我找不到任何关于如何在MetaEditor 中使用 "Git Clone "菜单选项的文档。

编辑:到目前为止,我找到的唯一解决办法是使用外部 Git 客户端先克隆仓库(克隆到 "共享项目"目录下,然后MetaEditor 就能识别它了)。

Pascal Garcia
Pascal Garcia | 29 8月 2025 在 11:48

早上好、

新的 git 版本无法从 mql5 社区(如 mql5book)加入和下载项目,也无法点击 "加入 "按钮或 "激活 algoforge"。

交易策略 交易策略
各种交易策略的分类都是任意的,下面这种分类强调从交易的基本概念上分类。
外汇投资组合优化:风险价值理论与马科维茨理论的融合 外汇投资组合优化:风险价值理论与马科维茨理论的融合
外汇市场中的投资组合交易是如何运作的?我们如何将用于优化投资组合权重的马科维茨投资组合理论与用于优化投资组合风险的VaR模型结合起来?我们基于投资组合理论创建一个EA,一方面,我们将获得低风险;另一方面,获得可接受的长期盈利能力。
新手在交易中的10个基本错误 新手在交易中的10个基本错误
新手在交易中会犯的10个基本错误: 在市场刚开始时交易, 获利时不适当地仓促, 在损失的时候追加投资, 从最好的仓位开始平仓, 翻本心理, 最优越的仓位, 用永远买进的规则进行交易, 在第一天就平掉获利的仓位,当发出建一个相反的仓位警示时平仓, 犹豫。
基于三维反转形态的算法交易 基于三维反转形态的算法交易
在三维K线上探索自动化交易的新世界。基于多维价格K线的交易机器人是什么样的?三维K线中的“黄色”簇群能否预测趋势反转?多维交易是什么样的?