Appearance
操控存储
MQL5 存储(或存储库)仅适用于交易平台的 MQL5(或 MQL4)文件夹,以及特殊的 hared Projects 目录,它用于 组项目。
所有 MQL5 存储的操作都是通过 导航器 窗口的关联菜单和 源代码编辑器 的关联菜单执行的:
使用菜单命令,您可以在 MQL5 存储中执行以下操作:
入手启用
存储所包括的信息如同文件树。 连接到存储时,MetaEditor 用户读取和写入这些文件。 用户始终使用本地数据副本,并在必要时将更改发送到存储。
若要开始处理 MQL5 存储中的数据,您必须将本地数据文件夹与存储库中的相应文件夹相关联:
- 如果您刚刚创建了一个存储库,它是空的。您必须在它里面 添加 一个目录。 然后,存储库中一个适当的目录就会为指定目录而创建(相对/MQL5文件夹的相同路径)。这是一个根目录。所有文件操作都在这个目录中进行。
- 如果存储已经有一些数据,请将它们下载到本地目录。 为此,请点击
位于导航器中根 MQL5(或 MQL4)元素的关联菜单中的 "从存储更新文件"。
版本化的数据存储
所实现的版本控制将目录/文件与存储库相关联,因此这样的目录/文件拥有了版本,即修订版本号。 修订版本号对应于每次数据更新。 每次更新存储库中的目录/文件时,修订版本号都会针对该目录/文件和整个根目录递增。 修订版是某个时间点目录/文件的状态。
根目录是 MQL5/MQL4 文件夹,和每个共享项目的文件夹。 修订版是针对每个根目录单独管理的,因此它们具有单独的修订版本号。 当您提交对 MQL5 目录所做的更改时,其修订版本号会增加,而项目的修订版本号不会更改(除非项目使用 MQL5 目录中的共享文件)。
一般操作方案:
- 当您将文件添加到 MQL5 存储或将其从存储中提取到本地 PC 时,在电脑和存储中的版本(修订版号)将匹配。
- 本地文件(工作副本)和存储器中相应文件的修订版本号最初是相同的。 如果您只是添加了文件或从存储库中提取文件,就会发生这种情况。
- 如果您修改了文件并将更改提交到存储库,修订版本号将在本地和存储库中增加。
- 当您提交更改时,可能会发现该文件已被某人编辑,并且存储库中的修订版本号大于本地版本号。 在这种情况下,您应该在发送自己的更改之前从存储库中提取更改。 MQL5 存储将尝试把存储库和您本地的文件 合并修改。 在这种情况下,本地文件的版本号将被设置为等于存储库中文件的版本号。
每次修改业务均会记录在 存储日志 当中, 稍后用户可以查看何时、由谁更改了哪些文件。 用户还可以将本地数据副本更新 至选定的修订版 以及 恢复更改 至选定的修订版。
添加到存储
要将文件夹或文件添加到存储库,请选择它并执行添加文件或文件夹命令。 这会弹出一个对话框,显示要添加的文件夹和文件的列表。
本地添加文件。若要将更改发送到存储库,请执行
提交到存储。
MQL5 存储只适用于以下类型的文件: mq4,mq5,mqh,cpp,h,bmp,wav,ex4,ex5,tpl 和set。 其它类型的文件不能被添加到库中。
大于 64 MB 的文件无法添加到存储中。
勾选必要的文件和文件夹,然后单击确定。
- 存储操作的原则是不允许添加没有所在文件夹的文件。您不能添加一个位于没有添加到存储库中的文件夹的文件。
- 您无法将单个文件添加到根目录 /MQL4 或 /MQL5 当中。
- 在与存储库关联的文件夹中,只有其子目录可以添加。层级比较低的文件夹不能在没有其父级文件夹的情况下,被添加。
添加的文件和文件夹进行标记用户资料的 "存储" 板块激活存储:
接下来,这些变化应该被发送到存储库。选择添加的文件夹/文件并执行 提交到存储。
在这个对话框中,你也可以选择应该被发送到存储库的更改。提交更改时,您可以添加评论。详细的评论会在以后有助于分析更改。
提交存储库的当前更改以后,相应的文件夹和文件被标记 。这意味着数据的本地副本与上次提交/更新操作时存储中的数据没有区别。
TIP
- 如果与您添加的相对应的文件夹已经存在于存储中,那么“文件夹已经存在,从存储更新它”的错误就会出现。对于这样的文件夹选择
从存储更新。 之后,它将被绑定到存储,并且来自存储库的数据将被添加到存储中。 然后,将您的更改发送到存储库,这要使用
提交到存储命令。
- 如果文件大小超过 1 MB,则自动从提交对话框中删除选择。 小心下载大文件以避免存储系统过载。
从 MQL5 存储中检出并更新
当 MetaEditor 中的 存储被激活 后,执行主要数据的提取。 一旦您执行了 激活 MQL5 存储命令,MetaEditor 将检查存储是否包含任何数据。
- 如果存储包含来自 MQL5(MQL4)目录的数据,这些数据将立即下载到计算机。
- 如果存储含有可用的共享项目,这些项目将显示在共享项目部分。 若要将项目文件下载到本地计算机,请单击
在项目的关联菜单中自存储更新。
将来的更新可以使用从存储更新位于导航器中文件和文件夹的关联菜单。
如果存储包括本地工作副本中不存在的文件夹,请在导航器窗口的 MQL5(或 MQL4)根元素处执行从存储更新。 存储中的所有数据将被下载到相应的本地文件夹。 数据的修订版本号将与存储器中的数据修订版相匹配。
TIP
如果本地文件夹包含数据,那么检测时从存储库中获得的数据将被添加进去。新文件将被添加。对于名称和路径相匹配的文件,它会尝试合并数据。
更新修订版
MQL5存储存储了用户提交到存储的更改的整个历史记录。每次提交更改都是一次修订 (特定时间的存储状态)。在多个用户通过存储进行数据并行工作时,您需要定期接收由其他用户所做的更改。更新至修订版本允许您从存储库中逐级更新本地数据副本。
例如,自上次更新数据的本地副本,三个新版本出现在存储。您可以先升级到第一次修订版,然后第二次和第三次修订版。
若要更新到特定修订版,请选择一个文件或文件夹,然后调用 存储日志 ,这需点击 显示存储日志。
在打开的窗口中,选择所需的修订版并运行更新至修订版本命令。
- 数据的本地副本只能更新到更高(更新)的修订版。
- 从存储库中获得的数据被添加到本地副本。对于名称和路径匹配的文件,它将尝试 合并数据。 如果文件已被添加到一个修订版,它们将被添加到本地副本。如果文件已经从修订版中删除,它们将被从本地副本删除。
恢复到修订版
MQL5存储存储了用户提交到存储的更改的整个历史记录。每次提交更改都是一次修订 (特定时间的存储状态)。在任何时候,您都可以返回到文件或文件夹的以前状态之一。
若要恢复到指定修订版, 选择文件或文件夹并调用 存储日志,这要点击 显示存储日志。
在打开的窗口中,选择所需的修订版并单击恢复到此修订版。
TIP
恢复到修订版之后,选择的文件/文件夹将完全返回到指定状态。您可以恢复到早期和稍晚的修订版。
将更改提交至存储
正如前面提到的,您可以只在它们的本地副本使用数据。若要将本地更改传送到存储库,请使用提交到存储命令。 已更改的本地文件和文件夹被标记使用图标
中的测试程序。
TIP
在提交更改之前,您可以先 查看 它们,只需选择文件并选择 关联菜单里的版本差别
在提交对话框中,您可以选择应提交到存储库的已更改文件和文件夹。 提交更改时,您可以添加评论。详细的评论会在未来有助于更改的分析。
- 本地更改的优先级更高,无论如何它们都被添加到存储中。
- 如果存储器中的修订版本号高于本地修订版(由其它源修改,并且本地数据未从存储库更新),那么当您尝试提交更改时,您将收到错误,如 "超期 (Out of date)"。 在这种情况下,首先执行
从存储更新命令会 合并数据, 然后选择
提交到存储。
- 更新 bmp 和 wav 文件时要小心。合并后,这些文件将被新版本完全替代。 因此,在更新过程中,它们可能用存储库的文件所取代。为避免出现这种情况,请分别保存这些文件的副本,然后执行
从存储更新命令会增加本地修订版本号,将以前复制的文件回退并将更改提交至存储。
删除
如果您打算删除文件或文件夹,请使用命令删除文件或文件夹。 文件夹/文件将被从本地数据副本删除。若要从存储库中删除文件或文件夹,请使用
提交到存储。
恢复更改
如果您打算撤销在当前本地数据副本中所做的更改,请执行恢复更改命令是为了必要的文件或文件夹。 文件/文件夹返回到前次与存储库同步期间本地保存的状态。
当您恢复更改时,最初的本地修订版本将被恢复,而不是存储库中的当前修订版。
存储日志
每次提交更改至存储应使用提交至存储命令保存在日志中。 日志可帮助您轻松地分析您的项目的变化历史。若要查看文件/文件夹的更改日志,请选择
显示存储日志。
上半部分显示更改的列表:
- 修订版 ― 提交的唯一编号;
- 作者 ― 用户的名称(与 MQL5 社区帐户的登录名相同),他们进行了这些更改;
- 日期 ― 提交更改的 UTC 格式日期;
- 注释 ― 更改注释。
使用关联菜单命令 更新至修订版本, 您可以将本地数据副本 更新到选定的修订版本。
窗口底部会显示选中的版本中修改过的文件的列表。图标显示的更改类型:
― 文件已添加;
― 文件已更改;
― 文件已删除。
使用更改文件列表的快捷菜单,您可以分析更改: