夜雨聆风学习资料网

ARTICLE · 1225783

动量交易系统主图指标公式源码(纯动量导向・量化版)

动量交易系统主图指标公式源码(纯动量导向・量化版)

定位:适配当前合力量化市场,剔除主观价值、消息预判、老庄博弈假设,一切信号来自价格与资金动量;只做动量强弱排序、动量延续验证、动量衰竭离场,不左侧抄底。 

标注:吾友指标原创 风险提示:本系统仅为策略逻辑演示,不构成任何投资建议,历史动量规律不代表未来可重复,市场存在流动性、风格切换、滑点等风险,实盘务必回测、小资金试错。

一、核心底层规则(一句话纲领)

动量 = 相对强度 + 趋势加速度 + 资金持续性; 只做多动量向上、动量加速度为正的标的;动量拐头、相对强度掉队立刻降仓或离场,不格局、不补仓摊薄。

动量三大观测维度

  1. 价格动量(相对强弱 RS)
    :不是单纯涨幅,是个股 / ETF 相对全市场、相对所属板块的强弱排名
  2. 趋势动量(加速度)
    :短期斜率 > 中期斜率,代表动量在加速;斜率走平 / 向下 = 动量衰减
  3. 资金动量(持续性)
    :3/5/10 日主力资金净流入,拒绝单日脉冲资金(和你体系口径对齐)

原则:先板块动量,后个股动量;板块动量是土壤,个股动量是果实。板块动量弱,个股单独强属于孤立脉冲,不参与。

二、标的池筛选(量化自动海选)

海选池

A 股 ETF + 流动性达标个股(日均成交额阈值自定义,建议≥5 亿,规避流动性陷阱)

动量初筛条件(同时满足)

  1. 近 20 日相对强弱 RS,排在全市场前 30%
  2. 5 日斜率 > 20 日斜率(动量加速)
  3. 3 日、5 日资金动量净流入(资金持续加持,非一日游)
  4. 最新收盘价站上 20 日均线(趋势基底,过滤空头环境里的弱反弹)

二次排序(动量打分,按总分从高到低)

  • 权重:板块动量 40% + 个股 RS 强度 35% + 资金持续动量 25%
  • 取排序前 10 作为核心观察池,只在这个池子里开仓;池外标的一律不看

三、开仓信号(动量确认信号,不预判)

不开仓在动量启动前,只在动量确认那一刻介入 触发条件(全部满足):

  1. 标的在动量精选池内
  2. 当日动量强度继续维持,相对强度不回落(当日板块排名不掉队)
  3. 价格突破近期 N 日高点(N 可设 5/10,短线动量优先 5 日)
  4. 当日主力资金净流入,不出现大额兑现
  5. 大盘环境过滤:全市场动量中位数不为负(避免系统性动量崩塌环境强行交易)

仓位规则:

  • 动量总分 TOP3:主仓上限
  • TOP4~TOP10:小仓博弈,不加仓
  • 单标的最大仓位硬性限制,防止动量黑天鹅

禁止:低吸预判反转、下跌途中接飞刀;这套是纯动量,只追已经走出来的强动量。

四、持有与加仓规则(动量延续才加仓)

加仓只有一个条件:动量持续增强

  1. 加仓校验:加仓当日,相对强度继续提升、资金继续净流入、斜率维持向上
  2. 禁止:价格小幅回调、动量已经衰减时加仓(很多动量交易者死在这里)
  3. 持有期核心监控指标(每盘后量化自动刷新)
    • 相对强度排名是否持续下滑
    • 5 日斜率是否拐头向下
    • 3 日资金是否由净流入转为持续流出 只要任意一项出现,进入减仓观察名单

五、离场规则(动量衰竭优先,止损为辅)

分两类离场:动量离场(优先)、硬性风控止损(兜底)

① 动量离场信号(触发任意一条,执行减仓 / 清仓)

  1. 相对强度排名连续 2 个交易日明显掉队,脱离强势梯队
  2. 5 日趋势斜率拐头向下,动量由加速转为减速、反转
  3. 连续 2 日资金净流出,资金动量确认衰竭
  4. 板块动量整体走弱,板块从动量强势组掉出(板块是根,板块崩,个股动量很难独立维持)

② 价格风控止损(兜底,防止极端跳空)

固定百分比止损,或者用动量支撑均线止损(例如 20 日均线跌破);

逻辑:动量策略里,止损不是核心,动量信号消失才是第一离场理由;很多强动量标的不会碰止损,是慢慢走弱、强度掉队。

止盈思路

不设置固定目标止盈价,让动量奔跑;只要动量指标维持强势,就继续拿;动量衰减就走。 动量交易赚的就是动量延续的 β,不要主观猜顶。

六、再平衡机制(每日盘后量化自动执行)

  1. 每日收盘重新计算全部标的动量分数、板块动量分数
  2. 剔除动量掉队标的,补充新进入动量池标的
  3. 持仓标的如果调出动量精选池,次日优先分批离场
  4. 每周一次大复盘:统计近期动量策略胜率、盈亏比、最大回撤,观察市场动量风格是否失效(量化市场会阶段性切换动量 / 反转风格)

七、过滤规则(规避伪动量,量化时代高频坑)

  1. 单日暴涨、但是 3/5 日资金不持续 → 脉冲假动量,剔除
  2. 个股强、所属板块动量持续走弱 → 孤立动量,不参与
  3. 流动性不足,大单容易砸崩价格 → 剔除
  4. 消息一次性刺激,消息落地后的动量大多是诱多,过滤消息兑现后标的

八、配套量化输出指标清单

  1. 相对强弱 RS:个股收益 - 基准(板块 / 全市场)收益
  2. 线性回归斜率:5 日斜率、20 日斜率(动量加速度)
  3. 3/5/10 日主力资金累加值
  4. 动量综合得分
  5. 板块动量中位数、板块动量排名

九、心法(纯动量交易最重要的约束)

量化时代,动量是群体算力、资金共识的结果,不是主力单独画图。

  1. 不要用基本面、估值去解释动量强弱;动量本身就是资金共识的结果
  2. 不要对持仓产生感情,指标告诉你动量没了,就离场,不要幻想二次启动
  3. 动量策略天然有周期:市场喜欢趋势的时候很好做;市场进入震荡反转风格,动量策略回撤会放大,这时降低总仓位,而不是硬扛
  4. 所有规则写成代码,尽量减少盘中主观修改参数
{基本面筹码启动主图|吾友指标原创}DRAWTEXT_FIX(1,0.005,0,0,'所属风格:'),COLORYELLOW;DRAWTEXT_FIX(1,0.06,0,0,FGBLOCK),COLORYELLOW;DRAWTEXT_FIX(1,0.005,0.05,0,'所属概念:'),COLORMAGENTA;DRAWTEXT_FIX(1,0.06,0.05,0,GNBLOCK),COLORYELLOW;WYZB1:=REF(CLOSE,1);WYZB2:=WYZB1*1.1-CLOSE<0.01 AND HIGH=CLOSE AND IF(CODELIKE('1') OR CODELIKE('2'),0,1) OR (WYZB1*1.2-CLOSE<0.01 AND HIGH=CLOSE AND IF(CODELIKE('1') OR CODELIKE('2'),1,0));WYZB14:=CON2STR(FINANCE(1)/100000000,2);WYZB15:=STRCAT('总股本:',WYZB14);WYZB16:=CON2STR(FINANCE(44),2);WYZB17:=STRCAT(STRCAT('收入增:',WYZB16),'%');WYZB18:=CON2STR(CAPITAL/1000000,2);WYZB19:=STRCAT('流通股本:',WYZB18);WYZB20:=CON2STR((FINANCE(20)-FINANCE(21))/FINANCE(20)*100,2);WYZB21:=STRCAT(STRCAT('毛利率:',WYZB20),'%');WYZB22:=CON2STR(TOTALCAPITAL/1000000*CLOSE,2);WYZB23:=STRCAT('总市值:',WYZB22);WYZB24:=CON2STR(FINANCE(30)/FINANCE(20)*100,2);WYZB25:=STRCAT(STRCAT('净利:',WYZB24),'%');WYZB26:=CON2STR(CAPITAL/1000000*CLOSE,2);WYZB27:=STRCAT('流通市值:',WYZB26);WYZB28:=CON2STR(FINANCE(43),2);WYZB29:=STRCAT(STRCAT('净增:',WYZB28),'%');WYZB30:=CON2STR(CLOSE/FINANCE(38),2);WYZB31:=STRCAT('市盈率:',WYZB30);DRAWTEXT_FIX(1,0,0.1,0,WYZB15),COLORCYAN;DRAWTEXT_FIX(1,0.1,0.1,0,WYZB17),COLORYELLOW;DRAWTEXT_FIX(1,0,0.14,0,WYZB19),COLORCYAN;DRAWTEXT_FIX(1,0.1,0.14,0,WYZB21),COLORYELLOW;DRAWTEXT_FIX(1,0,0.18,0,WYZB23),COLORCYAN;DRAWTEXT_FIX(1,0.1,0.18,0,WYZB25),COLORYELLOW;DRAWTEXT_FIX(1,0,0.22,0,WYZB27),COLORCYAN;DRAWTEXT_FIX(1,0.1,0.22,0,WYZB29),COLORYELLOW;DRAWTEXT_FIX(1,0,0.26,0,WYZB31),COLORCYAN;获利%:WINNER(CLOSE)*100,NODRAW,COLORWHITE;DRAWTEXT_FIX(获利%>=95 AND ISLASTBAR,0.88,0,0,'获利盘大于95'),COLORRED;DRAWTEXT_FIX(获利%>=80 AND 获利%<95 AND ISLASTBAR,0.88,0,0,'80%<获利<95%'),COLORYELLOW;DRAWTEXT_FIX(获利%>=50 AND 获利%<80 AND ISLASTBAR,0.88,0,0,'50%<获利<80%'),COLORGREEN;DRAWTEXT_FIX(获利%<50 AND ISLASTBAR,0.88,0,0,'获利盘小于50'),COLORLIBLUE;WYZB32:=STRCAT(STRCAT('今日涨跌比',CON2STR(DYNAINFO(60)/(DYNAINFO(60)+DYNAINFO(61))*100,2)),'%');DRAWTEXT_FIX(ISLASTBAR,0,1,0,WYZB32),COLORGREEN;WYZB33:=STRCAT(STRCAT('MA5:',CON2STR(MA(CLOSE,5),2)),'元');DRAWTEXT_FIX(ISLASTBAR,0.14,1,0,WYZB33),COLORWHITE;WYZB34:=STRCAT(STRCAT('MA10:',CON2STR(MA(CLOSE,10),2)),'元');DRAWTEXT_FIX(ISLASTBAR,0.24,1,0,WYZB34),COLORYELLOW;WYZB35:=STRCAT(STRCAT('MA13:',CON2STR(MA(CLOSE,13),2)),'元');DRAWTEXT_FIX(ISLASTBAR,0.34,1,0,WYZB35),COLORMAGENTA;WYZB36:=STRCAT(STRCAT('半年涨停',CON2STR(REF(COUNT(WYZB2,120),1),0)),'次');DRAWTEXT_FIX(ISLASTBAR,0.6,1,0,WYZB36),COLORWHITE;WYZB37:=STRCAT(STRCAT('三个月涨停',CON2STR(REF(COUNT(WYZB2,60),1),0)),'次');DRAWTEXT_FIX(ISLASTBAR,0.7,1,0,WYZB37),COLORYELLOW;WYZB38:=STRCAT(STRCAT('一个月涨停',CON2STR(REF(COUNT(WYZB2,20),1),0)),'次');DRAWTEXT_FIX(ISLASTBAR,0.8,1,0,WYZB38),COLORRED;最新价:IF(CURRBARSCOUNT<=50000,CONST(IF(CLOSE>0,CLOSE,HIGH)),DRAWNULL),DOTLINE,COLORLIBLUE;HH2:=HHV(H,2);LL2:=LLV(L,2);T1:=BARSLAST(CURRBARSCOUNT=2);T2:=BARSLAST(CURRBARSCOUNT=3);DRAWLINE(REF(H,T1)=HH2,H,ISLASTBAR,REF(H,T1),0),COLORGREEN;DRAWLINE(REF(L,T1)=LL2,L,ISLASTBAR,REF(L,T1),0),COLORYELLOW;DRAWLINE(REF(H,T2)=REFX(HH2,1),H,ISLASTBAR,REF(H,T2),0),COLORGREEN;DRAWLINE(REF(L,T2)=REFX(LL2,1),L,ISLASTBAR,REF(L,T2),0),COLORYELLOW;MA1:MA(CLOSE,5);MA2:MA(CLOSE,10);MA3:MA(CLOSE,30);MA4:MA(CLOSE,60);DRAWBAND(MA3,RGB(0,250,0),MA2,RGB(155,56,56));DRAWKLINE(H,O,L,C);吾1:=100*(C-LLV(L,5))/(HHV(C,5)-LLV(L,5));吾2:=100*(C-LLV(L,10))/(HHV(C,10)-LLV(L,10));吾3:=100*(C-LLV(L,20))/(HHV(C,20)-LLV(L,20));吾4:=100*(C-LLV(L,30))/(HHV(C,30)-LLV(L,30));友1:=BARSLAST(CROSS(30,吾1))<2 AND BARSLAST(CROSS(吾1,50))<2;友2:=BARSLAST(CROSS(吾4,吾1))<2 AND 吾1>吾4;友3:=吾1>60 AND 吾4>70;VAE:=BARSLAST(CROSS(50,吾1))<3 AND BARSLAST(CROSS(吾1,50))<3;VAE1:=BARSLAST(CROSS(吾4,吾1))<2 AND 吾1>吾4;VAW:=BARSLAST(CROSS(吾4,吾1))<5 AND 吾1>吾4;DRAWTEXT(COUNT(VAW,3)=1 AND VAW AND C>MA(C,20),LOW*1.001,'启动'),COLORYELLOW;DRAWICON(COUNT(VAW,3)=1 AND VAW AND C>MA(C,20),LOW*1.001,34);吾_1:=CLOSE/REF(CLOSE,1)>=1.04 AND CLOSE/REF(CLOSE,1)<=1.075;吾_2:=CLOSE/REF(CLOSE,1)>=1.093;STICKLINE(吾_2,OPEN,CLOSE,3,0),COLOR0077BB;STICKLINE(吾_2,OPEN,CLOSE,2.6,0),COLOR0088CC;STICKLINE(吾_2,OPEN,CLOSE,2.2,0),COLOR0099CC;STICKLINE(吾_2,OPEN,CLOSE,1.8,0),COLOR00AADD;STICKLINE(吾_2,OPEN,CLOSE,1.4,0),COLOR00BBDD;STICKLINE(吾_2,OPEN,CLOSE,1,0),COLOR00CCEE;STICKLINE(吾_2,OPEN,CLOSE,0.6,0),COLOR00DDEE;STICKLINE(吾_2,OPEN,CLOSE,0.2,0),COLOR00EEFF;STICKLINE(吾_2,OPEN,CLOSE,0.1,0),COLORYELLOW;STICKLINE(吾_2,HIGH,LOW,0,0),COLORYELLOW;SCAN_START:=13;SCAN_END:=55;IN_SCAN:=CURRBARSCOUNT<=SCAN_END AND CURRBARSCOUNT>=SCAN_START;吾_3:=IF(IN_SCAN,CONST(REF(LOW,VAE)),DRAWNULL);辅助线1:IF(CURRBARSCOUNT<=SCAN_END,CONST(REF(LOW,VAE)),DRAWNULL),DOTLINE,COLORRED;有效K线1:=IN_SCAN AND ABS((MAX(OPEN,CLOSE)-吾_3)/吾_3*100)<=1.5;满足1:=COUNT(有效K线1,SCAN_END)>=3;成立线1:IF(CONST(满足1),吾_3,DRAWNULL),COLORGREEN,LINETHICK2;STICKLINE(有效K线1,OPEN,CLOSE,2,0),COLORMAGENTA;STICKLINE(有效K线1,LOW,HIGH,0,0),COLORMAGENTA;STICKLINE(CURRBARSCOUNT=VAE+1,OPEN,CLOSE,2,0),COLORMAGENTA;STICKLINE(CURRBARSCOUNT=VAE+1,LOW,HIGH,0,0),COLORMAGENTA;吾_4:=IF(IN_SCAN,CONST(REF(LOW,VAE1)),DRAWNULL);辅助线2:IF(CURRBARSCOUNT<=SCAN_END,CONST(REF(LOW,VAE1)),DRAWNULL),DOTLINE,COLORRED;有效K线2:=IN_SCAN AND ABS((MAX(HIGH,CLOSE)-吾_4)/吾_4*100)<=1.5;满足2:=COUNT(有效K线2,SCAN_END)>=2;成立线2:IF(CONST(满足2),吾_4,DRAWNULL),COLORGREEN,LINETHICK2;STICKLINE(有效K线2,OPEN,CLOSE,2,0),COLORMAGENTA;STICKLINE(有效K线2,LOW,HIGH,0,0),COLORMAGENTA;STICKLINE(CURRBARSCOUNT=VAE1+1,OPEN,CLOSE,2,0),COLORWHITE;STICKLINE(CURRBARSCOUNT=VAE1+1,LOW,HIGH,0,0),COLORWHITE;CBA326:=IF(CLOSE AND MA(VOL,5)/240 AND CLOSE>REF(CLOSE,1)*1.0 AND CLOSE,88,0);CBA327:=IF(CLOSE/REF(CLOSE,1)>1.050 AND VOL/CAPITAL*100<10 AND CLOSE<17 AND HIGH/CLOSE<1.010 AND CBA326>0,91,0);DRAWTEXT(CBA327>90,LOW*1,'☆动量交易系统'),COLORYELLOW;DRAWICON(CBA327>90,LOW*1.001,9);

相关学习资料