Q-CodeQ-Code 打开工作台

双均线趋势跟踪

趋势跟踪A股风险 中入门更新 2026-09-24#均线#趋势#择时

以短周期均线穿越长周期均线识别趋势,并在趋势反向时退出,用最少的规则表达清晰的趋势逻辑。

策略目标

捕捉中期趋势形成后的延续行情。均线系统天然滞后,本策略主动放弃拐点附近的收益,换取规则清晰、可回测、可机械执行的稳定性。适合作为趋势跟踪类的基准框架。

参数定义

  • 股票池:预先维护的成分股清单(示例使用沪深 300 成分股);
  • 短均线:5 个交易日;
  • 长均线:20 个交易日;
  • 最长观察周期:达到后强制退出;
  • 单标的权重上限与组合最大持仓数:由资金规模确定。

均线与交叉定义

MAt(n)=1n∑i=0n−1Pt−iMA_t(n) = \frac{1}{n}\sum_{i=0}^{n-1} P_{t-i}

金叉:MAt(5)MA_t(5) 自下而上穿越 MAt(20)MA_t(20);死叉反之。两条均线同时向上为趋势健康状态。

入场与出场规则

入场同时满足四个条件:收盘价位于 20 日均线上方、5 日均线上穿 20 日均线、两条均线方向同时向上、该标的当前无持仓。单只股票只保留一个仓位,不做加仓摊薄。

满足任一条件即退出:5 日均线下穿 20 日均线;收盘价跌破 20 日均线;持仓时间达到最长观察周期。

执行检查清单

  • 数据完整,当日 K 线已收盘;
  • 标的未停牌、未触及涨跌停无法成交的状态;
  • 单标的与组合仓位约束均已校验;
  • 连续亏损后已按规则降低下一轮开仓数量;
  • 不使用杠杆,数据缺失时不交易。

风险与失效场景

均线是滞后指标,震荡市中会反复出现假突破,交易成本可能吞噬全部信号收益。A 股 T+1 制度使买入当日无法止损,涨跌停会使出场信号无法成交,回测必须包含这两项约束。连续亏损时应按规则降仓,而不是放大参数拟合历史。

验证状态

待验证。需要完成:样本内与样本外分段测试;计入佣金、印花税与滑点的成本敏感性;涨跌停无法成交情形的处理;与单均线、通道突破基准的对照。本文不提供任何未实测的收益或回撤数字。

参考文献与延伸

[1] Pring, M. J. (1980). Technical Analysis Explained. McGraw-Hill.(均线交叉与趋势确认的经典框架)

[2] Gartley, H. M. (1935). Profits in the Stock Market.(均线系统早期系统化应用之一)

[3] Q-Code 量化策略工作台(策略思想与 QMT 实现的在线工作台)

策略逻辑结构

  1. 股票池 — 预设沪深300成分股
  2. 行情与均线 — 计算5日、20日均线
  3. 趋势过滤 — 价格与长均线同时向上
  4. 仓位约束 — 单股与组合持仓上限
  5. 买入执行 — 固定权重建立持仓
  6. 退出规则 — 死叉或跌破长均线
  7. 卖出执行 — 清空对应持仓

AI 生成提示词

复制以下提示词,打开 Q-Code 工作台粘贴到 AI 对话框,即可自动生成该策略的 QMT 策略代码(单个完整 .py 文件,支持 QMT 回测与实盘)。

请设计一份可在 QMT 运行的 A 股双均线趋势跟踪策略。股票池由参数指定,初始参数为通达信常用沪深 300 成分股。短周期为 5 个交易日,长周期为 20 个交易日。仅当 5 日均线上穿 20 日均线、收盘价高于 20 日均线且长周期均线向上时买入;5 日均线下穿 20 日均线或收盘价跌破 20 日均线时卖出。策略必须同时兼容回测和实盘,回测中只能使用当前 K 线及之前的行情,禁止未来函数。生成单个完整 Python 文件,在 init 内内联全部参数,使用 ContextInfo 的 C.xxx 方法调用接口。请输出完整代码,不要附加代码之外的说明。
用自然语言,生成你的 QMT 策略
注册即赠 200 积分,约可生成 5 次 · 支持 Kimi / GLM / DeepSeek
打开 Q-Code 工作台