交易七步 卷七 · 复盘与系统 第三十八集
第 三 十 八 集

把你的方法写成规则

六卷讲的所有方法,如果只存在于你的记忆里,它们就等于不存在。

因为记忆会漂移、会选择性执行、会在需要时恰好缺席。

这一集给一个规则模板,把方法变成能核对、能执行、能修正的条文。

上一集的复盘,核对的对象是"你有没有按规则做"。这一集解决它的前提:你的规则在哪里?写成什么样,才算"可核对"?

有一种反对意见需要先回应:"写下来多死板,市场在变,规则不该灵活一点吗?"

这个担心搞混了两样东西。需要灵活的是参数(止损 8% 还是 5%、仓位上限 15% 还是 10%),需要死板的是结构(什么时候必须止损、什么条件下才允许加仓)。市场变了,你调参数;但你永远不应该在亏损的当天,临时决定"这次不按结构来"。

写下来的规则,约束的正是后者。参数可以按季调整(第 37 集),结构一年动不了几次——把这两层分开,"灵活"和"死板"就不再冲突。

0 1不成文的三个问题

方法留在脑子里,有三个后果,每一个都足以让系统失效。

方法不写下来,坏在三个环节 问题一 · 无法核对 第 37 集的复盘核对的是"按没按规则"。规则不成文,核对就没有对象—— 每次你都能找到一种解释,让已经发生的事情"符合规则"。 问题二 · 无法保持一致 凭记忆执行,细节会漂移:这周止损 −8%,下周心情差变成 −10%, 第三周"这次情况特殊"干脆不止损。每次都觉得是同一套方法。 问题三 · 无法改进 第 37 集修改规则用三行格式:旧规则、新规则、依据。 旧规则不存在,"修改"就没有起点——你改的只是记忆里那个模糊的印象。 三个问题指向同一件事:不成文的方法,没法被检查、被重复、被修正。
图 38-1 不成文的三个问题。它影响的不是"纪律",是整个系统能否成立。

注意第二个问题里那个细节:每次漂移时,你都觉得自己在执行"同一套方法"。这是最迷惑人的地方——它不是不执行,是执行了一个每天在变形的版本。

三个问题的共同根源是一个:记忆不可靠,且会被利益改写。

无法核对,是因为记忆里的"规则"会在核对时自动调整措辞——第 32 集讲过,这是后见之明偏差。无法保持一致,是因为情绪状态下记忆里的规则会自动放宽——亏损时"再等等"的版本会浮现出来。无法改进,是因为你无法区分"当初真的是这么想的"和"我现在希望我是这么想的"。

所以解决之道不是"提高记忆质量",是把规则外化成一个不会被情绪改写的载体——文档。

0 2规则模板

一条合格的规则,由三部分组成。

每条规则必须写满三栏,缺一栏就不是规则 触发条件 什么时候适用 可观察、可核查。写"跌破 20 日线"可以,写"走势变坏"不行。 自测:一个完全不了解你想法的人,能判断这个条件是否成立吗? 他判断不了,就说明里面藏着只有你知道的判断。 动作 具体做什么 具体到操作层面:卖多少、按什么价格方式、什么时限内完成。 "考虑减仓"不是动作。"次日开盘卖出全部持仓的 50%"才是。 动作里出现"酌情""视情况",这条规则就执行不了。 例外 什么时候不适用 预先写好的豁免,不能事后追加。 例:跳空低开越过止损价时,不等收盘,开盘即卖(第 28 集)。 写不出例外通常不是没有例外,是没想过极端情况——回第 31 集预案卡。 另加一行"出处"标明这条规则来自哪一集,方便复盘时回查原文。
图 38-2 规则模板:触发条件、动作、例外。三栏写满,才是一条能被核对的规则。

三栏的实质是一条分界线:触发条件管"什么时候",动作管"做什么",例外管"什么时候不这么做"。

它们合起来回答一个问题:遇到某种情况,一个不需要临场判断的人,会做出什么动作。如果你的规则回答不了这个问题,它就还只是想法。

每一栏最常见的填错方式

触发条件栏:写成"状态描述"而不是"状态切换"。

"趋势向好的时候"是状态描述——它持续存在,无法指出哪一刻成立。"收盘价站上 20 日线且均线向上拐头"是状态切换——有明确的成立时刻。规则挂在切换上,才能被核对。

动作栏:写成"目标"而不是"操作"。

"控制回撤"是目标。"账户回撤达到 10% 时,全部持仓减半"才是操作。目标是你希望发生的事,操作是你要做的动作——规则里只能有后者。

例外栏:只写"常规例外",漏掉"极端例外"。

常规例外(如停牌无法交易)容易想到。极端例外(如连续跌停卖不出、系统故障无法下单)才是真正考验系统的。第 31 集的预案卡就是极端例外的清单——两份文档要互相引用。

0 3两条完整的示例

用全书最重要的两条规则做示范。

示例一 · 止损规则 规则 R7 · 止损执行(出处:第 28 集) 触发条件 每个交易日收盘后,核对每笔持仓的收盘价与既定止损位 动作 收盘价低于止损位时,次日集合竞价卖出全部持仓 例外 跳空低开越过止损位:开盘即市价卖出,不等收盘 当前参数 以成本 20.00、止损 18.40 为例(−8%),逐笔持仓各自设定 示例二 · 规则修改(元规则,管的是规则本身) 规则 R16 · 规则修改限额(出处:第 37 集) 触发条件 每周复盘的第四步(写下周计划) 动作 本周最多修改一条规则;用三行格式记录:旧规则 / 新规则 / 依据 例外 样本不足 20 笔的规则不改;止损与仓位上限只能收紧、不能放宽 当前参数 每周限额 1 条;季度累计修改不超过 4 条 注意示例二的特别之处:它管的对象是"规则修改"这件事本身。系统的自我修正,也要有规则。
图 38-3 两条示例规则。每条规则都编了号(R7、R16),方便日志与复盘引用。

示例三 · 仓位规则(用到第 25 集的公式)

第三条示例演示"参数从公式来"的写法:

这条规则的参数全部由公式生成,没有任何主观空间。1% 是第 25 集的默认值,止损价来自 R8,减半条件来自 R6——规则之间的引用关系,让系统成为一个整体。

两个细节值得注意。

第一,规则有编号。R7、R16 这样的编号,让你在日志里可以写"本周违反 R7 一次",在复盘时可以写"拟修改 R12"。没有编号,引用会退化成"那条止损的规则"这种模糊说法。

第二,有"当前参数"一行。规则的结构(触发、动作、例外)很少变,变的是参数(止损 8% 还是 5%、限额 1 次还是 2 次)。结构和参数分开写,改参数时不用动结构。

0 4全书方法收拢成规则清单

把六卷的方法按交易旅程分组,一共 17 条。这就是你的"系统骨架"——第 41 集会把它收成一张纸。

阶段编号规则出处
准备R1观察池:入池标准、出池三条、规模 ≤10 只22 / 37 集
R2理由卡:买入前写三条可核查理由29 集
R3预案卡:五个"如果"写入预案31 集
买入R4买入触发:满足既定条件才买,不预测21 / 23 集
R5单笔仓位:由止损幅度倒推,风险 1%—2%25 集
R6账户风控:单票上限、相关性分组、回撤三线26 集
R7加仓补仓:加仓顺势、补仓三前提27 集
持有R8止损执行:写成数字,规则触发一次卖完28 集
R9冷静期:想动手等一个交易日29 集
R10月度调整限额:每月最多一次结构性调整29 集
R11做 T 限制:过胜率门槛,月度限额30 集
卖出R12三个卖出理由:理由消失 / 目标达成 / 风险超标33 集
R13止盈方法:按市场状态选,写明参数34 集
R14再入场:冷却期 + 新理由 + 清锚 + 限额36 集
维护R15信号卡:每月例行 + 两个触发时打分35 集
R16每周复盘:两小时四步,八字段周表37 集
R17规则修改:每周一条、三行格式、四类不改37 集
17 条规则覆盖一笔交易的完整旅程。每条按 02 节的三栏模板展开。

看这张清单的口径:17 条里,有 9 条是"不做某事"的限制性规则(R9 冷静期、R10 限额、R11 做T限制、R14 附加条件、R16 修改限额……)。

这符合全书的一贯结论:持仓期你能做的正确事情比你想的少得多(第 35 集)。系统的可靠性,一半来自"做什么",一半来自"不做什么"。

17 条不用一次填完

第一次填,建议的顺序是按"你已经做过的事"倒推:

填完一遍后,17 条里必然有几条标着"未成型"。这不是失败,这是文档在履行它的职责——把方法的空洞暴露出来。下一集的回测、第 41 集的系统整合,都建立在这份"完成度真实的清单"上。

还有一个实用建议:填的时候给自己计时。第一次填,多数人需要两三个小时,而且一半时间花在"跟自己讨价还价"上——"这条要不要写死""那个例外会不会太严"。讨价还价的部分,正是你过去凭感觉交易的部分。文档的价值,就是把这些灰色地带逼成黑白色。

0 5语言三关

把想法变成条文,语言上有三道关。过不了这三关的规则,执行时会打回原形。

写完每条规则,过三道关 第一关 · 感觉词过滤 禁用:明显、应该、差不多、感觉、大概、强势、疲软、形态不错、跌不动了 替换方式:换成数字,或换成有明确观察对象的条件 自测:把规则里的形容词全部删掉,剩下的部分还能执行吗?不能就是没写完。 第二关 · 数字或观察对象 每条规则至少含一个:价格、比例、天数、倍数,或一个明确的观察对象 (某条均线、某类公告、某个指数的某种状态) 自测:这条规则里能圈出数字吗?圈不出来,就是没有可核对的锚。 第三关 · 可复制性测试 把规则给一个完全不懂交易的人,让他照着执行一遍(纸上演练即可) 如果他在某个步骤需要"问你",说明那一步藏着你的隐性判断 自测:他执行出的结果,会和你的判断一致吗?不一致的地方就是要补写的地方。 三关的共同点:都在检测"规则里有没有只剩下你才知道的东西"。 三关全部通过后,还可以加第四问:一年后的你,还能执行这条规则吗?
图 38-4 语言三关。第三关最严格,也最能暴露问题。

第三关的一个实际演示

把一句典型的方法描述,交给三关检验:

改写成规则格式:

两段话描述的是同一种做法。第一段是"观点",第二段是"规则"。差别不在内容多深,在于第二段可以被另一个人执行、被你自己核对、被日志统计。

数字从哪里来

第二关要求每条规则都有数字。第一次写规则的人常在这里卡住:"我知道要写数字,可数字哪来的?"

三个来源,按可靠度排序:

写规则时在数字旁边标来源(公式/统计/经验),将来修改时就有了优先级:经验值最先接受检验,统计值随市场更新,公式值只在输入变化时变化。

0 6自检:写不出来的地方就是空洞

把 17 条规则逐条填三栏,你会在某些条目上卡住。卡住的位置,就是方法的空洞——每一类卡壳,都对应一集该重读的内容。

卡住的位置说明什么回去看
R4 的触发条件写不出可观察描述买入依据还是感觉第 21、23 集
R5 算不出具体股数没做过仓位计算,或止损没定第 25、28 集
R6 的上限写不出数字账户级风控从没做过第 26 集
R12 只能写出"赚了就卖"没有退出设计第 33、34 集
R13 分不清该用哪种止盈没判断过市场状态第 15、34 集
R16 的"依据"一栏总是空白日志记录不够细第 32 集
六类卡壳,六条回路。填规则的过程,就是把全书重新过一遍的过程。

这个自检的价值不在"填完表",而在它逼你面对方法的真实完成度。多数人以为自己的方法成型了,填到 R12 才发现——卖出那部分,从来没设计过。

完成度自评的正确用法

拿到"几条成型、几条未成型"的结果后,有两种反应,一种有用,一种没用。

没用的反应:为未成型的条目硬编内容,把表填满。填满的表看起来舒服,但硬编出来的触发条件和例外,比空白更危险——空白你还会小心,硬编的内容你会当成真的规则去执行。

有用的反应:按未成型条目对应的集数,排一个重读计划。比如 R12 卡住(卖出没设计),那下周的重读任务就是第 33、34 集;R5 卡住(没算过仓位),重读第 25 集。

还有一点要说破:"未成型"的条目,在此期间不允许发生对应的行为。R12 没成型,意味着你还没有卖出规则——那你现在持有的每一笔,都在没有退出计划的状态下运行。这种状态下,仓位必须减半。

这就是文档的纪律性:它不只记录你会什么,它约束你只能做你写下来的事。

0 7写好之后:存档、版本、核对

规则写完不是结束,是使用的开始。三个维护动作。

版本号还有一个隐性作用:它让你看见自己的修改频率。一年下来 v2.3 的人和 v11.0 的人,系统稳定性天差地别——后者等于这一年换了十套系统。

规则文档的结构建议

一份好维护的规则文档,从上到下分五段:

  1. 标题与版本号:"我的交易规则 v1.0",下面一行写创建日期和最近修改日期。
  2. 当前参数表:止损比例、单票上限、月度限额、冷却期天数……所有会调的数字集中在这里。改参数只动这一节。
  3. 规则正文 R1—R17:按五阶段分组,每条三栏加出处。正文里引用参数用"见参数表第 X 行"。
  4. 未成型清单:哪几条没填、对应哪几集。这一段是文档的"诚实声明"。
  5. 修改日志:每次修改的三行记录,按时间倒序。永不删除。

这个结构的关键设计是参数与正文分离:参数每月都可能微调(随市场状态),正文一年动不了几次。分开之后,改参数不会碰到规则结构,规则结构也不会因为频繁改参数而被误改。

示意:一年的版本演进应该长什么样 v1.0 v1.1 v1.2 v1.3 创建 改 R11 做T限额 改 R13 止盈参数 新增 1 条规则 第 1 周 第 9 周 第 22 周 第 44 周 健康的演进:一年 3—4 次修改,每次都有依据,改完跑满样本再评估下一次 修改间隔越来越长——因为早期的问题都被修完了,剩下的都是真问题 不健康的演进:一年 11 个版本,多数修改在亏损当周做出,改完没跑几天又改回去 修改间隔越来越短——因为每次修改都制造新的问题,问题又触发新的修改 版本时间线不会说谎:它一眼就能看出一个系统是在收敛还是在震荡。
图 38-5 版本演进时间线。修改频率递减是系统收敛的标志,递增说明在震荡。

这份规则文档,也是第 41 集"系统一页纸"的原材料。第 41 集要做的事,是把 17 条规则按七步流程重新排列,加进检查点,收成一张 A4 纸。文档写得越规整,那一集的工作就越轻松——反过来,如果连 v1.0 都没有,第 41 集就无从下手。

0 8本集操作清单

  1. 建一份"我的交易规则"文档。按 17 条骨架,逐条填三栏。写不出"触发条件"的条目,标记为"未成型",不硬编。
  2. 逐条过语言三关。感觉词清零、每个条目圈出数字、做一次可复制性演练。
  3. 给每条规则编号。R1 到 R17,日志和复盘里用编号引用。
  4. 把"当前参数"单独列一节。止损比例、单票上限、限额次数——这些是你会调整的部分,集中放,改起来只动这一节。
  5. 版本号从 v1.0 开始。写在文档标题上。之后每次修改 +0.1。
  6. 对照第 06 节的六类卡壳。卡住的那几条,就是你下一步该重读的集数。
错误一 · 把规则写成感悟集

"要敬畏市场""不要追涨杀跌"——这些是态度,不是规则。规则必须能回答"遇到什么情况,做什么"。

错误二 · 规则写得太多太细

17 条已经不少。如果想写到 50 条,说明你把"操作手册"和"规则"混了——手册可以厚,规则必须少到每周复盘时能全部核对一遍。

错误三 · 例外栏越写越长

某条规则的例外超过三条,说明触发条件定错了范围——把它拆成两条,或者收窄触发条件,而不是无限加例外。

本 集 练 习

写出你的 R1 到 R17

卷七最重要的一次练习。这不是"理解"练习,是"产出"练习。

  1. 建一个新文档,标题"我的交易规则 v1.0"。
  2. 按本集的 17 条骨架,逐条填三栏(触发条件 / 动作 / 例外),加"当前参数"和"出处"。
  3. 每填一条,过一遍语言三关。
  4. 卡壳的条目标记"未成型",并记下对应的集数。
  5. 全部填完后统计:几条成型、几条未成型。

怎么看结果:

14 条以上成型:方法完成度很高,下一集的回测有了基础。
8 到 13 条成型:主干在,缺的是细节,按卡壳对照表逐条回读。
7 条以下成型:不是坏事——你用一份文档,看清了自己方法的真实完成度。这比"以为自己会"值钱得多。
无论如何,把 v1.0 存下来。它会在之后的每一周被复盘引用、被修改、升版本——一年后回看 v1.0,你会看到自己走过的路。

本 集 小 结
  1. 方法不成文的三个问题:无法核对、无法保持一致、无法改进。三个都会让系统失效。
  2. 规则模板三栏:触发条件(可观察)、动作(具体到操作)、例外(预先写好)。
  3. 规则要有编号(R1—R17),结构和参数分开写。
  4. 全书方法收拢为 17 条,覆盖准备、买入、持有、卖出、维护五个阶段;其中 9 条是限制性规则。
  5. 语言三关:感觉词过滤、数字或观察对象、可复制性测试。
  6. 第三关最严格:外行照着执行不出歧义,才算规则。
  7. 写不出来的地方就是方法的空洞:六类卡壳对应六段该重读的内容。
  8. 规则文档要存档、升版本号(修改 +0.1,大改 +1.0),复盘核对的对象就是它。
  9. 版本号让你看见自己的修改频率:一年换十套系统的人,没有系统。
  10. 例外超过三条,说明触发条件定错了范围,应拆分或收窄,而不是加例外。
  11. 需要灵活的是参数,需要死板的是结构。写下来的规则约束的是结构,参数按季调整。