买卖点怎么写:能写的、写不了的、以及为什么
回测的买点卖点可以直接用一句话描述:回踩 10 日线缩量买入、涨 8% 止盈、跌破 20 日线卖出、最多持 10 天。这篇讲系统是怎么理解这句话的、哪些写法不支持、以及为什么不用 AI 猜你的意思。
回测的买卖点分两块
买点回答「什么时候买」,卖点回答「什么时候卖」。两边都可以直接写一句话,也可以手动选模板。
| 块 | 能写什么 |
|---|---|
| 买点 | 次日开盘 / 信号日收盘 / 不追高(开盘涨幅上限)/ 回踩 N 日线买入(可加「缩量」)/ 放量 N 倍才买 |
| 卖点 | 涨 X% 止盈 / 亏 X% 止损 / 跌破 N 日线卖出 / 浮盈 X% 后跌破 N 日线 / 从最高点回落 X% 卖出 / 持有 N 天 / N 天不涨就走 |
例:回踩10日线缩量买入,涨8%止盈,跌破20日线卖出,最多持10天——系统会把它翻成
「5 个交易日内回踩 10 日线(盘中触及且收盘不低于均线)→ 次日开盘买入,回踩当日量能不超过信号日的 70%;
持有 10 个交易日内,日内触及 +8% 止盈或收盘跌破 20 日线即离场」。
口径是固定的,因为一句话有好几种理解
「跌破 5 日线」至少有三种理解:均线含不含当日价、按收盘还是按盘中、当天就卖还是次日卖。 系统对每一种都只认一种解释,并且在解析结果里逐条列出来给客户确认:
| 客户写 | 系统固定的口径 |
|---|---|
| 跌破 N 日线 | 当日收盘 < 前 N-1 个收盘均值(等于含当日价的 N 日均线),收盘即可判定 |
| 回踩 N 日线买入 | 当日最低价触及均线、且收盘不低于均线 × 0.99 → 次一交易日开盘买入(不在当日盘中买,避免用当日收盘价做当日决策) |
| 涨 X% 止盈 | 日内最高价触及「买入价 ×(1+X%)」即按该挂单价成交,不等收盘 |
| 亏 X% 止损 | 日内最低价触及即成交;同一天既触止盈又触止损时按止损计(保守,不假设成交顺序) |
| 持有 N 天 | 入场后第 N 个交易日收盘了结(T+N,与战绩页结算同口径) |
| 从最高点回落 X% | 入场后最高价回撤 X%、收盘落在线下 → 当日收盘离场 |
| N 天不涨就走 | 第 N 日若仍亏损则离场;若已盈利则继续持有到「最长持有」 |
同一天既触止盈又触止损按止损算,会让结果偏保守——这是故意的。回测里假设「恰好先成交止盈」, 等于替自己挑了一个好结果。
写不了的会明确告诉你
有些条件听着合理,但回测引擎做不到。这类写法系统会直接列出来说「这项没做到」,**不会**假装填上:
- 大盘/指数状态(大盘跌破 20 日线就不买):回测没有历史市场状态快照。
- 分批买卖(先卖一半、加仓):引擎是单笔一进一出。
- 涨停/跌停:回测按开盘/收盘价撮合,不模拟封板买不进、卖不出。
- 双均线金叉死叉:只支持价格与单条均线比较。
- 财务/板块/消息面(换手率、市盈率、龙虎榜、公告):回测只用 K 线。
- 分钟级/周线条件:回测按日线执行。
- 绝对价位(涨到 30 元卖):换一只票就不成立,请改用百分比。
- 区间(涨 5% 到 8% 止盈):只支持单值,请拆成一条或分两次回测。
为什么不用 AI 猜你的意思
因为回测数字是要拿来做判断的,必须可复现:同一句话今天跑和下周跑,结果必须一样。
规则解析的失败方式是「这句我没认出来,请手动填」——你会立刻知道要自己动手。 如果换成让模型猜,失败方式会变成「你说的是这个意思吧,已经填好了」——你不会怀疑, 于是按一个理解错的规则跑出一份看起来不错的数字。后者在回测这种场景里代价太大。
所以这里的解析是固定词表 + 固定口径,只在解析确认卡上把「我理解成什么」摊开给你看,你点确认才生效,之后还能继续改。
怎么读这份结果
- 先看笔数:少于 30 笔不做结论(见「回测怎么读」)。
- 看离场原因分布:止盈占绝大多数,说明规则靠小赢累积;跌破均线占多数,说明趋势跟随在起作用; 离场原因高度集中在某一种,说明你的规则实际上只由那一条决定。
- 别拿历史最优参数当预期:同一套买卖点在前后两段行情里表现可能相反。 我们的实测是,止盈幅度/持有天数/止损线这类参数在「前段定参、后段验证」下几乎没一组能稳定胜出, 所以产品不提供参数寻优。自定义买卖点的用途是验证你的想法是否自洽,不是找一组赚钱参数。