EA-45592 · 辅助工具

ShapesCasting/Shapes5stats/EnvSignature

这不是交易EA,而是一组MQL5教学演示脚本。ShapesCasting演示MQL5类层次结构中的类型转换(向上转型、向下转型、dynamic_cast)。Shapes5stats扩展了形状层次结构,使用注册器模式统计各类型实例化数量。EnvSignature是一个服务,用于生成和验证基于SHA256的环境签名,将程序绑定到特定终端环境。

打开交互版(权益曲线、切换品种)

基本信息

风险安全
评分★★★☆☆
类型辅助工具
周期—
指标—
作者—

回测结果(H1,约 1 年)

暂未回测:这个 EA 还没能自动转换。

策略分析

这些文件不包含任何交易策略。ShapesCasting展示了MQL5面向对象编程中的类型转换机制:基类指针可以指向派生类对象(向上转型),派生类指针赋值基类指针需要dynamic_cast(向下转型),失败返回NULL。Shapes5stats在Shape基类中嵌入了Registrator内部类,通过静态数组和静态方法追踪每种形状类型的实例数量,使用了宏REGISTRATOR自动生成派生注册器类。EnvSignature实现了环境绑定保护机制:收集终端属性(语言、路径、CPU核心数、内存、屏幕分辨率等),拼接密钥和胡椒值后进行SHA256哈希,再用Base64编码生成签名,开发者生成验证字符串后分发给用户,用户运行时比对签名验证运行环境是否被篡改。这三种代码纯粹是MQL5语言特性的教学演示,不涉及任何入场条件、出场条件或仓位管理逻辑。

优势

  • 展示了MQL5面向对象编程的核心机制,包括继承、多态和类型转换,教学价值高
  • EnvSignature环境签名方案设计巧妙,利用SHA256+Base64实现程序绑定到特定终端环境,有一定实用价值
  • Registrator模式使用宏自动生成子类,展示了MQL5元编程技巧和静态成员管理方案

劣势

  • 不包含任何交易逻辑,无法直接用于实盘或策略研究
  • EnvSignature中密钥和胡椒值以宏定义硬编码,安全性依赖于编译后二进制的不可逆性,存在被逆向工程的风险
  • ShapesCasting中const成员导致默认赋值运算符被删除的问题虽有注释说明,但未给出完整的推荐解决方案

改进建议

  • EnvSignature应将密钥从源码中移除,改为运行时输入或加密配置文件读取,增强防逆向能力
  • 可以增加环境属性变化的容忍机制(如允许CPU核心数±1),避免合法硬件升级导致验证失败

风险评估

总体风险: 安全

  • 这些代码不执行任何交易操作,无资金风险
  • EnvSignature的安全方案依赖于源码保密性,若密钥泄露则环境绑定保护完全失效

评估得分

代码质量4.0
策略逻辑1.0
风险管理5.0
稳健性3.0
创新性3.0
文档4.0
综合3.3

参数

参数默认值说明
Validation""用户收到的验证字符串,用于环境签名校验
Signature""环境签名字符串,开发者模式下用于生成验证
SecretPROGRAM_SPECIFIC_SECRET程序特定密钥,用于签名哈希计算
Pepper"="实例特定胡椒值,用于名值对拼接
I_AM_DEVELOPERdefined开发者模式宏定义,启用后可生成验证字符串

同类 EA:辅助工具

回测是历史模拟,不代表未来收益,不构成投资建议。

订阅每周 Arena 周报

每周一封邮件:排名变化、新信号和新研究。不发垃圾邮件,随时可以退订。