有交易经验的人,往往不缺想法。
真正难的是把想法拆到程序能执行。手工交易时,一句话就能概括的判断,到了量化里要变成数据、条件、信号、动作和例外情况。
比如“突破以后追一下”,听起来很简单。但程序需要知道突破什么、追多少、用什么周期、什么情况不追、下单以后怎么检查结果。
所以不会代码时,第一步也不是马上学语法,而是先把交易想法拆成信号。
想法先变成条件
交易想法通常是模糊的。
“行情强”“回调到位”“这里要启动”,这些说法人能理解,但程序不能直接执行。程序要的是明确条件。
可以先问几个问题:
| 交易想法 | 需要拆出来的条件 |
|---|---|
| 行情强 | 用价格、均线、成交量还是波动衡量 |
| 突破 | 超过哪个前高、哪根 K 线或哪个区间 |
| 回调到位 | 回到什么价格、什么比例或什么指标位置 |
| 不做 | 哪些异常情况让信号失效 |
这些问题回答得越清楚,后面写代码越不容易偏。
信号和动作要分开
很多新手会把信号和下单混在一起。
其实在自动交易里,信号只是说明某个条件满足。条件满足以后,才可能进入动作,比如下单、撤单、改价或只记录。
这两个层次最好分开。
比如一个均线信号出现,并不代表一定要立刻下单。还要看账户有没有持仓、风险有没有超限、是不是已经有委托在路上、价格是否还在允许范围内。
如果不拆开,策略会很难复查。出了问题以后,你不知道是信号判断错了,还是动作执行出了问题。
例外情况也要写清楚
手工交易里,例外情况常常靠经验处理。
比如行情突然跳动、成交量异常、连续亏损后暂停、某些品种临近换月。这些情况如果不写进规则,程序就不会自动知道。
例外情况不是越多越好,但核心例外一定要先说清楚。
更重要的是,例外也要稳定。不能今天觉得这个例外重要,明天又临时换一个理由。量化策略需要在一个测试周期里保持规则一致,才能知道问题到底出在哪里。
让代码承接信号
当信号、动作和例外拆清楚以后,代码才开始有意义。
拿天勤(tqsdk)这类 Python/API 路线举例,它可以把行情数据、K线、账户、持仓和委托放在同一套代码流程里。一个交易想法被拆成条件以后,就能继续写成“数据输入 -> 条件判断 -> 动作或记录”的形式。
这不代表工具能替你设计策略。工具只是承接已经讲清楚的规则。
对于不会代码的人来说,真正要先做的,是把脑子里的想法写成别人能复查、AI 能理解、代码能执行的语言。
如果一个想法只能靠当时的感觉成立,它还不是信号。只有当它能说清楚用什么数据、满足什么条件、触发什么动作、出现什么例外,才算真正进入量化的第一步。