Skip to content

均线系统 ​

📏 均线 = 价格的"重力线" —— 趋势的最直观表达。

🎯 均线基础 ​

📌 均线类型 ​

类型公式特点
SMA(简单移动平均)过去 N 日收盘均值平滑、稳定
EMA(指数移动平均)加权近期价格敏感、反应快
WMA(加权移动平均)线性加权介于 SMA 与 EMA

📌 常用均线周期 ​

均线周期用途
MA55 日短期趋势
MA1010 日短期
MA2020 日月线,中短期
MA3030 日略中期
MA6060 日季线,中期
MA120120 日半年线,中长期
MA250250 日年线,长期

📌 均线特性 ​

  • 滞后性:周期越长,滞后越大
  • 平滑性:周期越长,越平滑
  • 支撑阻力:在上升趋势中是支撑,下降趋势中是阻力
  • 金叉死叉:短期均线上穿/下穿长期均线

🎯 葛兰碧 8 大法则 ​

📌 买入信号(4 个) ​

法则信号
1均线从下降逐渐转为水平盘整,股价从下方上穿均线
2股价虽跌破均线,但均线仍在上行,股价重新回到均线上
3股价在均线上方运行,股价回调不跌破均线,支撑买入
4股价在均线下方运行,股价暴跌远离均线,超跌反弹

📌 卖出信号(4 个) ​

法则信号
5均线从上升转为水平,股价从上方下穿均线
6股价虽突破均线,但均线仍在下行,股价重新跌破均线
7股价在均线下方运行,反弹未能突破均线
8股价在均线下方运行,股价暴涨远离均线,超买回调

🎯 均线组合策略 ​

📌 双均线系统 ​

  • 短线 MA5 + 长线 MA20

    • 金叉(MA5 上穿 MA20):买入
    • 死叉(MA5 下穿 MA20):卖出
    • 适合:短线、波段
  • MA20 + MA60

    • 金叉:中期买入
    • 死叉:中期卖出
    • 适合:中线、波段

📌 三均线系统 ​

  • MA5 + MA20 + MA60
    • 多头排列:MA5 > MA20 > MA60(价格上看)
    • 空头排列:MA5 < MA20 < MA60
    • 金叉共振:MA5 上穿 MA20 + MA20 上穿 MA60 = 强买入
    • 适合:中长线

📌 250 日均线 ​

  • 生命线:长期趋势分水岭
  • 站上 250 日:长期看多
  • 跌破 250 日:长期看空
  • 回踩 250 日:强支撑 / 阻力
  • 250 日上行 + 股价回踩:绝佳买点

🎯 实战应用 ​

📌 均线粘合 ​

  • 特征:多条均线接近、缠绕
  • 含义:蓄势待发,方向选择
  • 突破方向:跟随突破方向买入 / 卖出
  • 成功率:60-70%

📌 均线发散 ​

  • 多头发散:MA5 > MA10 > MA20 > MA60(向上发散)
    • 强势上升
    • 不轻易卖出
  • 空头发散:MA5 < MA10 < MA20 < MA60(向下发散)
    • 弱势下降
    • 不轻易抄底

📌 乖离率(BIAS) ​

  • 公式:BIAS = (当前价 - MA) / MA × 100%
  • 意义:价格偏离均线程度
周期强势区超买区弱势区超卖区
5 日0-3%> 5%0-(-3%)< -5%
20 日0-7%> 10%0-(-7%)< -10%
60 日0-15%> 20%0-(-15%)< -20%
  • 超买:可能回调
  • 超卖:可能反弹

📊 均线交叉策略回测 ​

📌 经典双均线回测框架 ​

python
import pandas as pd
import numpy as np
import akshare as ak

def dual_ma_backtest(ticker, start, end, fast=5, slow=20):
    """
    双均线策略回测
    买入:fast 上穿 slow
    卖出:fast 下穿 slow
    """
    # 获取数据
    df = ak.stock_zh_a_hist(
        symbol=ticker, period='daily',
        start_date=start, end_date=end, adjust='qfq'
    )
    df = df.rename(columns={'日期':'date','收盘':'close'})
    df['date'] = pd.to_datetime(df['date'])
    df = df.set_index('date')
    
    # 计算均线
    df['ma_fast'] = df['close'].rolling(fast).mean()
    df['ma_slow'] = df['close'].rolling(slow).mean()
    
    # 信号
    df['signal'] = 0
    df.loc[df['ma_fast'] > df['ma_slow'], 'signal'] = 1
    df['signal'] = df['signal'].diff()  # 1 买入,-1 卖出
    
    # 收益
    df['ret'] = df['close'].pct_change()
    df['strat_ret'] = df['signal'].shift(1) * df['ret']
    
    # 累计收益
    cumret = (1 + df['strat_ret'].fillna(0)).cumprod()
    
    return cumret

# 示例
result = dual_ma_backtest('600519', '20200101', '20260817')
print(f'累计收益: {result.iloc[-1] - 1:.2%}')

📌 策略优化 ​

  • 多组均线组合:(5, 20), (10, 30), (20, 60)
  • 过滤:成交量 + 趋势确认
  • 止损:单笔亏损 > 5% 止损
  • 仓位:金叉时满仓,死叉时空仓

📊 实战案例 ​

案例 1:多头排列 茅台 ​

2020-03 至 2021-02:
  MA5 > MA10 > MA20 > MA60
  股价从 1000 涨到 2600
  期间任何回调都是买入

案例 2:金叉共振 中国平安 ​

2022-10:
  MA5 上穿 MA20
  + MA20 上穿 MA60
  + 250 日均线持平
  = 强买入信号
  后续 6 个月上涨 50%

案例 3:250 日支撑 招行 ​

2024-08 暴跌:
  股价跌到 32 元
  250 日均线 = 33 元
  跌穿后回踩 250 日
  后续 1 年上涨 60%

📖 相关阅读 ​

💡 数据来源:葛兰碧《每日股票市场获最大利润术》、理查德·沙贝克《技术分析与交易系统》。数据截至 2026-08。

来源 ​

💡 数据截至 2026-08;具体规则以交易所/监管机构最新公告为准。

本知识库内容仅供学习参考,不构成任何投资建议。
本站总访问量 ... 次 · 访客数 ... 人