{指标介绍:当多空博弈力量由弱转强,且处于低位区域时,考虑短线买入;若同时出现底背离信号,则买入可靠性更高。反之,当博弈力量由强转弱且处于高位区域时,考虑短线卖出;若伴随顶背离信号,则应考虑果断减仓。此外,当博弈力量达到极端强势或弱势状态时,需警惕趋势反转风险。}
FAST:=12;
SLOW:=26;
MID:=9;
volPERIOD:=20;
MONEYPERIOD:=10;
DIFF:=EMA(CLOSE,FAST)-EMA(CLOSE,SLOW);
DEA:=EMA(DIFF,MID);
macdVAL:=2*(DIFF-DEA);
MACDSTK:=MACDVAL>0 AND MACDVAL>REF(MACDVAL,1);
MACDWEAK:=MACDVAL>0 AND MACDVAL< REF(MACDVAL,1);
MACDGREEN:=MACDVAL< 0 AND MACDVAL< REF(MACDVAL,1);
MACDREV:=MACDVAL< 0 AND MACDVAL>REF(MACDVAL,1);
HIGH20:=HHV(HIGH,20);
LOW20:=LLV(LOW,20);
MID20:=(HIGH20+LOW20)/2;
PRICEPOS:=(CLOSE-LOW20)/(HIGH20-LOW20+0.0001)*100;
VOLCONCENTRATE:=MA(VOL,5)/MA(VOL,60);
CHIPCONCENTRATE:=VOLCONCENTRATE< 0.6 AND PRICEPOS>40 AND PRICEPOS< 60;
TYPICAL:= (HIGH+LOW+CLOSE)/3;
MONEYFLOW:=TYPICAL*VOL;
POSFLOW:=IF(CLOSE>REF(CLOSE,1),MONEYFLOW,0);
NEGFLOW:=IF(CLOSE< REF(CLOSE,1),MONEYFLOW,0);
NETFLOW:=SUM(POSFLOW,MONEYPERIOD)-SUM(NEGFLOW,MONEYPERIOD);
RELNETFLOW:=NETFLOW/(SUM(MONEYFLOW,MONEYPERIOD)+0.0001)*100;
MONEYTREND:=MA(RELNETFLOW,5);
UPSTRENGTH:=SUM(IF(CLOSE>REF(CLOSE,1),CLOSE-REF(CLOSE,1),0),10);
DOWNSTRENGTH:=SUM(IF(CLOSE< REF(CLOSE,1),REF(CLOSE,1)-CLOSE,0),10);
ELASTICITY:=IF(DOWNSTRENGTH>0,UPSTRENGTH/DOWNSTRENGTH,UPSTRENGTH);
ELASTICITYMA:=MA(ELASTICITY,10);
BULLELASTIC:=ELASTICITY>ELASTICITYMA AND ELASTICITY>1.2;
SHORTUP:=CLOSE>MA(CLOSE,5);
MIDUP:=CLOSE>MA(CLOSE,20);
LONGUP:=CLOSE>MA(CLOSE,60);
BREADTH:=SHORTUP+MIDUP+LONGUP;
BULLFACTOR:= IF(MACDSTK,3,IF(MACDWEAK,1,0))+ IF(DIFF>DEA,2,0)+ IF(CLOSE>MA(CLOSE,20),2,0)+ IF(RELNETFLOW>0,2,IF(RELNETFLOW>REF(RELNETFLOW,1),1,0))+ IF(BULLELASTIC,2,0)+ IF(BREADTH>=2,1,0);
BEARFACTOR:= IF(MACDGREEN,3,IF(MACDREV,1,0))+ IF(DIFF< DEA,2,0)+ IF(CLOSE< MA(CLOSE,20),2,0)+ IF(RELNETFLOW< 0,2,IF(RELNETFLOW< REF(RELNETFLOW,1),1,0))+ IF(ELASTICITY< 0.8,2,0)+ IF(BREADTH<=1,1,0);
GAMEVALUE:=BULLFACTOR-BEARFACTOR;
GAMESIG:=EMA(GAMEVALUE,3);
HHPRICE:=HHV(CLOSE,20);
HHGAME:=HHV(GAMEVALUE,20);
TOPDIVERGE:=CLOSE>=HHPRICE AND GAMEVALUE< HHGAME*0.8 AND GAMEVALUE>0;
LLPRICE:=LLV(CLOSE,20);
LLGAME:=LLV(GAMEVALUE,20);
BOTTOmdiVERGE:=CLOSE<=LLPRICE AND GAMEVALUE>LLGAME*1.2 AND GAMEVALUE< 0;
BULLEXTREME:=GAMEVALUE>10 AND GAMEVALUE>REF(GAMEVALUE,1);
BEAREXTREME:=GAMEVALUE< -10 AND GAMEVALUE< REF(GAMEVALUE,1);
TURNBUY:=crOSS(GAMEVALUE,GAMESIG) AND GAMEVALUE< 0 AND GAMEVALUE>-6;
TURNSELL:=CROSS(GAMESIG,GAMEVALUE) AND GAMEVALUE>0 AND GAMEVALUE< 6;
STICKLINE(GAMEVALUE>=0,0,GAMEVALUE,2.5,0),COLOR0000CC;
STICKLINE(GAMEVALUE>=0,0,GAMEVALUE,1.5,0),COLOR0000FF;
STICKLINE(GAMEVALUE>=0,0,GAMEVALUE,0.5,0),COLOR6666FF;
STICKLINE(GAMEVALUE< 0,0,GAMEVALUE,2.5,0),COLOR00AA00;
STICKLINE(GAMEVALUE< 0,0,GAMEVALUE,1.5,0),COLOR00CC00;
STICKLINE(GAMEVALUE< 0,0,GAMEVALUE,0.5,0),COLOR66FF66;
GAMESIG,COLORWHITE,LINETHICK1;
0,COLORGRAY,DOTLINE;
8,COLORRED,DOTLINE;
-8,COLORGREEN,DOTLINE;
12,COLORMAGENTA,DOTLINE;
-12,COLORCYAN,DOTLINE;
DRAWICON(TURNBUY AND GAMEVALUE>-5,GAMEVALUE-0.5,1);
DRAWICON(BOTTOMDIVERGE,GAMEVALUE-0.5,1);
DRAWICON(TURNSELL AND GAMEVALUE< 5,GAMEVALUE+0.5,2);
DRAWICON(TOPDIVERGE,GAMEVALUE+0.5,2);
DRAWTEXT(TURNBUY AND GAMEVALUE>-5,GAMEVALUE-1.5,'买'),COLORYELLOW;
DRAWTEXT(BOTTOMDIVERGE,GAMEVALUE-1.5,'底背'),COLORRED;
DRAWTEXT(TURNSELL AND GAMEVALUE< 5,GAMEVALUE+1.5,'卖'),COLORGREEN;
DRAWTEXT(TOPDIVERGE,GAMEVALUE+1.5,'顶背'),COLORWHITE;
DRAWTEXT(CHIPCONCENTRATE,GAMEVALUE-2,'筹'),COLORMAGENTA;
STICKLINE(GAMEVALUE>10,GAMEVALUE,10,3,0),COLORMAGENTA;
STICKLINE(GAMEVALUE< -10,GAMEVALUE,-10,3,0),COLORCYAN;
