指标源码
N:=0;
下档线:=(((CLOSE - LLV(LOW,13)) / (HHV(HIGH,13) - LLV(LOW,13))) * 100);
RRRSV:=SMA(下档线,3,1);
KKK:=SMA(RRRSV,3,1);
DDD:=((3 * RRRSV) - (2 * KKK));
JJ12:=(((CLOSE - LLV(LOW,55)) / (HHV(HIGH,55) - LLV(LOW,55))) * 100);
RSV24:=SMA(JJ12,3,1);
K24:=SMA(RSV24,3,1);
D24:=((3 * RSV24) - (2 * K24));
压力2:=IF(CROSS(D24,DDD),HIGH,REF(HIGH,BARSLAST(CROSS(D24,DDD)))),COLORFFFFFF;
压力位:IF(ISLASTBAR,压力2,DRAWNULL),NODRAW;
STICKLINE(ISLASTBAR ,压力位,压力位,120,0),LINETHICK4,COLORFFFFFF;
底部:=LLV(HIGH,30),COLOR00FF00;
底部位:IF(ISLASTBAR,底部,DRAWNULL),NODRAW;
STICKLINE(ISLASTBAR ,底部位,底部位,100,0),LINETHICK4,COLOR00FF00;
A1:=REF(H,N)=HHV(H,2*N+1);
B1:=FILTER(A1,N);
C1:=BACKSET(B1,N+1);
D1:=FILTER(C1,N);{高点}
R11:=BACKSET(ISLASTBAR,BARSLAST(D1)+1); S11:=R11>REF(R11,1);
DRAWLINE(D1,H,S11,H,1),COLORBLUE;
A2:=REF(L,N)=LLV(L,2*N+1);
B2:=FILTER(A2,N);
C2:=BACKSET(B2,N+1);
D2:=FILTER(C2,N);{低点}
T11:=BACKSET(ISLASTBAR,BARSLAST(D2)+1); U11:=T11>REF(T11,1);
DRAWLINE(D2,L,U11,L,1),COLORBLUE;
M:=INTPART(3*N/5);
A12:=REF(H,M)=HHV(H,2*M+1);
B12:=FILTER(A12,M);
C12:=BACKSET(B12,M+1);
D12:=FILTER(C12,M);{高点}
R112:=BACKSET(ISLASTBAR,BARSLAST(D12)+1); S112:=R112>REF(R112,1);
DRAWLINE(D12,H,S112,H,1),COLORRED;
A22:=REF(L,M)=LLV(L,2*M+1);
B22:=FILTER(A22,M);
C22:=BACKSET(B22,M+1);
D22:=FILTER(C22,M);{低点}
T112:=BACKSET(ISLASTBAR,BARSLAST(D22)+1);
U112:=T112>REF(T112,1);
DRAWLINE(D22,L,U112,L,1),COLORRED;
VAR1111:=BACKSET(REF(HIGH,2)=HHV(HIGH,5),3);
VAR2222:=CROSS(VAR1111,0.9);
VAR3333:=BACKSET(REF(LOW,2)=LLV(LOW,5),3);
VAR4444:=CROSS(VAR3333,0.9);
压力:= REF(HIGH,BARSLAST(VAR2222));
STICKLINE(CLOSE,REF(HIGH,BARSLAST(VAR2222)),REF(HIGH,BARSLAST(VAR2222)),0.5,1),COLOREA91B5,LINETHICK3;
支撑:= REF(LOW,BARSLAST(VAR4444));
STICKLINE(CLOSE,REF(LOW,BARSLAST(VAR4444)),REF(LOW,BARSLAST(VAR4444)),0.5,1),COLOR00B4FF,LINETHICK3;
AA05:=MA(C,5),COLOR0099CC;
五日乖离率:=(C-AA05)/AA05*100;
BB05:=ATAN((AA05/REF(AA05,1)-1)*100)*180/3.1416;
速度5:=SMA(EMA((AA05-REF(AA05,1))/REF(AA05,1),3)*100,3,1);
加速度5:EMA((速度5-REF(速度5,1)),3),NODRAW;
AA10:=MA(C,10);
AA20:=MA(C,20);BB10:=ATAN((AA10/REF(AA10,1)-1)*100)*180/3.1416;
AA30:=MA(C,30);
三拾日乖离率:=(C-AA30)/AA30*100;
VAR11:=(AA20-AA30)>REF((AA20-AA30),1)
AND AA20>REF(AA20,1) AND AA30>REF(AA30,1);
VAR22:=(AA30-AA20)<REF((AA30-AA20),1) AND AA20<REF(AA20,1) AND
AA30<REF(AA30,1);
BB30:=ATAN((AA30/REF(AA30,1)-1)*100)*180/3.1416;
强势狙击:=FILTER(BB30>30 AND BB10>45 AND
CROSS(BB05,60),10);
加仓:=FILTER(COUNT(CROSS(BB05,30),5)>=1 AND
AA05>REF(AA05,1) AND 三拾日乖离率>REF(三拾日乖离率,1) AND
AA10>REF(AA10,1)
AND 加速度5>REF(加速度5,1) AND 速度5>REF(速度5,1) ,10) ;
清仓:=FILTER(COUNT(CROSS(30,BB05),5)>=1 AND (C>AA30 OR O>AA30) AND
AA05<REF(AA05,1) AND 三拾日乖离率<REF(三拾日乖离率,1) AND
AA10<REF(AA10,1),10);
DRAWICON(加仓 ,LOW*0.99,23);
DRAWICON(清仓 ,HIGH*1.01,15);
DRAWICON(强势狙击 ,LOW*0.99,13);
TYP := (HIGH + LOW + CLOSE)/3;
CCI1:=(TYP-MA(TYP,6))/(0.015*AVEDEV(TYP,6));
差值1:=ABS(REF(CCI1,1)-CCI1),LINETHICK0;
CCI2:=(TYP-MA(TYP,10))/(0.015*AVEDEV(TYP,10));
差值2:=ABS(REF(CCI2,1)-CCI2),LINETHICK0;
CCI3:=(TYP-MA(TYP,20))/(0.015*AVEDEV(TYP,20));
差值3:=ABS(REF(CCI3,1)-CCI3),LINETHICK0;
CCI4:=(TYP-MA(TYP,30))/(0.015*AVEDEV(TYP,30));
差值4:=ABS(REF(CCI4,1)-CCI4),LINETHICK0;
CCI5:=(TYP-MA(TYP,60))/(0.015*AVEDEV(TYP,60));
差值5:=ABS(REF(CCI5,1)-CCI5),LINETHICK0;
CCI:=CCI1+CCI2+CCI3+CCI4+CCI5;
AAA:=(3*C+H+L+O)/6;
VAR1:=(8*AAA+7*REF(AAA,1)+6*REF(AAA,2)+5*REF(AAA,3)+4*REF(AAA,4)+3*REF(AAA,5)+2*REF(AAA,6)+REF(AAA,8))/36;
VAR2:=(HHV(VAR1,5)+HHV(VAR1,10)+HHV(VAR1,20))/3;
VAR3:=(LLV(VAR1,5)+LLV(VAR1,10)+LLV(VAR1,20))/3;
VAR4:=(HHV(VAR2,5)+HHV(VAR2,10)+HHV(VAR2,20))/3;
VAR5:=(LLV(VAR3,5)+LLV(VAR3,10)+LLV(VAR3,20))/3;
VAR6:=(LLV(VAR1,2)+LLV(VAR1,4)+LLV(VAR1,6))/3;
短线:VAR1,COLORWHITE;
中线:VAR6,COLORYELLOW;
下跌:IF(VAR1=VAR6,VAR6, DRAWNULL),COLORGREEN;
TJ1:= CCI1>差值4;
立桩量:=FILTER(TJ1,0);
TJ2:=IF(BARSLAST(立桩量)=1 ,1,IF(BARSLAST(立桩量)=2 ,1,
IF(BARSLAST(立桩量)=3 ,1,0)));
成立1:=TJ2;
条件成立1:=FILTER(成立1,5);
TJ11:= CCI1<-差值4 ;
立桩量2:=FILTER(TJ11,0);
TJ22:=IF(BARSLAST(立桩量2)=1 AND CLOSE>REF(HIGH,1),1,
IF(BARSLAST(立桩量2)=2 AND CLOSE>REF(HIGH,2),1,
IF(BARSLAST(立桩量2)=3 AND CLOSE>REF(HIGH,3),1,0)));
成立2:=TJ22;
条件成立2:=FILTER(成立2,5);
TJ111:=(ABS(CCI1)>CCI AND ABS( 差值1)> ABS(差值5))
OR (VOL=HHV(VOL,10) AND VOL>2*REF(VOL,1) AND CLOSE>VAR1);
立桩量3:=FILTER(TJ111,5);
TJ222:=IF(BARSLAST(立桩量3)=1 AND CLOSE>REF(HIGH,1),1,IF(BARSLAST(立桩量3)=2 AND CLOSE>REF(HIGH,2),1,IF(BARSLAST(立桩量3)=3 AND CLOSE>REF(HIGH,3),1,0)));
突破3:=TJ222=1;
STICKLINE(CLOSE AND 下跌!= VAR6,REF(HIGH,BARSLAST(立桩量3)),
REF(HIGH,BARSLAST(立桩量3)),10,1),COLORCYAN;
STICKLINE(CLOSE AND 下跌!= VAR6,REF(LOW,BARSLAST(立桩量3)),
REF(LOW,BARSLAST(立桩量3)),10,1),COLORYELLOW;
TJ3:=IF(BARSLAST(立桩量3)=1 AND CLOSE>REF(LOW,1),1,IF(BARSLAST(立桩量3)=2 AND CLOSE>REF(LOW,2),1,IF(BARSLAST(立桩量3)=3 AND CLOSE>REF(LOW,3),1,0)));
三天法则:=TJ3=1;
成立:=三天法则 AND 突破3;
条件成立:=FILTER(成立,5);
TJ31:=(VOL=HHV(VOL,10) AND VOL>2*REF(VOL,1) AND CLOSE>VAR1);
TJ32:=FILTER(TJ31,1);
IF(条件成立 AND 下跌!= VAR6 AND AA30>=REF(AA30,1),H*1.03,DRAWNULL),CROSSDOT,LINETHICK6,COLORFF33FF;
IF(条件成立 AND 下跌!= VAR6 AND AA30>=REF(AA30,1),H*1.03,DRAWNULL),POINTDOT,LINETHICK4,COLOR00CCFF;
STICKLINE(C>=O,L,H,0,0),COLORRED;
STICKLINE(C<O,L,H,0,0),COLORFFFF00;
STICKLINE(C>O,C,O,3.2,0),COLORRED;
STICKLINE(1,C,O,2.8,0),COLOR454500;
STICKLINE(1,C,O,2,0),COLOR555500;
STICKLINE(1,C,O,1.5,0),COLOR656500;
STICKLINE(1,C,O,1,0),COLOR757500;
STICKLINE(1,C,O,0.5,0),COLOR858500;
STICKLINE(立桩量,C,O,2.8,0),COLOR000045;
STICKLINE(立桩量,C,O,2.8,0),COLOR000065;
STICKLINE(立桩量,C,O,2,0),COLOR000085;
STICKLINE(立桩量,C,O,1.5,0),COLOR0000A5;
STICKLINE(立桩量,C,O,1,0),COLOR0000C5;
STICKLINE(立桩量,C,O,0.5,0),COLOR0000E5;
DRAWICON(条件成立1,REF(HIGH,BARSLAST(立桩量3)),12);
DRAWICON(条件成立2,REF(LOW,BARSLAST(立桩量3)),11);
这是一款极其复杂综合性极强的主图指标,融合了KDJ变异、CCI多周期、均线系统、乖离率、立桩量等多种技术分析模块。设计理念是”多维度共振“,通过多个指标同时满足条件来提高信号的准确率。
一、 代码核心逻辑分析
1. KDJ双周期系统
下档线:=(((CLOSE - LLV(LOW,13)) / (HHV(HIGH,13) - LLV(LOW,13))) * 100);
RRRSV:=SMA(下档线,3,1);
KKK:=SMA(RRRSV,3,1);
DDD:=((3 * RRRSV) - (2 * KKK)); // 13日KDJ
JJ12:=(((CLOSE - LLV(LOW,55)) / (HHV(HIGH,55) - LLV(LOW,55))) * 100);
RSV24:=SMA(JJ12,3,1);
K24:=SMA(RSV24,3,1);
D24:=((3 * RSV24) - (2 * K24)); // 24日KDJ
| 指标 |
周期 |
作用 |
| DDD |
13日KDJ |
短期KDJ,更灵敏 |
| D24 |
24日KDJ |
中期KDJ,更稳定 |
2. 压力位与支撑位
压力2:=IF(CROSS(D24,DDD),HIGH,REF(HIGH,BARSLAST(CROSS(D24,DDD))));
底部:=LLV(HIGH,30);
| 元素 |
含义 |
| 压力位 |
D24上穿DDD的位置,标记历史高点 |
| 底部 |
30日内最低价 |
3. 趋势线系统
{蓝色趋势线 - N周期}
DRAWLINE(D1,H,S11,H,1),COLORBLUE; // N周期高点连线
DRAWLINE(D2,L,U11,L,1),COLORBLUE; // N周期低点连线
{红色趋势线 - M周期}
DRAWLINE(D12,H,S112,H,1),COLORRED; // M周期高点连线
DRAWLINE(D22,L,U112,L,1),COLORRED; // M周期低点连线
| 颜色 |
周期 |
含义 |
| 蓝色 |
N周期 |
长期趋势线 |
| 红色 |
M周期 |
短期趋势线 |
4. VAR压力与支撑
VAR2222:=CROSS(REF(HIGH,2)=HHV(HIGH,5),0.9); // 压力信号
VAR4444:=CROSS(REF(LOW,2)=LLV(LOW,5),0.9); // 支撑信号
STICKLINE(CLOSE,REF(HIGH,BARSLAST(VAR2222)),...,COLOREA91B5); // 压力(粉色)
STICKLINE(CLOSE,REF(LOW,BARSLAST(VAR4444)),...,COLOR00B4FF); // 支撑(蓝色)
5. 均线与乖离率
AA05:=MA(C,5); // 5日均线
五日乖离率:=(C-AA05)/AA05*100; // 5日乖离率
AA10:=MA(C,10); // 10日均线
AA20:=MA(C,20); // 20日均线
AA30:=MA(C,30); // 30日均线
BB05:=ATAN((AA05/REF(AA05,1)-1)*100)*180/3.1416; // 5日均线角度
速度5:=SMA(EMA((AA05-REF(AA05,1))/REF(AA05,1),3)*100,3,1); // 5日速度
加速度5:=EMA((速度5-REF(速度5,1)),3); // 5日加速度
6. 三大核心信号
信号一:强势狙击
强势狙击:=FILTER(BB30>30 AND BB10>45 AND CROSS(BB05,60),10);
| 条件 |
含义 |
| BB30>30 |
30日均线角度>30° |
| BB10>45 |
10日均线角度>45° |
| CROSS(BB05,60) |
5日均线角度上穿60° |
信号二:加仓
加仓:=FILTER(COUNT(CROSS(BB05,30),5)>=1 AND
AA05>REF(AA05,1) AND 三拾日乖离率>REF(三拾日乖离率,1)
AND AA10>REF(AA10,1) AND 加速度5>REF(加速度5,1) AND 速度5>REF(速度5,1),10);
| 条件 |
含义 |
| CROSS(BB05,30) |
5日均线角度上穿30°(5天内有) |
| AA05>REF(AA05,1) |
5日均线上涨 |
| 三拾日乖离率上升 |
30日乖离率增大 |
| 速度5、加速度5上升 |
上涨动能增强 |
信号三:清仓
清仓:=FILTER(COUNT(CROSS(30,BB05),5)>=1 AND (C>AA30 OR O>AA30)
AND AA05<REF(AA05,1) AND 三拾日乖离率<REF(三拾日乖离率,1)
AND AA10<REF(AA10,1),10);
| 条件 |
含义 |
| CROSS(30,BB05) |
5日均线角度下穿30° |
| AA05<REF(AA05,1) |
5日均线下跌 |
| 三拾日乖离率下降 |
30日乖离率减小 |
7. CCI多周期系统
CCI1:=(TYP-MA(TYP,6))/(0.015*AVEDEV(TYP,6)); // 6日CCI
CCI2:=(TYP-MA(TYP,10))/(0.015*AVEDEV(TYP,10)); // 10日CCI
CCI3:=(TYP-MA(TYP,20))/(0.015*AVEDEV(TYP,20)); // 20日CCI
CCI4:=(TYP-MA(TYP,30))/(0.015*AVEDEV(TYP,30)); // 30日CCI
CCI5:=(TYP-MA(TYP,60))/(0.015*AVEDEV(TYP,60)); // 60日CCI
CCI:=CCI1+CCI2+CCI3+CCI4+CCI5; // 综合CCI
8. 立桩量系统
TJ1:= CCI1>差值4;
立桩量:=FILTER(TJ1,0); // 放量上涨
TJ11:= CCI1<-差值4;
立桩量2:=FILTER(TJ11,0); // 放量下跌
TJ111:=(ABS(CCI1)>CCI AND ABS(差值1)>ABS(差值5)) OR (VOL=HHV(VOL,10) AND VOL>2*REF(VOL,1) AND CLOSE>VAR1);
立桩量3:=FILTER(TJ111,5); // 放量突破
| 信号 |
含义 |
| 立桩量 |
CCI上涨且放量,可能形成底部 |
| 立桩量2 |
CCI下跌且放量,可能形成顶部 |
| 立桩量3 |
放量突破,是强势信号 |
9. 均线系统
VAR1:=(8*AAA+7*REF(AAA,1)+...)/36; // 短期均价
VAR2:=HHV(VAR1,5); // 短期压力
VAR3:=LLV(VAR1,5); // 短期支撑
VAR6:=LLV(VAR1,2); // 极短期支撑
短线:VAR1,COLORWHITE;
中线:VAR6,COLORYELLOW;
下跌:IF(VAR1=VAR6,VAR6,DRAWNULL),COLORGREEN;
二、 核心信号系统
| 信号 |
图标 |
含义 |
操作 |
| 强势狙击 |
13号图标 |
均线加速上涨 |
买入 |
| 加仓 |
23号图标 |
上涨趋势确认 |
加仓 |
| 清仓 |
15号图标 |
上涨动能减弱 |
卖出 |
| 立桩量 |
12号图标 |
放量上涨 |
关注 |
| 立桩量2 |
11号图标 |
放量下跌 |
警惕 |
三、 使用方法
1. 安装步骤
- 通达信 -> 功能 -> 公式系统 -> 公式管理器。
- 选择 “主图指标” -> “新建”。
- 粘贴代码,名称输入:
强势狙击。
- 确定保存。
2. 实战交易策略
信号一:强势狙击(13号图标)
- 条件:5日、10日、30日均线同时加速上涨
- 含义:强势攻击状态,可能开启主升浪
- 操作:果断买入
信号二:加仓(23号图标)
- 条件:均线角度上穿30°,且上涨动能增强
- 含义:趋势确认,继续上涨概率大
- 操作:加仓
信号三:清仓(15号图标)
- 条件:均线角度下穿30°,动能减弱
- 含义:趋势反转,可能进入调整
- 操作:减仓/清仓
信号四:立桩量
- 放量突破:是强势信号,可追涨
- 放量下跌:是危险信号,应减仓
3. 趋势线用法
| 趋势线 |
颜色 |
作用 |
| 蓝色线 |
蓝色 |
长期趋势压力/支撑 |
| 红色线 |
红色 |
短期趋势压力/支撑 |
| 粉色线 |
粉色 |
压力位 |
| 浅蓝线 |
浅蓝色 |
支撑位 |
四、 注意事项
1. 指标特点
| 特点 |
说明 |
| 信号频率 |
中等(加仓/清仓信号较多) |
| 信号类型 |
趋势跟踪+买卖点 |
| 适合周期 |
日线 |
| 是否有未来 |
有未来函数(作者已说明) |
2. 优缺点
| 优点 |
缺点 |
| 多维度综合判断 |
有未来函数,信号可能漂移 |
| 信号明确 |
代码复杂,难以理解 |
| 适合趋势行情 |
不适合震荡市 |
3. 使用建议
- 注意未来函数:作者已说明”公式虽然有未来,但是不失为一个好公式“,使用时注意信号漂移
- 结合大势:在上升趋势中使用效果更好
- 严格止损:追涨策略必须设止损
- 配合成交量:放量配合信号更可靠
五、 总结
| 模块 |
作用 |
| KDJ双周期 |
13日+24日KDJ共振 |
| 趋势线 |
蓝红双周期趋势线 |
| 均线系统 |
5/10/20/30日均线 |
| 乖离率 |
判断超买超卖 |
| CCI多周期 |
6+10+20+30+60日CCI |
| 立桩量 |
放量突破判断 |
| 强势狙击 |
均线加速上涨信号 |
| 加仓/清仓 |
趋势买卖点 |
总结:这是一款综合性极强的主图指标。它融合了趋势判断、均线系统、乖离率、CCI指标、立桩量等多种技术分析工具。虽然包含未来函数,但在趋势行情中效果较好。建议作为辅助参考,结合成交量和大盘趋势综合判断。