kdj 带图上解释
{ 计算 KDJ 指标 }
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:SMA(RSV,3,1);
D:SMA(K,3,1);
J:3*K-2*D;
{ 回档与反弹 }
DRAWTEXT(J > 80, J, '回'), COLORGREEN;
DRAWTEXT(J < 20, J, '弹'), COLORMAGENTA;
{ 买入信号 }
DRAWTEXT(CROSS(K, D) AND K >= 18 AND K <= 22, K, '买'), COLORRED;
{ 卖出信号 }
DRAWTEXT(CROSS(D, K) AND K >= 78 AND K <= 82, K, '卖'), COLORBLUE;
{ 易反转 }
DRAWTEXT(J > 100, J, '转'), COLORCYAN;
DRAWTEXT(J < 0, J, '转'), COLORYELLOW;
均线+乖离+356
MA20:MA(CLOSE,20), COLORWHITE ;
EMA20:EMA(CLOSE,20), COLORGRAY ;
MA60:MA(CLOSE,60), COLOR98FB98 ;
EMA60:EMA(CLOSE,60), COLOR006400 ;
MA120:MA(CLOSE,120), COLOR0000FF ;
EMA120:EMA(CLOSE,120), COLOR000088 ;
{ 条件判断:偏离超过50% }
偏离度 := ABS((CLOSE - EMA120) / EMA120) * 100;
DRAWICON(偏离度 > 50, LOW * 0.995, 12);
{画线 }
DRAWLINE(CURRBARSCOUNT = 20, CLOSE, ISLASTBAR , REF(CLOSE, 19), 1),COLORWHITE,DOTLINE;
DRAWLINE(CURRBARSCOUNT = 60, CLOSE, ISLASTBAR , REF(CLOSE, 59), 1), COLOR98FB98,DOTLINE;
DRAWLINE(CURRBARSCOUNT = 120, CLOSE, ISLASTBAR , REF(CLOSE, 119), 1),COLOR0000FF,DOTLINE;
{ 打印信息到提示栏 }
DRAWTEXT_FIX(ISLASTBAR, 0.1, 0.00, 1, STRCAT('昨收: ', CON2STR( REF(CLOSE, 1) ,2) ));
DRAWTEXT_FIX(ISLASTBAR, 0.1, 0.05, 1, STRCAT('+8%: ' , CON2STR( REF(CLOSE, 1) * 1.08, 2)));
DRAWTEXT_FIX(ISLASTBAR, 0.1, 0.10, 1, STRCAT('+5%: ' , CON2STR( REF(CLOSE, 1) * 1.05, 2)));
DRAWTEXT_FIX(ISLASTBAR, 0.1, 0.15, 1, STRCAT('+3%: ' , CON2STR( REF(CLOSE, 1) * 1.03, 2)));
DRAWTEXT_FIX(ISLASTBAR, 0.1, 0.20, 1, STRCAT('-3%: ' , CON2STR( REF(CLOSE, 1) * 0.97, 2)));
DRAWTEXT_FIX(ISLASTBAR, 0.1, 0.25, 1, STRCAT('-5%: ' , CON2STR( REF(CLOSE, 1) * 0.95, 2)));
DRAWTEXT_FIX(ISLASTBAR, 0.1, 0.30, 1, STRCAT('-8%: ' , CON2STR( REF(CLOSE, 1) * 0.92, 2)));
{条件选股 - 定义均线}
MA20 := MA(CLOSE, 20);
EMA20 := EMA(CLOSE, 20);
MA60 := MA(CLOSE, 60);
EMA60 := EMA(CLOSE, 60);
MA120 := MA(CLOSE, 120);
EMA120 := EMA(CLOSE, 120);
{条件组合}
COND1 := CLOSE > MA20 AND CLOSE > EMA20;
COND2 := CLOSE > REF(CLOSE, 21);
{MA20向上近似}
COND3 := MA20 > MA60 AND EMA20 > EMA60;
COND4 := MA60 > MA120 AND EMA60 > EMA120;
{乖离}
COND5 := CLOSE / EMA120 >= GLLMIN AND CLOSE / EMA120 <= GLLMAX;
{最终选股条件}
RESULT := COND1 AND COND2 AND COND3 AND COND4 AND COND5;
RESULT; {输出唯一结果};
Y:=REF(OPEN,TOTALBARSCOUNT -CURRBARSCOUNT);
{ 上涨部分:U1 ~ U10 }
U1:=IF(C>=Y*1.00 AND C< Y*1.01, V, 0);
U2:=IF(C>=Y*1.01 AND C< Y*1.02, V, 0);
U3:=IF(C>=Y*1.02 AND C< Y*1.03, V, 0);
U4:=IF(C>=Y*1.03 AND C< Y*1.04, V, 0);
U5:=IF(C>=Y*1.04 AND C< Y*1.05, V, 0);
U6:=IF(C>=Y*1.05 AND C< Y*1.06, V, 0);
U7:=IF(C>=Y*1.06 AND C< Y*1.07, V, 0);
U8:=IF(C>=Y*1.07 AND C< Y*1.08, V, 0);
U9:=IF(C>=Y*1.08 AND C< Y*1.09, V, 0);
U10:=IF(C>=Y*1.09 AND C<Y*1.10, V, 0);
{ 下跌部分:D1 ~ D10 }
D1:=IF(C>=Y*0.99 AND C< Y*1.00, V, 0);
D2:=IF(C>=Y*0.98 AND C< Y*0.99, V, 0);
D3:=IF(C>=Y*0.97 AND C< Y*0.98, V, 0);
D4:=IF(C>=Y*0.96 AND C< Y*0.97, V, 0);
D5:=IF(C>=Y*0.95 AND C< Y*0.96, V, 0);
D6:=IF(C>=Y*0.94 AND C< Y*0.95, V, 0);
D7:=IF(C>=Y*0.93 AND C< Y*0.94, V, 0);
D8:=IF(C>=Y*0.92 AND C< Y*0.93, V, 0);
D9:=IF(C>=Y*0.91 AND C< Y*0.92, V, 0);
D10:=IF(C>=Y*0.90 AND C< Y*0.91, V, 0);
{ 累加并转换为占比(+100到-100范围)}
涨1%: (SUM(U1, 0) / DYNAINFO(8)) * 100, COLORRED;
涨2%: ((SUM(U1, 0) + SUM(U2, 0)) / DYNAINFO(8)) * 100, COLORRED;
涨3%: ((SUM(U1, 0) + SUM(U2, 0) + SUM(U3, 0)) / DYNAINFO(8)) * 100, COLORRED;
涨4%: ((SUM(U1, 0) + SUM(U2, 0) + SUM(U3, 0) + SUM(U4, 0)) / DYNAINFO(8)) * 100, COLORRED;
涨5%: ((SUM(U1, 0) + SUM(U2, 0) + SUM(U3, 0) + SUM(U4, 0) + SUM(U5, 0)) / DYNAINFO(8)) * 100, COLORRED;
涨6%: ((SUM(U1, 0) + SUM(U2, 0) + SUM(U3, 0) + SUM(U4, 0) + SUM(U5, 0) + SUM(U6, 0)) / DYNAINFO(8)) * 100, COLORRED;
涨7%: ((SUM(U1, 0) + SUM(U2, 0) + SUM(U3, 0) + SUM(U4, 0) + SUM(U5, 0) + SUM(U6, 0) + SUM(U7, 0)) / DYNAINFO(8)) * 100, COLORRED;
涨8%: ((SUM(U1, 0) + SUM(U2, 0) + SUM(U3, 0) + SUM(U4, 0) + SUM(U5, 0) + SUM(U6, 0) + SUM(U7, 0) + SUM(U8, 0)) / DYNAINFO(8)) * 100, COLORRED;
涨9%: ((SUM(U1, 0) + SUM(U2, 0) + SUM(U3, 0) + SUM(U4, 0) + SUM(U5, 0) + SUM(U6, 0) + SUM(U7, 0) + SUM(U8, 0) + SUM(U9, 0)) / DYNAINFO(8)) * 100, COLORRED;
涨10%: ((SUM(U1, 0) + SUM(U2, 0) + SUM(U3, 0) + SUM(U4, 0) + SUM(U5, 0) + SUM(U6, 0) + SUM(U7, 0) + SUM(U8, 0) + SUM(U9, 0) + SUM(U10, 0)) / DYNAINFO(8)) * 100, COLORRED;
跌1%: -(SUM(D1, 0) / DYNAINFO(8)) * 100, COLORGREEN;
跌2%: -((SUM(D1, 0) + SUM(D2, 0)) / DYNAINFO(8)) * 100, COLORGREEN;
跌3%: -((SUM(D1, 0) + SUM(D2, 0) + SUM(D3, 0)) / DYNAINFO(8)) * 100, COLORGREEN;
跌4%: -((SUM(D1, 0) + SUM(D2, 0) + SUM(D3, 0) + SUM(D4, 0)) / DYNAINFO(8)) * 100, COLORGREEN;
跌5%: -((SUM(D1, 0) + SUM(D2, 0) + SUM(D3, 0) + SUM(D4, 0) + SUM(D5, 0)) / DYNAINFO(8)) * 100, COLORGREEN;
跌6%: -((SUM(D1, 0) + SUM(D2, 0) + SUM(D3, 0) + SUM(D4, 0) + SUM(D5, 0) + SUM(D6, 0)) / DYNAINFO(8)) * 100, COLORGREEN;
跌7%: -((SUM(D1, 0) + SUM(D2, 0) + SUM(D3, 0) + SUM(D4, 0) + SUM(D5, 0) + SUM(D6, 0) + SUM(D7, 0)) / DYNAINFO(8)) * 100, COLORGREEN;
跌8%: -((SUM(D1, 0) + SUM(D2, 0) + SUM(D3, 0) + SUM(D4, 0) + SUM(D5, 0) + SUM(D6, 0) + SUM(D7, 0) + SUM(D8, 0)) / DYNAINFO(8)) * 100, COLORGREEN;
跌9%: -((SUM(D1, 0) + SUM(D2, 0) + SUM(D3, 0) + SUM(D4, 0) + SUM(D5, 0) + SUM(D6, 0) + SUM(D7, 0) + SUM(D8, 0) + SUM(D9, 0)) / DYNAINFO(8)) * 100, COLORGREEN;
跌10%: -((SUM(D1, 0) + SUM(D2, 0) + SUM(D3, 0) + SUM(D4, 0) + SUM(D5, 0) + SUM(D6, 0) + SUM(D7, 0) + SUM(D8, 0) + SUM(D9, 0) + SUM(D10, 0)) / DYNAINFO(8)) * 100, COLORGREEN;
A:(C-Y)*1000/Y, COLORWHITE;