跳转至

cTrader 中的算法安全措施

cTrader 为算法开发者提供了一个安全的环境,让他们可以创建、分发和运行他们的作品,而不会损害知识产权。 从本地开发到在 cTrader 商店 分发和执行的每个阶段,您的源代码始终受到保护。

本文解释了 cTrader 生态系统中内置的保护措施。

为什么 .algo 文件是安全的

当您在 cTrader Windows 或 Mac 中使用 C# 或 Python 构建算法时,您的代码会被编译成专有的 .algo 文件。 这个文件是知识产权保护的核心,与传统的 DLL 有根本的不同:

  • 内存中执行。 该文件从不以可读形式从磁盘运行,防止基于文件的提取。
  • 无中间 CIL 代码。 与标准 .NET 程序集不同,.algo 文件不包含反编译器依赖的 CIL 字节码。
  • 可选混淆。 您可以在构建过程中启用混淆,使结构代码分析更加困难。
  • 反反编译设计.algo 格式的设计可以抵抗常规工具的逆向工程。

密封的 .algo 文件防止未经授权的访问和分发,这个文件作为 cTrader 生态系统及其他环境中与您的算法进行安全交互的基础。

创建

所有编译都在您自己的计算机上使用 cTrader Windows 或 Mac 进行。 .algo 文件在本地生成,没有源代码会上传到 cTrader 或任何第三方服务器。

即使启用了云同步,您的原始源文件也永远不会被传输。 只有编译后的 .algo 文件才有资格进行同步或共享,而且即使如此,它仍然保持加密状态并与您的所有权绑定。

导出

构建后,您可以从 cTrader 导出带有源代码或不带源代码的算法。 导出带源代码的算法对于协作或与受信任方共享很有用,而导出不带源代码的算法在向更广泛的受众分发时是最安全的选择。

导出不带源代码时,您可以将仅运行权限限制为特定用户或授予全局仅运行权限:

  • 特定用户访问 – 只有指定的 cTrader 用户可以执行该算法。
  • 任何用户访问 – 任何 cTrader 用户都可以执行该算法。

分发

当您在 cTrader 商店发布您的算法时:

  • .algo 文件在上传过程中被加密。

    注意

    即使您上传了包含源代码的导出文件,也只有受保护的 .algo 版本会被发布,源代码会自动删除。 直接从云端添加到商店的算法永远不包含源代码。

  • 对于每次购买,cTrader 商店都会生成一个唯一的受保护副本,与买家的 cTrader ID 绑定。

  • 文件无法在 cTrader 用户之间转移,防止未经授权的共享。

您的商业权利得到尊重,因为每次购买都是单用户且不可转让的。

执行

一旦在 cTrader 商店购买并由其他用户安装,.algo 文件可以在两种环境中执行:本地设备或云端。 这两种模式都保护了您的知识产权的完整性。

本地执行

  • 该文件完全在 cTrader Windows 或 Mac 内运行,不会暴露给用户或他们的磁盘。
  • 许可检查在运行时验证用户的访问权限。
  • 算法逻辑保持加密状态且无法访问,即使在使用中也是如此。

云执行

  • 该算法在 cTrader 提供的沙盒隔离云环境中运行。
  • 用户和经纪商只能看到输出,如交易或指标值,但永远不会看到算法内部。
  • .algo 文件本身不可被任何人访问、下载或查看。

总结

操作 描述 保护
创建 您在本地编写代码并开发算法。 源代码不会离开您的设备。 .algo 文件被安全生成。
算法构建 .algo 文件始终被编译成一个密封单元,并可以被混淆。 该文件可以抵抗反编译和文件检查。
导出 您导出不带代码(推荐)或带代码的编译后的 .algo 文件。 不带源代码的 .algo 文件强制执行仅运行访问权限,可以是针对特定用户或全局。
分发 .algo 文件被上传到 cTrader 商店。 发布版本中始终删除源代码。
访问 为每个买家提供加密的个人副本。 该文件不能被任何其他用户使用。
运行(本地) 用户在 cTrader 平台内执行。 即使在内存中,算法代码也受到保护;许可证得到执行。
云端运行 算法在隔离的服务器端实例中运行。 无法访问文件;仅暴露算法输出。

这些措施确保您的算法知识产权从创建到每次运行都受到保护。

Image title