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 平台内执行。 | 即使在内存中,算法代码也受到保护;许可证得到执行。 |
| 云端运行 | 算法在隔离的服务器端实例中运行。 | 无法访问文件;仅暴露算法输出。 |
这些措施确保您的算法知识产权从创建到每次运行都受到保护。
