简介:一份浓缩《操作生涯不是梦》核心理念的实战型精华文档,聚焦三重滤网交易系统,适合正尝试融合顺势与逆势策略、需要解决多周期信号冲突的交易者参考。资源为单一doc文件,压缩包约165KB,内容完整覆盖三层滤网流程:先以周线MACD柱状图斜率判断市场潮汐,明确多空方向;再用日线图的劲道指数、艾达透视指标等摆荡指标捕捉同一方向的回调或反弹;最后在小时图或分钟图上把握精确入场时机。文档同时解释了‘5的因子3’时间架构划分原则,并针对波段与日内交易者给出了不同的周期组合示例。通过学习这套框架,读者能够逐步建立顺大势、逆小势的系统化交易体系,减少假信号干扰,改善入场节奏与风险控制能力。目前已有158人学习过该资料。
1. 三重滤网交易系统:为什么“顺势+逆势”比单一指标更可靠
做过几年日内或波段的人都会撞上同一个矛盾:趋势指标在横盘里反复打脸,摆荡指标在单边行情中早早让你下车。这份文档给出的解法不是再发明一个“万能指标”,而是把时间框架拆成三层,用长期趋势过滤方向,用中期回调找入场点,用短期价格行为定执行。它的核心结论很反直觉:你不需要预测方向,只需要在周线定方向、日线等回调、盘中找突破,三个各自不完美的信号叠在一起,反而能过滤掉大部分噪音。这套方法适合那些已经熟悉MACD、随机指标,却总在信号冲突中犹豫的人。下面我把三层滤网的参数、计算逻辑和可复现的代码逐一拆开。
2. 第一层滤网:用周线MACD柱状图斜率定义市场潮汐
2.1 为什么选择周线MACD柱状图斜率而不是简单均线
三重滤网的第一层只做一件事:判断当前该不该进场、只允许做多还是做空。文档强调“顺着潮汐方向交易”,而潮汐由长期走势图定义。这里最容易犯的错是直接用日线趋势代替周线趋势,因为日线趋势在周线级别可能只是一次小波浪。MACD柱状图比均线的优势在于:它同时包含快慢线的差值,斜率变化比价格穿越均线更早反映动能转折。文档提到“MACD柱状图的每个跳动都代表趋势的变动”,并且“发生在零线下方的向上跳动,买进信号优于零线上方”——这实际上是在用柱状图相对零轴的位置给信号加权。
常见做法是用13周价格EMA的斜率作为替代,但EMA斜率需要二次平滑才能稳定判断,MACD柱状图天然提供了两柱之间的差值,更直观。我的经验是:周线MACD参数用默认的12、26、9,但关键不是金叉死叉,而是柱状图最近两柱的递增或递减,这是第一层滤网的核心。
2.2 MACD柱状图斜率的计算与代码实现
要复现第一层滤网,直接用交易所或行情软件的数据计算周线MACD柱状图。下面是一段Python代码,用pandas计算MACD柱状图并输出斜率和方向信号。这里假设你已经有一份包含日期、收盘价的数据框架df,且已按周线重采样。
import pandas as pd # df 需包含 obs_date 和 close 列,obs_date 为日线日期 df['obs_date'] = pd.to_datetime(df['obs_date']) df_week = df.resample('W', on='obs_date')['close'].last().to_frame() # 周线收盘 # 计算 MACD 快慢线 ema12 = df_week['close'].ewm(span=12, adjust=False).mean() ema26 = df_week['close'].ewm(span=26, adjust=False).mean() dif = ema12 - ema26 dea = dif.ewm(span=9, adjust=False).mean() macd_hist = (dif - dea) * 2 # 国内软件常用乘以2,不影响斜率判断 # 取最近三周的柱状图值,判断斜率 latest = macd_hist.iloc[-1] prev = macd_hist.iloc[-2] if latest > prev: direction = 'up' # 周线柱状图斜率向上,只做多或观望 else: direction = 'down' # 向下,只做空或观望 # 零轴位置加权:零线下方翻升更好,零线上方回挫更好 zero_cross = latest * prev < 0 print(f"MACD柱状图方向: {direction}, 最新值: {latest:.2f}, 上一值: {prev:.2f}")这段代码的关键点在于:用resample('W')聚合周线数据,避免直接用日线数据算MACD再抽样,因为那样会产生错误的周期边界。ewm(span=12)与常见软件里的EMA12等价。注意macd_hist是否乘以2只影响数值大小,不影响斜率符号。实际交易时,只需比较最近两根柱状图的值,如果latest > prev则方向向上,否则向下。
2.3 斜率方向与交易约束规则
第一层滤网不提供具体买卖点,只给一个约束:当周线方向向上,只允许买进或观望;向下,只允许放空或观望。文档强调“剔除一个选择”,这是三层滤网中唯一的方向过滤器。我把规则整理成表,方便盘中对照。
| 周线MACD柱状图 | 趋势方向 | 允许动作 | 禁止动作 |
|---|---|---|---|
| 斜率向上(最近两柱递增) | 多头潮汐 | 买进、观望 | 放空 |
| 斜率向下(最近两柱递减) | 空头潮汐 | 放空、观望 | 买进 |
| 零线下方向上翻转 | 多头潮汐叠加超卖修正 | 买进信号优先级高 | 放空 |
| 零线上方向下回挫 | 空头潮汐叠加超买修正 | 放空信号优先级高 | 买进 |
实际操作中,我通常会在周线方向刚确认时降低仓位权重,因为斜率刚翻转时容易反复。文档也提示“发生在零线下方的向上跳动优于零线上方”,这意味着如果周线柱状图在零轴下方开始上升,说明长期下跌动能正在衰竭,此时做多的胜率高于零轴上方追多。这条规则可以写成代码中的一个加权因子,比如在信号计数时给零轴下方的向上跳动加1分。
3. 第二层滤网:日线摆荡指标捕捉逆势波浪
3.1 摆荡指标的选择:劲道指数、随机指标与威廉斯%R
当周线方向确定后,第二层滤网切换到日线图,目的不是找趋势,而是找“逆着潮汐的波浪”——也就是回调。文档指出,在周线上升趋势中,日线跌势是买进时机;周线下降趋势中,日线涨势是放空时机。这要求指标必须能在日线级别的回调中发出超卖或动能衰竭信号。适合的有劲道指数、随机指标、威廉斯%R,但RSI因为反应缓慢被文档排除。
劲道指数(Force Index)是Elder提出的指标,公式很简单:今日成交量乘以(今日收盘价减去昨日收盘价),再取移动平均。文档推荐用2天EMA。它的优点是结合了价格和成交量,比单纯价格摆荡更早反映买卖力量的强弱。随机指标则更常规,但文档特别强调在周线上升趋势中,日线随机指标跌破30才算是超卖买进信号,而不是看到数值低于20就抄底。
3.2 劲道指数2天EMA穿越零线的信号逻辑
劲道指数的核心用法是看2天EMA是否穿越零轴。在周线向上的前提下,如果日线劲道指数的2天EMA跌破零线,但随后没有创出数周新低,反而是向上翻升,这就是买进信号。这里的判断点是“未创数周新低”和“向上翻升”两个条件同时满足。下面是一段计算和筛选信号的代码。
import pandas as pd # df_daily 包含 obs_date, close, volume df_daily['force_raw'] = df_daily['close'].diff() * df_daily['volume'] df_daily['force_2ema'] = df_daily['force_raw'].ewm(span=2, adjust=False).mean() # 假设周线方向已判定为上升周线_up = True 周线_up = True # 判断当日劲道指数是否突破零轴向上,且之前3天内有过跌破零轴 df_daily['cross_above_zero'] = (df_daily['force_2ema'] > 0) & (df_daily['force_2ema'].shift(1) <= 0) df_daily['was_below'] = (df_daily['force_2ema'].rolling(3).min() < 0) # 满足信号的条件 buy_signal = 周线_up & df_daily['cross_above_zero'] & df_daily['was_below'] print(df_daily[['obs_date', 'force_2ema', 'buy_signal']].tail(10))这段代码包含一个关键参数:rolling(3),意味着只看最近3天内的走势,防止用模糊的“数周新低”产生主观判断。实际使用时,你可以把窗口调整为5天或10天,对应文档说的“未创数周以来的新低”——具体“数周”可以量化为当前最低值高于过去5日内的最低值。注意,劲道指数有量纲,不同品种的数值差别很大,不要跨品种比较绝对值,只关注穿越零轴的动作。
3.3 随机指标参数与信号过滤
文档提到随机指标在第二层滤网中的用法:周线MACD柱状图上升,日线随机指标跌破30是超卖买进时机;周线下降,日线随机指标升破70是超卖放空时机。这里的核心是参数选择。文档明确说“威廉斯%R需要采用4天或5天的期间”,随机指标则没有指定,但按常见做法,我会把随机指标的参数设为(5,3,3),而不是默认的(9,3,3)。因为第二层滤网本来就盯着日线回调,周期太长会错过小波浪。
下面给出一个信号生成规则表格,方便与周线方向叠加。注意,随机指标的原始公式是%K = 100 * (C - L_n) / (H_n - L_n),其中n是回看周期。我们用n=5,即5日最高最低。
| 周线MACD方向 | 日线随机指标条件 | 动作 | 优先级 |
|---|---|---|---|
| 向上 | K值跌破30后再次上穿30 | 买进 | 高 |
| 向上 | K值在50上方钝化(未跌破30) | 观望 | 低 |
| 向下 | K值升破70后再次下穿70 | 放空 | 高 |
| 向下 | K值在50下方钝化(未升破70) | 观望 | 低 |
这里有个容易踩的坑:很多人看到随机指标低于30就直接买进,但第二层滤网要求“周线趋势向上”这个大前提。如果周线MACD向下,哪怕日线随机指标超卖到10,也不能买,因为这是逆着潮汐。文档反复强调“仅接受周线趋势方向的日线交易信号”,这就是过滤的意义。
3.4 两层滤网组合的信号过滤
当第一层和第二层滤网发生矛盾时,以第一层为准。例如周线柱状图刚刚从向上转为向下,但日线随机指标还在超卖区间发出买进信号,这时按规则应当忽略买入,甚至应该寻找放空机会。我一般会把两层信号做成一个状态机:第一层方向决定“允许做的方向”,第二层只在该方向上产生入场信号。这样可以避免在震荡市中反复开仓。
另一个细节是,劲道指数和随机指标可以混用。文档说“劲道指数与艾达透视指标都是适用的摆荡指标”,但实际使用中,我倾向于用随机指标验证超买超卖,用劲道指数验证动量衰竭。比如周线向上,随机指标跌破30,同时劲道指数2天EMA在零轴下方但向上拐头,两个信号叠加时进场,胜率更高。但要注意,这种叠加会增加等待时间,不可避免会错过一些信号,需要根据自己的频率偏好取舍。
4. 第三层滤网:追踪型停顿单与入场执行细节
4.1 停顿单的本质:让市场自己触发入场
第二层滤网给出了“可以做多”的位置,但具体在哪根K线进场?第三层滤网解决这个问题。它的核心技巧是使用“追踪型买进停顿单”:当周线向上且日线发出买进信号后,不立即市价买入,而是在前一日最高价上方一档处挂买单。如果价格继续下跌,第二天把停顿单下调到最近一天最高价的上方一档。这个过程类似“追涨但只追回调后的突破”,结果就是只有当价格真的开始向上突破时,你才进场。
文档明确说“第三层滤网不需采用走势图或指标”,它纯粹是价格行为。这对很多依赖指标的人来说有点反直觉,但它的优点在于:避免了预测底部,让市场证明买入力量已经接管。我自己的经验是,这种停顿单特别适合流动性较好的期货和外汇品种,因为止损距离短,且一旦成交往往意味着当天会延续突破。
4.2 追踪型停顿单的迭代规则
下面用表格展示一个实例。假定周线趋势向上,日线随机指标在3月10日跌破30,3月12日重新上穿30,构成买进信号。此后你开始设置停顿买单。
| 日期 | 当日最高价 | 前一日最高价 | 设定停顿价(前高+1档) | 是否触发 | 次日行动 |
|---|---|---|---|---|---|
| 3月13日 | 152.5 | 150.0 | 150.1 | 否(最低150.2) | 继续持有停顿单 |
| 3月14日 | 151.8 | 152.5 | 152.6 | 否(最低151.0) | 下调停顿单至152.6 |
| 3月15日 | 154.2 | 151.8 | 151.9 | 是(盘中触及152.0) | 成交,建立多头 |
注意这里的“一档”是指交易品种的最小变动价位,股票是0.01元,股指期货是0.2点。如果价格持续下跌,停顿单不断下移,直到触发或周线趋势反转。文档强调“如果价格继续下跌,原先设定的停顿买单未被触发,隔天将价位调降到最近高价的上方一档”。这里的“最近高价”是前一个交易日的最高价,不是前几天内的最高价,这样操作才能保证停顿单始终紧跟短期高点。
4.3 连续未触发的处理与趋势失效
一个常见问题是:如果停顿单连续多日未触发,要不要继续等?文档给出的边界条件是“直到停顿单被触发或周线指标反转而买进讯号无效为止”。也就是说,只要周线MACD柱状图斜率仍然向上,且日线摆荡指标没有重新进入超买区,你继续下调停顿单。但是如果日线随机指标再次跌破30并创新低,说明回调尚未结束,可以暂缓设置,等下一轮超卖信号。
这里有一个容易被忽略的仓位风险:如果价格已经距离信号发出点下跌了2%以上,即使停顿单触发,止损距离也会变大,可能违反2%资金管理规则。所以实际执行时,我会把停顿单的触发条件加上“距离信号日收盘价不超过某个阈值”的过滤,否则放弃这次信号。文档虽然没有写这个细节,但配合后面提到的资金管理,这是必须考虑的一环。
4.4 三层滤网综合信号的一个完整示例
把前面三层串起来,我给出一个完整的步骤清单,可以直接用来复盘或编写程序化策略。
- 周线MACD柱状图斜率向上,确认只做多。
- 日线随机指标(5,3,3)的K值跌破30后再次上穿30,或劲道指数2天EMA向上穿越零轴,产生买入信号。
- 从信号次日开始,在前一日最高价加一档设置买入停顿单。
- 若停顿单被触发,则在成交价下方最近次要支撑位设置止损,止损风险不得超过净值的2%。
- 若停顿单未触发,每日收盘后按“前一日最高价+一档”更新停顿单。
- 当周线MACD柱状图斜率转为向下,或日线止损被触发,平仓并停止做多。
这个流程把三层滤网完整落地。你可以把第2章的Python代码扩展成自动扫描程序,每天收盘后输出候选标的和停顿单价格。注意,第三层滤网不需要额外指标,但需要精确的日线最高价和最小变动价位,这部分数据质量很重要,尤其是复权因子会改变历史最高价,建议使用前复权数据比较当天价格。
5. 资金管理与出场:2%法则、抛物线系统与停损调整
5.1 2%单笔风险法则的计算
三重滤网给出了进场逻辑,但真正决定账户存亡的是资金管理。文档中的“2%法则”是硬性上限:任何单笔交易的风险(止损价与进场价之差乘以合约乘数)不能超过净值的2%。这个法则直接限制了你开多少手。例如账户净值20万,单笔最多亏4000元。如果某一笔交易的止损距离是200点,每点价值10元,则止损金额为2000元,最多开2手。若止损距离变成500点,则同样资金只能开1手。
实际计算时,必须把佣金和滑点算进去。文档明确说“这个限制包括佣金与滑移价差”。所以我一般会在止损金额上再扣减预计滑点(比如1档),再反推手数。有个看似矛盾的地方:三重滤网的止损可能很紧,但如果你用追踪型停顿单进场,成交价离止损点可能很近,这样自然就能在2%以内开更多的仓位。止损越近,仓位可以越大,但也要防止止损太紧被随机波动扫出去。
5.2 用抛物线系统动态调整止损
文档中的抛物线系统是三重滤网的良好补充。抛物线系统公式为:明日停损 = 今日停损 + AF × (EP - 今日停损),其中EP是建仓以来的极端价格,AF是加速因子,起始0.02,每次创新高加0.02,最高0.20。这个系统的价值在于,当行情进入快速趋势时,它能自动加快止损移动速度,保护利润。我不建议把它作为进场工具,因为反转信号在震荡市里太频繁,但作为三重滤网的出场工具,它远比手工调整止损有效。
下面是一个简化的Python函数,计算抛物线止损值。
def parabolic_sar(prices, af_start=0.02, af_step=0.02, af_max=0.20): sar = prices[0] ep = prices[0] af = af_start is_long = True sar_list = [] for price in prices[1:]: sar = sar + af * (ep - sar) if is_long: if price < sar: # 反转做空 is_long = False sar = ep ep = price af = af_start else: if price > ep: ep = price af = min(af + af_step, af_max) else: if price > sar: # 反转做多 is_long = True sar = ep ep = price af = af_start else: if price < ep: ep = price af = min(af + af_step, af_max) sar_list.append(sar) return sar_list这段代码实现了标准的SAR迭代。注意,当价格触发反向信号时,SAR会跳到原来的EP位置,这是为了快速跟上新的趋势。配合三重滤网时,我一般只用多头方向:当周线向上且建仓后,每天用抛物线SAR值作为移动止损,而不是等待价格跌破心理价位。尤其是遇到连续跳空的行情,SAR能比固定百分比止损更早锁定利润。
5.3 损益两平与50%盈利保护技巧
出场不是等SAR反转,而是分阶段调整。文档给出三个步骤:进场时设止损;价格快速有利后,尽快把止损移到损益两平点;继续涨则保护已有利润。其中“损益两平”的时机很关键:价格距离进场点必须超过平均每日价格区间,否则容易被随机波动扫掉。
对于已经盈利的部位,保守者用2%法则保护,积极者用50%法则——也就是把止损设在当前最高价与进场价的中点。例如做多进场价100元,现在价格上涨到120元,止损上移到110元,此时如果回落到110元,还能保住10元利润。这个方法的缺点是在强势行情中过早下车,所以我通常在SAR还没有反向之前,先按50%法则移动止损,一旦SAR超过这个位置,就改用SAR。
5.4 常见失败模式与自查清单
最后整理几个我在复盘时会逐项检查的问题:
- 第一层滤网是否用了最高级别的周期?如果做日线波段,必须看周线,而不是看60分钟线。
- 第二层滤网是否在周线方向未确认时就提前进场?等待信号出现比预测信号更安全。
- 第三层滤网的停顿单是否因为担心踏空而改成了市价单?一旦改成市价单,入场均价会被抬高,止损距离变大,2%法则可能失效。
- 止损是否因为仓位过大而被迫放宽?如果仓位导致止损位离入场太远,应该减仓而不是移动止损。
- 平仓后是否重新评估了周线方向?很多人在赚钱后放松警惕,忽略了周线MACD斜率已经反转。
每一次亏损交易,都应该对照这个清单找出是哪一层滤网被破坏。纪律不是靠意志力,而是靠把规则量化成可见的代码和数字。当你把三层滤网、2%法则和SAR写成脚本,每天自动扫描,再回测过去三年的数据,你会发现自己之前凭感觉忽略的细节,其实都是可以复现的。
本文还有配套的精品资源,点击获取