3、趋势共振:均线系统在不同周期上的共振(MA5/MA10/MA20)。金叉死叉的共振过滤。

各位同学,咱们今天聊一个实战中特别实在的话题——趋势共振

很多新手做交易,喜欢看单一周期。比如只看日线,金叉就买,死叉就卖。结果呢?经常被来回打脸。为什么?因为单一周期的信号,太容易被市场噪音干扰了。

我个人习惯,是把MA5、MA10、MA20这三条均线,放在不同周期上去看。说白了,就是让大周期定方向,小周期找入场点。这叫“以大周期为锚,以小周期为箭”。

3.1 均线系统的三层过滤逻辑

先讲清楚一个核心逻辑:周期越大,信号越稳,但越迟钝;周期越小,信号越灵敏,但越虚假

所以我们要做的是——用大周期过滤方向,用小周期过滤时机

我一般用这三层:

  • 第一层(大周期):周线或日线。判断市场的主趋势方向。比如周线MA5上穿MA20,说明大趋势偏多。
  • 第二层(中周期):60分钟或30分钟。确认当前波段是否与大周期共振。如果大周期看多,中周期也出现金叉,那这个信号的可靠性就高很多。
  • 第三层(小周期):15分钟或5分钟。用来找具体的入场点。大周期和中周期都共振了,小周期一出现金叉,就可以考虑进场。

嗯,这里要注意:三层共振不是必须同时发生。有时候大周期和中周期已经共振了,小周期还在震荡,那就等一等。别急,机会有的是。

3.2 金叉死叉的共振过滤

金叉死叉,大家都知道。但怎么过滤掉那些假信号?

我分享一个我自己的经验:不要只看均线交叉的那一瞬间。要看交叉前后的均线排列状态

举个例子:

  • 真金叉:MA5上穿MA10,同时MA10也在向上走,MA20也拐头向上。三条均线呈多头排列(MA5 > MA10 > MA20)。这种金叉,成功率很高。
  • 假金叉:MA5上穿MA10,但MA10还在向下,MA20也是向下的。这种金叉,说白了就是反弹,大概率会失败。

我曾经在期货上吃过这个亏。当时日线MA5上穿MA10,我一看金叉就追进去了。结果MA20还在向下压着,价格没涨两天就掉头往下,直接把我套住了。后来复盘才发现,那根本就是个假金叉。

所以,我现在的规则是:金叉必须配合均线排列。只有多头排列下的金叉,才值得参与。死叉同理,只有空头排列下的死叉,才值得做空。

3.3 实战中的周期搭配

不同交易风格,周期搭配不一样。我列个表,大家参考:

交易风格 大周期(定方向) 中周期(确认) 小周期(入场)
短线 60分钟 15分钟 5分钟
波段 日线 60分钟 15分钟
中长线 周线 日线 60分钟

我个人做波段比较多。所以我的习惯是:日线看方向,60分钟看共振,15分钟找入场。你想想看,日线多头排列,60分钟也金叉了,这时候15分钟一出现回调不破均线,那就是很好的入场点。

3.4 代码实现:多周期共振过滤

光说不练假把式。咱们直接上代码。下面这个Python函数,实现了多周期均线共振的过滤逻辑。

import pandas as pd
import numpy as np

def multi_period_resonance_filter(df_daily, df_60min, df_15min):
    """
    多周期均线共振过滤
    :param df_daily: 日线数据,需包含'close'列
    :param df_60min: 60分钟数据
    :param df_15min: 15分钟数据
    :return: 是否产生共振信号
    """
    # 计算各周期均线
    df_daily['MA5'] = df_daily['close'].rolling(5).mean()
    df_daily['MA10'] = df_daily['close'].rolling(10).mean()
    df_daily['MA20'] = df_daily['close'].rolling(20).mean()
    
    df_60min['MA5'] = df_60min['close'].rolling(5).mean()
    df_60min['MA10'] = df_60min['close'].rolling(10).mean()
    df_60min['MA20'] = df_60min['close'].rolling(20).mean()
    
    df_15min['MA5'] = df_15min['close'].rolling(5).mean()
    df_15min['MA10'] = df_15min['close'].rolling(10).mean()
    df_15min['MA20'] = df_15min['close'].rolling(20).mean()
    
    # 获取最新数据
    daily_last = df_daily.iloc[-1]
    daily_prev = df_daily.iloc[-2]
    min60_last = df_60min.iloc[-1]
    min60_prev = df_60min.iloc[-2]
    min15_last = df_15min.iloc[-1]
    min15_prev = df_15min.iloc[-2]
    
    # 判断大周期方向(日线多头排列)
    daily_bull = (daily_last['MA5'] > daily_last['MA10'] > daily_last['MA20'])
    
    # 判断中周期金叉(60分钟)
    min60_golden_cross = (min60_prev['MA5'] <= min60_prev['MA10']) and (min60_last['MA5'] > min60_last['MA10'])
    
    # 判断小周期金叉(15分钟)
    min15_golden_cross = (min15_prev['MA5'] <= min15_prev['MA10']) and (min15_last['MA5'] > min15_last['MA10'])
    
    # 共振条件:大周期多头 + 中周期金叉 + 小周期金叉
    if daily_bull and min60_golden_cross and min15_golden_cross:
        return "多头共振信号"
    elif not daily_bull and min60_golden_cross and min15_golden_cross:
        return "注意:大周期不共振,信号可靠性低"
    else:
        return "无共振信号"

这段代码的逻辑很清晰:先判断大周期方向,再看中周期和小周期的金叉。只有三层都满足,才输出“多头共振信号”。

核心要点:共振过滤的本质,是用大周期的确定性,去对冲小周期的不确定性。大周期是“战略”,小周期是“战术”。战略错了,战术再漂亮也没用。

3.5 避坑指南

最后,分享几个我踩过的坑:

  • 不要过度共振:我曾经试过把5个周期都拿来共振,结果信号少得可怜,一年都做不了几笔交易。其实3个周期就够了。
  • 注意均线的滞后性:均线本身就是滞后指标。共振过滤虽然能提高胜率,但也会让你错过一些急涨急跌的行情。有得必有失。
  • 震荡市慎用:在横盘震荡的行情里,均线会频繁交叉,共振信号也会失效。这时候最好的策略是——不做。

嗯,关于趋势共振,今天就聊这么多。记住一句话:周期共振不是万能钥匙,但它能帮你过滤掉大部分垃圾信号

个人小技巧:我每次复盘时,都会把共振信号标记出来。然后对比那些没共振但涨得很好的股票,看看自己错过了什么。这样慢慢就能找到最适合自己的共振参数。
多周期共振择时信号过滤逻辑 大周期(日线/周线) 判断主趋势方向 中周期(60分钟) 确认波段共振 小周期(15分钟) 寻找入场时机 过滤条件:大周期多头排列 + 中周期金叉 + 小周期金叉 三者同时满足,才产生有效信号 输出:多头共振信号
专注资料整理