{ 专业多因子决策系统 - 最终完全兼容版 }
{ ========== 因子权重配置 ========== }
权重_趋势:=0.25; { 趋势强度 }
权重_动量:=0.20; { 价格动量 }
权重_量能:=0.15; { 成交量 }
权重_均线:=0.15; { 均线系统 }
权重_超买超卖:=0.10; { RSI指标 }
权重_波动:=0.10; { 波动率 }
权重_形态:=0.05; { K线形态 }
{ ========== 因子1:趋势因子 ========== }
趋势值:=(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34))100;
趋势平滑:=EMA(趋势值,13);
趋势因子:=(趋势平滑-50)/50100;
{ ========== 因子2:动量因子 ========== }
ROC5:=(CLOSE-REF(CLOSE,5))/REF(CLOSE,5)*100;
ROC10:=(CLOSE-REF(CLOSE,10))/REF(CLOSE,10)*100;
动量因子:=EMA((ROC5+ROC10)/2,5)*10;
{ ========== 因子3:量能因子 ========== }
VMA5:=MA(VOL,5);
VMA20:=MA(VOL,20);
量能比:=VOL/VMA20;
量能因子:=IF(量能比>1.5,2,IF(量能比>1.2,1,IF(量能比<0.8,-1,0)))*20;
{ ========== 因子4:均线系统因子 ========== }
MA5:=MA(CLOSE,5);
MA10:=MA(CLOSE,10);
MA20:=MA(CLOSE,20);
均线多头:=COUNT(MA5>MA10 AND MA10>MA20,3)=3;
均线空头:=COUNT(MA5<MA10 AND MA10<MA20,3)=3;
均线因子:=IF(均线多头,25,IF(均线空头,-25,0));
{ ========== 因子5:超买超卖因子 ========== }
LC:=REF(CLOSE,1);
RSI6:=SMA(MAX(CLOSE-LC,0),6,1)/SMA(ABS(CLOSE-LC),6,1)*100;
超买超卖因子:=IF(RSI6<30,15,IF(RSI6>70,-15,0));
{ ========== 因子6:波动率因子 ========== }
波动率:=STD(CLOSE,20)/MA(CLOSE,20)*100;
波动因子:=IF(波动率>REF(波动率,5),-10,IF(波动率<REF(波动率,5),10,0));
{ ========== 因子7:形态因子 ========== }
连续上涨:=COUNT(CLOSE>REF(CLOSE,1),3)=3;
连续下跌:=COUNT(CLOSE<REF(CLOSE,1),3)=3;
形态因子:=IF(连续上涨,5,IF(连续下跌,-5,0));
{ ========== 综合评分 ========== }
综合评分:=趋势因子权重_趋势 +
动量因子权重_动量 +
量能因子权重_量能 +
均线因子权重_均线 +
超买超卖因子权重_超买超卖 +
波动因子权重_波动 +
形态因子*权重_形态;
{ ========== 决策等级 ========== }
决策等级:=IF(综合评分>60,3, { 强烈做多 }
IF(综合评分>40,2, { 做多 }
IF(综合评分>20,1, { 观望偏多 }
IF(综合评分<-60,-3, { 强烈做空 }
IF(综合评分<-40,-2, { 做空 }
IF(综合评分<-20,-1, { 观望偏空 }
0)))))); { 中性 }
{ ========== 可视化显示 ========== }
{ 1. 综合评分仪表盘 }
STICKLINE(综合评分>0,0,综合评分,8,0),COLORRED;
STICKLINE(综合评分<0,0,综合评分,8,0),COLORGREEN;
{ 2. 决策信号 }
强烈做多:=决策等级=3;
做多:=决策等级=2;
偏多:=决策等级=1;
强烈做空:=决策等级=-3;
做空:=决策等级=-2;
偏空:=决策等级=-1;
{ 信号柱 }
STICKLINE(强烈做多,80,90,6,0),COLORMAGENTA;
STICKLINE(做多,70,80,6,0),COLORRED;
STICKLINE(偏多,60,70,4,0),COLORYELLOW;
STICKLINE(偏空,30,40,4,0),COLORYELLOW;
STICKLINE(做空,20,30,6,0),COLORGREEN;
STICKLINE(强烈做空,10,20,6,0),COLORBLUE;
{ 信号文字 }
DRAWTEXT(强烈做多,95,'强烈做多'),COLORMAGENTA;
DRAWTEXT(做多,85,'做多'),COLORRED;
DRAWTEXT(偏多,75,'偏多'),COLORYELLOW;
DRAWTEXT(偏空,45,'偏空'),COLORYELLOW;
DRAWTEXT(做空,35,'做空'),COLORGREEN;
DRAWTEXT(强烈做空,25,'强烈做空'),COLORBLUE;
{ 3. 修正的数值显示 - 分开处理不同颜色的数值 }
{ 显示综合评分 }
DRAWNUMBER(ISLASTBAR AND 综合评分>0,100,综合评分,1),COLORRED;
DRAWNUMBER(ISLASTBAR AND 综合评分<0,100,综合评分,1),COLORGREEN;
DRAWNUMBER(ISLASTBAR AND 综合评分=0,100,综合评分,1),COLORWHITE;
{ 显示决策等级 }
DRAWNUMBER(ISLASTBAR AND 决策等级>0,95,决策等级,0),COLORRED;
DRAWNUMBER(ISLASTBAR AND 决策等级<0,95,决策等级,0),COLORGREEN;
DRAWNUMBER(ISLASTBAR AND 决策等级=0,95,决策等级,0),COLORYELLOW;
{ 标签显示 }
DRAWTEXT(ISLASTBAR,102,'综'),COLORGRAY;
DRAWTEXT(ISLASTBAR,97,'决'),COLORGRAY;