综合多因子量化分析指标系统

Viewed 6

{ 多因子量化分析系统 }

{ ========== 多因子参数设置 ========== }
趋势周期:=34; { 趋势因子周期 }
动量周期:=13; { 动量因子周期 }
波动周期:=20; { 波动率因子周期 }
量能周期:=5; { 成交量因子周期 }
均线周期:=20; { 均线因子周期 }

{ ========== 因子1:趋势因子(原核心算法) ========== }
VARA:=(2CLOSE+HIGH+LOW)/4;
VARB:=LLV(LOW,趋势周期);
VARC:=HHV(HIGH,趋势周期);
趋势值:=EMA((VARA-VARB)/(VARC-VARB)100,动量周期);
趋势信号:=EMA(0.667REF(趋势值,1)+0.333趋势值,2);
趋势因子:=趋势值;

{ ========== 因子2:动量因子 ========== }
动量因子:=EMA(CLOSE/REF(CLOSE,5)-1,动量周期)*100;
动量强度:=ABS(动量因子);

{ ========== 因子3:波动率因子 ========== }
TR:=MAX(MAX(HIGH-LOW,ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:=MA(TR,波动周期);
波动因子:=ATR/CLOSE*100;
波动等级:=IF(波动因子>REF(波动因子,5),1,IF(波动因子<REF(波动因子,5),-1,0));

{ ========== 因子4:成交量因子 ========== }
量比:=VOL/REF(MA(VOL,量能周期),1);
量能因子:=IF(量比>1.5,2,IF(量比>1.2,1,IF(量比<0.8,-1,0)));
量价配合:=IF(CLOSE>REF(CLOSE,1) AND 量比>1.2,1,IF(CLOSE<REF(CLOSE,1) AND 量比>1.2,-1,0));

{ ========== 因子5:均线系统因子 ========== }
MA5:=MA(CLOSE,5);
MA10:=MA(CLOSE,10);
MA20:=MA(CLOSE,20);
均线排列:=IF(MA5>MA10 AND MA10>MA20,2,IF(MA5<MA10 AND MA10<MA20,-2,0));
均线位置:=CLOSE/MA20*100-100;

{ ========== 因子6:RSI相对强度因子 ========== }
LC:=REF(CLOSE,1);
RSI1:=SMA(MAX(CLOSE-LC,0),6,1)/SMA(ABS(CLOSE-LC),6,1)*100;
RSI因子:=IF(RSI1<30,1,IF(RSI1>70,-1,0));

{ ========== 因子7:MACD动量因子 ========== }
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD因子:=IF(DIF>DEA,1,IF(DIF<DEA,-1,0));

{ ========== 多因子综合评分系统 ========== }
综合得分:=趋势因子0.3 + 动量因子0.2 + 量能因子0.15 + 均线排列0.15 + RSI因子0.1 + MACD因子0.1;
多空决策:=IF(综合得分>20,2,IF(综合得分>10,1,IF(综合得分<-20,-2,IF(综合得分<-10,-1,0))));

{ ========== 可视化显示 ========== }

{ 1. 综合评分柱状图 }
STICKLINE(综合得分>0,50,50+综合得分/2,6,0),COLORRED;
STICKLINE(综合得分<0,50,50+综合得分/2,6,0),COLORGREEN;

{ 2. 多空决策信号 }
做多信号:=多空决策>=1 AND 趋势值<70;
做空信号:=多空决策<=-1 AND 趋势值>30;

STICKLINE(做多信号,80,90,4,0),COLORRED;
STICKLINE(做空信号,10,20,4,0),COLORGREEN;

DRAWICON(做多信号,85,1);
DRAWICON(做空信号,15,2);

DRAWTEXT(做多信号,95,'综合做多'),COLORRED;
DRAWTEXT(做空信号,5,'综合做空'),COLORGREEN;

{ 3. 各因子状态显示 }
DRAWTEXT_FIX(1,0.02,0.15,0,'趋势因子:'+NUMTOSTR(趋势因子,1)),COLORLIGRAY;
DRAWTEXT_FIX(1,0.02,0.20,0,'动量因子:'+NUMTOSTR(动量因子,1)),COLORLIGRAY;
DRAWTEXT_FIX(1,0.02,0.25,0,'量能因子:'+NUMTOSTR(量能因子,1)),COLORLIGRAY;
DRAWTEXT_FIX(1,0.02,0.30,0,'综合得分:'+NUMTOSTR(综合得分,1)),COLORWHITE;
DRAWTEXT_FIX(1,0.02,0.35,0,'多空决策:'+NUMTOSTR(多空决策,0)),IF(多空决策>0,COLORRED,IF(多空决策<0,COLORGREEN,COLORWHITE));

{ 4. 关键水平线 }
100,COLORGRAY;
80,COLORGRAY;
50,COLORWHITE;
20,COLORGRAY;
0,COLORGRAY;
0 Answers