多因子擒牛指标(附源码)
在股票分析与交易中,技术指标扮演着至关重要的角色。它们通过计算历史价格数据,为投资者提供决策支持。今天,我们将介绍一种综合技术指标的编写思路,该指标旨在识别股票的潜在上涨趋势、短期爆发点以及特定市场行为。虽然具体的金融词汇被避免,但我们将通过逻辑和流程来解释这一指标的构建过程。
一、整体思路概述
本指标的设计思路融合了多种技术分析方法,包括价格动量、波动率、趋势跟踪以及市场心理分析。通过综合这些元素,指标旨在提高捕捉短期强势股和特定市场机会的能力。
二、核心组成部分
1.涨停识别
·涨停: 计算当前价格与前一交易日收盘价的涨幅,如果涨幅达到或超过9.8%,则标记为涨停。
·涨停龙: 连续两天出现涨停的股票被视为“涨停龙”,这通常意味着股票处于强势上涨阶段。
2.趋势与动量分析
·价值线: 通过计算过去3天的加权收盘价(考虑成交量),并计算其7日移动平均线,来反映股票的中短期价值趋势。
·ABC41-49: 这是一组动量指标,通过计算特定周期内的价格变动率,来识别股票是否处于强势上涨或回调后的买入点。
3.市场心理与行为分析
·妖股识别: 结合多种条件(如短期涨幅、成交量变化、价格突破等),识别出市场中的“妖股”,即短期内大幅上涨且可能持续强势的股票。
·送礼信号: 通过分析开盘价、收盘价及前一日收盘价的关系,识别出可能的“老鼠仓”行为,即主力资金可能在低位吸筹的迹象。
4.交易信号与图形标注
·DRAWTEXT与DRAWICON: 在满足特定条件时,在图表上标注文字或图标,以提示交易者可能的买入或卖出机会。
·STICKLINE: 使用不同颜色和宽度的线条,在图表上绘制出特定条件下的价格区间,帮助交易者更直观地识别趋势和交易信号。
5.辅助分析与风险控制
·RSI与MACD: 引入相对强弱指数(RSI)和移动平均收敛发散指标(MACD),用于辅助判断市场的超买超卖状态以及趋势的强度和方向。
·收盘破红必跑: 通过计算特定周期内的最高价和最低价,以及当前的收盘价,来判断是否应该卖出股票以规避风险。
三、编写流程与注意事项
1.数据准备: 确保获取到准确的历史价格数据,包括开盘价、收盘价、最高价、最低价和成交量。
2.逻辑构建: 根据上述思路,逐步构建每个子指标的计算公式和逻辑条件。
3.测试与优化: 在历史数据上进行回测,验证指标的有效性,并根据回测结果进行调整和优化。
4.实际应用: 将优化后的指标应用于实时交易中,结合其他分析方法和个人交易策略,做出决策。
在编写过程中,需要注意以下几点:
·避免过度拟合: 确保指标在回测中表现良好,同时在实际交易中也能保持稳定。
·灵活性: 指标应具有一定的灵活性,以适应不同市场环境和股票特性。
·风险管理: 任何技术指标都不能保证100%的准确率,因此在使用时应结合风险管理策略。
通过以上介绍,我们可以看到一个综合技术指标的编写思路不仅涉及复杂的数学计算,还需要对市场行为有深入的理解。希望这篇文章能为对技术指标感兴趣的投资者提供一些有益的参考和启发。
效果展示:

源码展示:
涨停:=IF((C-REF(C,1))*100/REF(C,1)>=9.80,1,0);
涨停龙:=EVERY(涨停,2);
DRAWTEXT(涨停龙,L*1.02,’↙龙’),COLORYELLOW;
STICKLINE(涨停龙,OPEN,CLOSE,1,0),COLORYELLOW;
UU:=3;
A88:=SUM(C*V,UU);
B88:=SUM(V,UU);
价值线:MA(A88/B88,7),COLORYELLOW,LINETHICK2;
ABC41:=REF(CLOSE,1);
ABC42:=((SMA(MAX((CLOSE – ABC41),0),7,1) / SMA(ABS((CLOSE – ABC41)),7,1)) * 100);
ABC43:=((SMA(MAX((CLOSE – ABC41),0),13,1) / SMA(ABS((CLOSE – ABC41)),13,1)) * 100);
ABC44:=((BARSLAST((ABC43 < 23)) <= 3) AND CROSS(ABC42,ABC43));
ABC45:=((((CLOSE – MA(CLOSE,23)) / MA(CLOSE,20)) * 100) < -12.5);
ABC46:=LLV(LOW,5);
ABC47:=HHV(HIGH,10);
ABC48:=EMA((((CLOSE – ABC46) / (ABC47 – ABC46)) * 100),4);
ABC49:=EMA(((0.667 * REF(ABC48,1)) + (0.333 * ABC48)),2);
DRAWTEXT((((0 – (-1 * ABC44)) AND ABC45) AND CROSS(ABC48,ABC49)) AND (ABC48 <=25),LOW*1.008,’急跌后超级大黑马’),COLORMAGENTA;
DRAWICON((((0 – (-1 * ABC44)) AND ABC45) AND CROSS(ABC48,ABC49)) AND (ABC48 <=25),L-0.10,26);
DRAWICON((((0 – (-1 * ABC44)) AND ABC45) AND CROSS(ABC48,ABC49)) AND (ABC48 <=25),L-0.38,26);
持股线1:MA(CLOSE,15),COLORMAGENTA,LINETHICK2;
AAA:MA(CLOSE,60),COLORBB0000;
DRAWKLINE1(H,O,L,C);
时长:=120;
换手次数:=2;
选择方式:=1;
BBB:IF(选择方式=1,(SUMBARS(V/ (7)*100,换手次数)),时长),NODRAW;
KK:=BBB;
高:=(HHV(H,KK));
低:=(LLV(L,KK));
CCC:=(高-低);
均价:=OPI/V/100,NODRAW;
L0:=低+CCC*0/9;
L1:=低+CCC*1/9;
L2:=低+CCC*2/9;
L3:=低+CCC*3/9;
L4:=低+CCC*4/9;
L5:=低+CCC*5/9;
L6:=低+CCC*6/9;
L7:=低+CCC*7/9;
L8:=低+CCC*8/9;
L9:=低+CCC*9/9;
ABC_8:=(REF(CLOSE,3)-CLOSE)/REF(CLOSE,3)*100>5;
ABC_9:=FILTER(ABC_8,10);
ABC_10:=BARSLAST(ABC_9);
ABC_11:=REF(HIGH,ABC_10+2);
ABC_12:=REF(HIGH,ABC_10+1);
ABC_13:=REF(HIGH,ABC_10);
ABC_14:=MAX(ABC_11,ABC_12);
ABC_15:=MAX(ABC_14,ABC_13);
ABC_16:=(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100>5;
ABC_17:=ABC_10< 150;
ABC_18:=(OPEN-ABC_15)/ABC_15*100< 30;
ABC_19:=(CLOSE-LLV(LOW,ABC_10))/LLV(LOW,ABC_10)*100< 50;
ABC_20:=(CLOSE-REF(OPEN,5))/REF(OPEN,5)*100< 30;
ABC_21:=VOL/MA(VOL,5)< 3.5;
ABC_22:=(CLOSE-REF(CLOSE,89))/REF(CLOSE,89)*100< 80;
ABC_25:=ABC_16 AND ABC_17 AND ABC_18 AND ABC_19 AND ABC_20 AND ABC_21 AND ABC_22;
暴利:=FILTER(ABC_25,15);
MA54:=MA(CLOSE,54),NODRAW;
PL1:=(((CLOSE-MA54)/MA54)< 0.1);
PL2:=(((CLOSE-AAA)/AAA)< 0.3);
偏离率:=(((PL1=1) AND (PL2=1))*0.2);
平台突破:=((((偏离率=0) AND (REF(偏离率,1)=0.2)) AND (REF((COUNT((偏离率=0.2),10)=10),1)=1))*-0.1);
妖股突破:=平台突破=-0.1;
XDF:=(暴利 OR 妖股突破);
ABCA:=DMA(OPI/VOL/100,VOL/OPI);
ABCAA:= (7)/(REF(CLOSE,1))>1.05 AND ( (7)/O>1.05);
FLIGA:=(VOL/REF(VOL,1)>1.2 AND COUNT(CLOSE>OPEN,1)) OR (LOW>REF(HIGH,1) AND COUNT(OPEN>CLOSE,1) AND VOL/REF(VOL,1)>1.2);
妖股:=XDF AND C/REF(C,1)>1.095 AND FLIGA AND ABCAA;
DRAWICON(妖股,L*1.0,25);
LC11:=REF(CLOSE,1),NODRAW;
RSI11:=((SMA(MAX((CLOSE – LC11),0),3,1) / SMA(ABS((CLOSE – LC11)),3,1)) * 100);
FF:=EMA(CLOSE,3);
日:=150;
昨前:=3;
高1:=REF(HHV(H,日),昨前);
低1:=REF(LLV(L,日),昨前);
H1:=高1-(高1-低1)*0.191;
H2:=高1-(高1-低1)*0.382;
H3:=高1-(高1-低1)*0.5;
H4:=高1-(高1-低1)*0.618;
H5:=高1-(高1-低1)*0.809;
收盘破红必跑:MA(CLOSE,7),COLORRED ,LINETHICK2;
LC:=REF(CLOSE,1);
RSI:=((SMA(MAX((CLOSE – LC),0),3,1) / SMA(ABS((CLOSE – LC)),3,1)) * 100);
MTM1:=C-REF(C,1);
DX:=100*EMA(EMA(MTM1,6),6)/EMA(EMA(ABS(MTM1),6),6);
买:=IF(LLV(DX,2)=LLV(DX,7) AND COUNT(DX< 0,2) AND CROSS(DX,MA(DX,2)),1,0);
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD:=(DIF-DEA)*2;
送礼:=O/REF(C,1)< 0.96 AND C/REF(C,1)>1.03 AND C/O>1.05 AND REF(C,1)/REF(C,2)>0.911;
DRAWICON(送礼,L*1.0,5);
DRAWTEXT(送礼,L*1.02,’↙老鼠仓’),COLORMAGENTA;
XG1:=MACD>0;
DRAWICON(买 AND XG1,L*1.0,9);
A63:=(C-LLV(L,9))/(HHV(H,9)-LLV(L,9))*100;
A64:=SMA(A63,3,1);
A5:=SMA(A64,3,1);
A6:=3*A64-2*A5;
A76:=C-REF(C,1);
A68:=100*EMA(EMA(A76,6),6)/EMA(EMA(ABS(A76),6),6);
买88:=LLV(A68,2)=LLV(A68,7) AND COUNT(A68< 0,2) AND CROSS(A68,MA(A68,2));
STICKLINE(买88,OPEN,CLOSE,2.5,0),COLORMAGENTA;
STICKLINE(买88,OPEN,CLOSE,1,0),COLORWHITE;
夜雨聆风
