抓timing 发表于 2025-10-30 13:13

市场情绪与温度综合指标

{================================}
{   市场情绪与温度综合指标       }
{================================}

{输入参数}
N:=20;

{=== 市场温度指标 - 压缩到0~100范围内 ===}
DRAWGBK(1,RGB(254,0,0),RGB(0,0,254),0,'BKG_BNP',0);

UP:="880005$CLOSE";
TOTAL:="880005$HIGH";

{将市场温度指标压缩到0~100范围内}
UP压缩:UP/TOTAL*100; {将上涨家数转换为百分比}
TOTAL压缩:100; {总家数对应100%}

NOTEXT6:UP压缩,COLORWHITE; {压缩后的上涨家数百分比}
上涨家数显示:UP压缩,CIRCLEDOT,COLORYELLOW;
市场温度值:ROUND(UP压缩),NODRAW,COLORRED; {直接用压缩后的值}
温度:DRAWNULL,COLORRED;

{=== 情绪指标 ===}
{涨停情绪因子}
涨停估算:COUNT(CLOSE/REF(CLOSE,1)>=1.095 AND VOL>0,0);
涨停基准:MA(涨停估算,N);
涨停得分:IF(涨停估算>涨停基准*1.3,15,
         IF(涨停估算>涨停基准*1.1,10,
         IF(涨停估算<涨停基准*0.7,-10,
         IF(涨停估算<涨停基准*0.9,-5,5))));

{资金情绪因子 - 基准不显示}
成交额:=AMOUNT/10000;
成交额基准:MA(成交额,N),NODRAW;
资金得分:IF(成交额>成交额基准*1.5,20,
         IF(成交额>成交额基准*1.2,15,
         IF(成交额<成交额基准*0.6,-15,
         IF(成交额<成交额基准*0.8,-10,5))));

{广度情绪因子 - 使用市场温度数据}
广度得分:IF(市场温度值>70,20,
         IF(市场温度值>60,15,
         IF(市场温度值<30,-15,
         IF(市场温度值<40,-10,5))));

{量能情绪因子}
成交量比:=VOL/MA(VOL,5);
量能得分:IF(成交量比>1.3,15,
         IF(成交量比>1.1,10,
         IF(成交量比<0.7,-10,
         IF(成交量比<0.9,-5,5))));

{综合情绪得分 - 确保在0~100范围内}
情绪分:MIN(100,MAX(0,涨停得分+资金得分+广度得分+量能得分+50));

{情绪等级}
等级分:IF(情绪分>=80,6,IF(情绪分>=70,5,IF(情绪分>=60,4,IF(情绪分>=40,3,IF(情绪分>=30,2,1)))));

{=== 副图显示 ===}
{市场温度线 - 在0~100范围内}
温度线:市场温度值,COLORWHITE,LINETHICK2;

{情绪分时线 - 也在0~100范围内}
情绪线:情绪分,COLORYELLOW,LINETHICK2;
{参考线 - 只保留关键阈值}
零轴:50,COLORWHITE,DOTLINE;
高温线:70,COLORRED,DOTLINE;
低温线:30,COLORGREEN,DOTLINE;

{预警信号}
强势预警:CROSS(情绪分,70) OR CROSS(市场温度值,70),COLORRED;
弱势预警:CROSS(30,情绪分) OR CROSS(30,市场温度值),COLORGREEN;


艾崧 发表于 2025-10-30 22:28

谢谢老师的分享
页: [1]
查看完整版本: 市场情绪与温度综合指标