一个交易系统的前几行代码:推荐器 + 一键清仓 + 多账户
5 月初,这个交易系统还只是几个零散的 idea。前两周的 commit 只有三件事:
推荐器
05-05 20:34 sell all position
05-05 20:35 recommender
推荐器(Recommender)是整个系统的第一个模块。它做的事情很简单:看所有持仓,判断哪些该平仓,哪些该加仓。
最早期的推荐逻辑非常原始——基于几个固定规则:
- 浮亏超过 X% → 建议卖出
- 浮盈超过 Y% 且趋势减弱 → 建议止盈
- 资金费率极端 → 建议对冲
没有复杂的信号系统,没有 ML 模型,就是几个 if-else。从简单的 if-else 开始,比从”完美的架构设计”开始更重要。
这跟广告系统的起步一样——最早期的出价策略就是”固定 CPC × 预估 CTR”,没有 OCPC、没有实时竞价、没有多目标优化。但跑起来了,后面的所有优化都是在这个基础之上迭代的。
一键清仓
05-05 20:33 sell all position
05-05 20:34 sell all position zip
“Sell All Position”——一键平掉所有持仓。听起来不像 feature,更像是 panic button。
但它是项目早期最重要的功能之一。原因:
- 安全兜底:任何策略出问题,一键清仓是最快的止损
- 调试工具:开发新策略前,先清掉旧仓位,从零开始测试
- 运维必备:服务器维护前,一键清仓避免维护期间行情波动
好的系统设计里,退出机制比进入机制更重要。 开仓可以慢,但平仓必须快。
多账户
05-16 16:36 multi account
05-16 16:37 multi account
多账户支持——同一个系统管理多个交易账户。每个账户独立核算、独立风控、独立推荐。
关键设计决策:账户之间完全隔离。 不是”一个策略管多个账户”,而是”每个账户跑独立的策略实例”。因为:
- 账户 A 可能做趋势追踪,账户 B 做网格交易
- 账户 A 的止损不影响账户 B
- 一个账户出问题不会拖垮另一个
这和广告系统的多广告主隔离一样——广告主 A 的预算消耗不影响广告主 B 的竞价。
一句话
项目最早的代码不是架构,是推荐器 + 一键清仓 + 多账户——三个功能对应三个原则:知道该做什么(推荐)、知道怎么退出(清仓)、知道边界在哪(多账户隔离)。