首页 / 交易学院 / 交易机器人原型架构:基类与模块化
交易机器人原型架构:基类与模块化
🏗️

交易机器人原型架构:基类与模块化

用三大支柱与基类封装,把 EA 开发缩到几小时

EA 开发实战 难度 · 进阶 2026-07-15 12 分钟阅读
#EA#架构#基类#模块化#事件驱动

任何交易系统都能简化成开仓与平仓。把系统抽象成环境→决策→动作的循环,EA 不必知道状态怎么来的,只看当前参数决定现在要做什么。

一、任何交易系统都能简化成两件事

开仓与平仓。围绕这两件事组织代码,比堆满 if-else 的分支清晰得多。

二、三大设计原则

三、CExpertAdvisor 基类框架

工作循环:报价/定时器进入 → 过滤 → 处理持仓模块 → 调事件块。分宏函数(BaseType/ReversType 等自动转类型)、服务函数(算手数/改止损)、事件处理模块(OnTick/OnTrade/OnTimer 等)。

四、EA 的事件源

✦ 用 OnTimer 代替 Sleep
用 OnTimer 替代 while(true)+Sleep 做周期分析,既不让 EA 卡死,也更符合事件驱动模型。

五、两个可运行范例

常见问题

反向逻辑先取指标值再想怎么处理,分支越写越乱;直接逻辑先声明开仓/平仓模块,模块内检查信号,易扩展也好读。
把宏/服务/事件三层固化,新 EA 只需继承填信号与参数,开发从几天缩到几小时,且不易出底层 bug。
OnTick 处理报价驱动的实时逻辑;OnTimer 做定时分析(如每分钟检查一次),避免用 Sleep 阻塞。
亏了加倍手数,连亏时仓位指数膨胀,一次大反向就爆仓;文章只是架构演示,实盘慎用或必须加层数/总风险上限。
用宏函数把买/卖、止损/限价等按方向自动转换,EA 不显式写死品种与买卖分支,换品种换方向改动极小。