根据macd的va,编写kdj的va代码,可以发现kdj的va信号更加敏感,macd有的信号kdj大部分也有。
//kdj
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。
K:SMA(RSV,M1,1);//RSV的移动平均值
D:SMA(K,M2,1);//K的移动平均值
J:3*K-2*D;
BACKGROUNDSTYLE(1);
//VA定义
JV:=J>REF(J,1) AND REF(J,2)>REF(J,1);
JA:=J<REF(J,1) AND REF(J,2)<REF(J,1);
//多空
LEN:=CONDBARS(CROSSUP(K,D),CROSSDOWN(K,D));
DDAI:=C>REF(C,LEN) AND CROSSDOWN(K,D); //J多带鱼
KDAI:=C<REF(C,LEN) AND CROSSUP(K,D); //J空带鱼
DDUAN:=C<=REF(C,LEN) AND CROSSDOWN(K,D); //J多短鱼
KDUAN:=C>=REF(C,LEN) AND CROSSUP(K,D); //J空短鱼
DDAICS:=-1*COUNT(DDAI,0);
DDK := IF(BARSLAST(DDAI)<BARSLAST(KDAI), 1, -1);
//标记
DRAWTEXT(DDAI ,K,'空'),VALIGN2,FONTSIZE24,COLORRED;
DRAWTEXT(DDUAN ,K ,'空'),VALIGN2,FONTSIZE16,COLORGREEN;
DRAWTEXT(KDAI ,D,'多'),VALIGN0,FONTSIZE24,COLORRED;
DRAWTEXT(KDUAN ,D,'多'),VALIGN0,FONTSIZE16,COLORGREEN;
//VA
//MACD柱VA鱼
DYT:=JV;
KYT:=JA;
FBPK := DYT AND COUNT(DYT, BARSLAST(KYT))=1;
FSPK := KYT AND COUNT(KYT, BARSLAST(DYT))=1;
BPKC := IF(FBPK , C, REF(C, BARSLAST(FBPK)));
SPKC := IF(FSPK , C, REF(C, BARSLAST(FSPK)));
LEN1 := CONDBARS(FBPK, FSPK);
//最近的A和V之间的周期数
DDAI1 := C>REF(C,LEN1) AND FSPK;
KDAI1 := C<REF(C,LEN1) AND FBPK;
DDUAN1 := C<=REF(C,LEN1) AND FSPK;
KDUAN1 := C>=REF(C,LEN1) AND FBPK;
LOTS:=10000000*0.04/(C*MARGIN*UNIT+FEE);
DDAI1 AND J>80,SPK(LOTS);
KDAI1 AND J<20,BPK(LOTS);
DRAWTEXT(DDAI1 ,J ,'A'),ALIGN2,FONTSIZE24,COLORRED;//VA鱼多带
DRAWTEXT(DDUAN1 ,J ,'A'),ALIGN2,FONTSIZE16,COLORGREEN;//VA鱼多短
DRAWTEXT(KDAI1 ,J,'V'),ALIGN2,FONTSIZE24,COLORRED;//VA鱼空带
DRAWTEXT(KDUAN1 ,J ,'V'),ALIGN2,FONTSIZE16,COLORGREEN;//VA鱼空短
使用上证指数加载kdj-va指标如下:
kdjva-上证
|