通达信〖情绪周期〗多因子情绪评分系统指标公式源码

该公式为多因子情绪评分系统,综合评估市场情绪强弱。
功能:
- 计算均线形态、涨跌家数、个股强度、量能、资金流向、波动6个维度的得分。
- 汇总为0-100的“情绪总分”,并划分冰点、谨慎、中性震荡、偏热、过热5个区间。
- 在图表上显示当前情绪分数及对应状态文字。
使用方法:
- 直接加载至副图,观察“情绪总分”数值及色带。
- 低于20分(冰点)可关注超跌反弹机会;高于80分(过热)需警惕回调风险。
- 结合K线形态及成交量,辅助判断买卖时机。
 

MA5:=MA(C,5);
MA10:=MA(C,10);
MA20:=MA(C,20);
多头完美:=C>MA5 AND MA5>MA10 AND MA10>MA20;
多头弱势:=MA5>MA10 AND MA10>MA20 AND C<=MA5;
伪多头:=MA5>MA10 AND MA10< MA20;
均线粘合:=(MAX(MA5,MAX(MA10,MA20))-MIN(MA5,MIN(MA10,MA20)))/MA20< 0.02;
MA得分:IF(多头完美,20,IF(多头弱势,15,IF(伪多头,8,IF(均线粘合,5,0)))),NODRAW;
总家数:=ADVANCE+DECLINE;
上涨比例:=IF(总家数>0, ADVANCE/总家数*100, 50);
广度A:=IF(上涨比例>=70,10,IF(上涨比例>=60,7,IF(上涨比例>=50,5,IF(上涨比例>=40,3,IF(上涨比例>=30,1,0)))));
AD趋势:=IF(ADVANCE>MA(ADVANCE,5), 10, IF(ADVANCE< MA(ADVANCE,5), 3, 5));
指数涨幅:=(C-REF(C,1))/REF(C,1)*100;
广度C:=IF(指数涨幅>2, 5, IF(指数涨幅>1, 3, IF(指数涨幅>0, 1, 0)));
广度得分:广度A + AD趋势 + 广度C, NODRAW;
日内位:=IF(H=L, 50, (C-L)/(H-L)*100);
强度A:=IF(日内位>=90,5,IF(日内位>=65,4,IF(日内位>=40,3,IF(日内位>=20,2,0))));
距高点P:=(C-HHV(H,20))/HHV(H,20)*100;
强度B:=IF(距高点P>=0,10,IF(距高点P>=-2,8,IF(距高点P>=-5,6,IF(距高点P>=-10,4,IF(距高点P>=-15,2,0)))));
收盘得分:强度A + 强度B, NODRAW;
量比:=V/MA(V,20);
量能A:=IF(量比>=2.5,10,IF(量比>=2,9,IF(量比>=1.5,7,IF(量比>=1.2,5,IF(量比>=0.8,4,IF(量比>=0.6,2,0))))));
连续放量:=V>REF(V,1) AND REF(V,1)>REF(V,2) AND REF(V,2)>REF(V,3);
量能B:=IF(连续放量,5,0);
量能得分:量能A + 量能B, NODRAW;
MFV:=IF(H=L,0, ((C-L)-(H-C))/(H-L)*V);
CMF:=SUM(MFV,20)/SUM(V,20);
资金A:=IF(CMF>=0.3,10,IF(CMF>=0.05,7,IF(CMF>=-0.05,4,IF(CMF>=-0.3,1,0))));
CMF向上:=CMF>REF(CMF,1);
资金B:=IF(CMF向上 AND CMF>0,10, IF(CMF>0,6, IF(CMF向上,3, 0)));
CMF得分:资金A + 资金B, NODRAW;
振幅:=(H-L)/REF(C,1)*100;
波动A:=IF(振幅>5,3,IF(振幅>2,2,IF(振幅>1,1,0)));
向上跳空:=L>REF(H,1);
波动B:=IF(向上跳空,2,0);
波动得分:波动A + 波动B, NODRAW;
总分:=MA得分+广度得分+收盘得分+量能得分+CMF得分+波动得分;
情绪总分:MIN(100,总分),COLORWHITE,LINETHICK2;
STICKLINE(情绪总分< 20, 0, 20, 4, 0), COLOR001500;
STICKLINE(情绪总分>80, 80, 100, 4, 0), COLOR150000;
冰点线:20,COLORGREEN,DOTLINE;
中轴线:50,COLORGRAY,DOTLINE;
过热线:80,COLORRED,DOTLINE;
DRAWTEXT_FIX(ISLASTBAR,0.9,0,0,STRCAT(STRCAT('当前情绪: ',CON2STR(情绪总分,0)),'分')),COLORWHITE;
DRAWTEXT_FIX(ISLASTBAR AND 情绪总分< 20, 0.9, 0.1, 0, ' 冰点'),COLORGREEN;
DRAWTEXT_FIX(ISLASTBAR AND 情绪总分>=20 AND 情绪总分< 40, 0.9, 0.1, 0, ' 谨慎'),COLORCYAN;
DRAWTEXT_FIX(ISLASTBAR AND 情绪总分>=40 AND 情绪总分< 60, 0.9, 0.1, 0, ' 中性震荡'),COLORYELLOW;
DRAWTEXT_FIX(ISLASTBAR AND 情绪总分>=60 AND 情绪总分< 80, 0.9, 0.1, 0, ' 偏热'),COLORRED;
DRAWTEXT_FIX(ISLASTBAR AND 情绪总分>=80, 0.9, 0.1, 0, ' 过热'),COLORLIRED;








来函数检测结果如下
该公式没有未来函数


定制、编写公式指标请联系QQ或微信同号:88652583


MA5赋值:收盘价的5日简单移动平均
MA10赋值:收盘价的10日简单移动平均
MA20赋值:收盘价的20日简单移动平均
多头完美赋值:收盘价>MA5 AND MA5>MA10 AND MA10>MA20
多头弱势赋值:MA5>MA10 AND MA10>MA20 AND 收盘价<=MA5
伪多头赋值:MA5>MA10 AND MA10< MA20
均线粘合赋值:(MA5和MA10和MA20的较大值的较大值-MA5和MA10和MA20的较小值的较小值)/MA20< 0.02
输出MA得分:如果多头完美,返回20,否则返回如果多头弱势,返回15,否则返回如果伪多头,返回8,否则返回如果均线粘合,返回5,否则返回0,NODRAW
总家数赋值:上涨家数+下跌家数
上涨比例赋值:如果总家数>0,返回上涨家数/总家数*100,否则返回50
广度A赋值:如果上涨比例>=70,返回10,否则返回如果上涨比例>=60,返回7,否则返回如果上涨比例>=50,返回5,否则返回如果上涨比例>=40,返回3,否则返回如果上涨比例>=30,返回1,否则返回0
AD趋势赋值:如果上涨家数>上涨家数的5日简单移动平均,返回10,否则返回如果上涨家数<上涨家数的5日简单移动平均,返回3,否则返回5
指数涨幅赋值:(收盘价-1日前的收盘价)/1日前的收盘价*100
广度C赋值:如果指数涨幅>2,返回5,否则返回如果指数涨幅>1,返回3,否则返回如果指数涨幅>0,返回1,否则返回0
输出广度得分:广度A + AD趋势 + 广度C, NODRAW
日内位赋值:如果最高价=最低价,返回50,否则返回(收盘价-最低价)/(最高价-最低价)*100
强度A赋值:如果日内位>=90,返回5,否则返回如果日内位>=65,返回4,否则返回如果日内位>=40,返回3,否则返回如果日内位>=20,返回2,否则返回0
距高点P赋值:(收盘价-20日内最高价的最高值)/20日内最高价的最高值*100
强度B赋值:如果距高点P>=0,返回10,否则返回如果距高点P>=-2,返回8,否则返回如果距高点P>=-5,返回6,否则返回如果距高点P>=-10,返回4,否则返回如果距高点P>=-15,返回2,否则返回0
输出收盘得分:强度A + 强度B, NODRAW
量比赋值:成交量(手)/成交量(手)的20日简单移动平均
量能A赋值:如果量比>=2.5,返回10,否则返回如果量比>=2,返回9,否则返回如果量比>=1.5,返回7,否则返回如果量比>=1.2,返回5,否则返回如果量比>=0.8,返回4,否则返回如果量比>=0.6,返回2,否则返回0
连续放量赋值:成交量(手)>1日前的成交量(手) AND 1日前的成交量(手)>2日前的成交量(手) AND 2日前的成交量(手)>3日前的成交量(手)
量能B赋值:如果连续放量,返回5,否则返回0
输出量能得分:量能A + 量能B, NODRAW
MFV赋值:如果最高价=最低价,返回0,否则返回((收盘价-最低价)-(最高价-收盘价))/(最高价-最低价)*成交量(手)
CMF赋值:MFV的20日累和/成交量(手)的20日累和
资金A赋值:如果CMF>=0.3,返回10,否则返回如果CMF>=0.05,返回7,否则返回如果CMF>=-0.05,返回4,否则返回如果CMF>=-0.3,返回1,否则返回0
CMF向上赋值:CMF>1日前的CMF
资金B赋值:如果CMF向上ANDCMF>0,返回10,否则返回如果CMF>0,返回6,否则返回如果CMF向上,返回3,否则返回0
输出CMF得分:资金A + 资金B, NODRAW
振幅赋值:(最高价-最低价)/1日前的收盘价*100
波动A赋值:如果振幅>5,返回3,否则返回如果振幅>2,返回2,否则返回如果振幅>1,返回1,否则返回0
向上跳空赋值:最低价>1日前的最高价
波动B赋值:如果向上跳空,返回2,否则返回0
输出波动得分:波动A + 波动B, NODRAW
总分赋值:MA得分+广度得分+收盘得分+量能得分+CMF得分+波动得分
输出情绪总分:100和总分的较小值,画白色,线宽为2
当满足条件情绪总分<20时,在0和20位置之间画柱状线,宽度为4,0不为0则画空心柱., COLOR001500
当满足条件情绪总分>80时,在80和100位置之间画柱状线,宽度为4,0不为0则画空心柱., COLOR150000
输出冰点线:20,画绿色,DOTLINE
输出中轴线:50,画深灰色,DOTLINE
输出过热线:80,画红色,DOTLINE
当满足条件是否最后一个周期时,在横轴0.9纵轴0位置书写文字,画白色
当满足条件ISLASTBARAND情绪总分<20时,在横轴0.9纵轴0.1位置书写文字,画绿色
当满足条件ISLASTBARAND情绪总分>=20AND情绪总分<40时,在横轴0.9纵轴0.1位置书写文字,画青色
当满足条件ISLASTBARAND情绪总分>=40AND情绪总分<60时,在横轴0.9纵轴0.1位置书写文字,画黄色
当满足条件ISLASTBARAND情绪总分>=60AND情绪总分<80时,在横轴0.9纵轴0.1位置书写文字,画红色
当满足条件ISLASTBARAND情绪总分>=80时,在横轴0.9纵轴0.1位置书写文字,画淡红色
定制、找人做指标公式联系我们
  • QQ:88652583
  • 邮箱:88652583@qq.com
  • 工作时间:7:30-21:00
  • 微信:88652583或扫描如下二维码
指标公式网微信联系方式
月度排行
季度排行
半年排行


指标安装下载帮助  -   联系我们  -  乐淘公式网  -  公式网   -  指标公式  -   免责声明  -   隐私政策  -   加入收藏   

@2005-2025 粤ICP备2025457605号-2 乐淘公式网公式网均来源互联网收集整理,如不慎侵犯了你的权益,请联系我们告知,我们将做删除处理
免责声明:乐淘公式网所有指标公式及文章由网络收集,不保障实时性和真实性, 仅供学习研究并不构成投资建议,请勿以此为依据进行股票交易,由此引起的投资亏损与本站无关。
QQ:88652583 微信 88652583
sitemap站点地图