主图指标 通达信

今天这指标旨在打造一个去繁就简、多维共振的超级主图系统。整体架构采用模块化设计,将财务、资金、市场趋势、资金动能与形态反转多维度完美融合。通过底层算法的优化,不仅大幅提升了软件的运行效率,更确保了信号在实盘环境下的精准度与前瞻性,力求做到360度无死角的清晰盘面分析。

我完成了360度无死角的量化交易系统

我完成了360度无死角的量化交易系统

模块核心代码逻辑作用
① 财务数据层一堆 FINANCE() 函数(净利润 / 主营收入 / 净资产 / 利润同比等),÷1 亿转成 "亿元",全部 NODRAW只当数据源,不画线,供面板显示和估值计算用
② 基本信息面板(ISLASTBAR 时固定显示)所属板块(行业 / 地域 / 概念)、总股本、流通盘、流通市值、上市天数;市盈率、市净率、市销率、毛利率、净利率、现金流、同比一眼看清 "这只票是什么、贵不贵、业绩增速如何"
③ 资金流估算(右上角固定)涨停(O=C 且涨幅 > 9.8%)时全部成交额算买入;否则按 AMOUNT/((H-L)*2-ABS(O-C))*(C-L) 把成交额按收盘价在当日振幅中的位置比例估算主动买盘,再算流入 / 流出,累加出 1/3/5/10 日净流判断 "这几天有没有人真金白银在买"
④ K 线智能变色(整套公式的趋势底色)三价均价EMA(类似 KDJ 的 RSV 算法)与 权重平滑线(两段 EMA 平滑)比较:多头→K 线实体画深蓝 / 紫,空头→画橙红色系,涨停→品红一屏即知多空状态,红色系(空头)时不应激进做多
⑤ TD 序列连涨两天→TD 多计数(画蓝柱),连跌两天→TD 空计数(画黄柱),计数 1~12;出现反转(多转空 / 空转多)画青 / 绿柱DeMark 理论:计数越高越接近趋势衰竭,9~13 附近警惕转折
⑥ 趋势线与买卖点主画线 MA5(上行粉、下行绿)+ 顺势而为(20 日加权均价);文字提示:底背离(EMA3 上穿 EMA21)、顶背离(RSI>88)、∠45 强势、均线聚合突破、W 底、放量突破(20 日新高 + 1.5 倍量)、MACD 金叉(DIF>0)、KDJ 金叉(K<30)提供具体买点 / 卖点参考信号

我完成了360度无死角的量化交易系统

盘中用法要点

先看 K 线颜色定方向:紫色 / 深蓝实体(多头状态)才考虑做多信号;橙红色实体(空头状态)时以观望、减仓为主,别在红 K 里接飞刀。

红圈(红点)看多,绿圈(绿点)看空。

最后用信号 + 资金共振:出现 "聚合突破 / 放量突破 / MACD 金叉 / KDJ 金叉" 等提示时,确认 5 日均线向上、右上角净流 1/3/5/10 日为正,再考虑介入。

看基本面防踩雷:左上角面板快速扫一眼市盈率、毛利率、利润同比,规避高估值 + 业绩下滑的票。

利润总额:=FINANCE(28)/100000000,NODRAW,COLORGREEN;
主营利润:=FINANCE(21)/100000000,NODRAW,COLORCYAN;
营业利润:=FINANCE(23)/100000000,NODRAW,COLORRED;
税后利润:=FINANCE(29)/100000000,NODRAW,COLORWHITE;
未分利润:=FINANCE(31)/100000000,NODRAW,COLORMAGENTA;
净利润:=FINANCE(30)/100000000,NODRAW,COLORRED;
净资产:=FINANCE(19)/100000000,NODRAW,COLORGREEN;
主营收入:=FINANCE(20)/100000000,NODRAW,COLORRED;
季报:=FINANCE(37),NODRAW,COLORCYAN;
CXH:DRAWTEXT_FIX(1,0.52,0,0,'☆微信公众号:(程序化指标) ☆'),COLORRED;
所属板块:=STRCAT('所属板块: ',STRCAT(STRCAT(STRCAT('[行业]-',HYBLOCK),STRCAT(' [地域]-',DYBLOCK)),STRCAT(' [概念]-',GNBLOCK)));
总股本:=STRCAT(STRCAT('总股本: ',CON2STR(TOTALCAPITAL/1000000,2)),'亿');
流通盘:=STRCAT(STRCAT(' 流通盘: ',CON2STR(CAPITAL/1000000,2)),'亿');
全流通:=STRCAT(' 全流通: ',CON2STR((CAPITAL/1000000)/(TOTALCAPITAL/1000000),2));
流通市值:=STRCAT(STRCAT(' 流通市值: ',CON2STR((CAPITAL/1000000)*C,2)),'亿');
上市天数:=STRCAT(' 上市天数: ',CON2STR(FINANCE(42),0));
股本市值:=STRCAT('股本市值: ',STRCAT(STRCAT(STRCAT(STRCAT(总股本,流通盘),全流通),流通市值),上市天数));
主收同比:=STRCAT(' 主收同比: ',CON2STR(FINANCE(44),2));
市盈率:=STRCAT('市盈率: ',CON2STR(C/FINANCE(33),2));
市销率:=STRCAT(' 市销率: ',CON2STR(C/(FINANCE(20)/FINANCE(1)),2));
市净率:=STRCAT(' 市净率: ',CON2STR(C/FINANCE(34),2));
毛利率:=STRCAT(' 毛利率: ',CON2STR((FINANCE(20)-FINANCE(21))/FINANCE(20)*100,2));
净利润率:=STRCAT(' 净利润率: ',CON2STR(FINANCE(30)/FINANCE(20)*100,2));
现金流:=STRCAT(' 现金流: ',CON2STR(FINANCE(25)/FINANCE(1),2));
利润同比:=STRCAT(' 利润同比: ',CON2STR(FINANCE(43),2));
净资收益率:=STRCAT(' 净资收益率: ',CON2STR(FINANCE(29)/FINANCE(19)*100,2));
主营利润率:=STRCAT(' 主营利润率 ',CON2STR(FINANCE(23)/FINANCE(20)*100,2));
当前业绩:=STRCAT('当前业绩: ',STRCAT(STRCAT(净资收益率,毛利率),主营利润率));
DRAWTEXT_FIX(ISLASTBAR,0.005,0.00,0,所属板块),COLORYELLOW;
DRAWTEXT_FIX(ISLASTBAR,0.005,0.06,0,股本市值),COLORGREEN;
DRAWTEXT_FIX(ISLASTBAR,0.005,0.12,0,当前业绩),COLORGREEN;
DRAWTEXT_FIX(ISLASTBAR,0.003,0.26,0,市盈率);
DRAWTEXT_FIX(ISLASTBAR,0,0.31,0,市销率);
DRAWTEXT_FIX(ISLASTBAR,0,0.36,0,市净率);
DRAWTEXT_FIX(ISLASTBAR,0,0.41,0,毛利率);
DRAWTEXT_FIX(ISLASTBAR,0,0.46,0,现金流);
DRAWTEXT_FIX(ISLASTBAR,0.1,0.26,0,主收同比);
DRAWTEXT_FIX(ISLASTBAR,0.1,0.31,0,净利润率);
DRAWTEXT_FIX(ISLASTBAR,0.1,0.36,0,利润同比);
买入金额:=IF(O=C AND (C/REF(C,1)-1)*100>9.8,AMOUNT,AMOUNT/((H-L)*2-ABS(O-C))*(C-L));
买入占比:=买入金额/AMOUNT*100;
资金流入:=AMOUNT*买入占比/10000000000;
资金流出:=AMOUNT/100000000-资金流入;
净流1日:=(资金流入-资金流出);
净流3日:=SUM(资金流入-资金流出,3);
净流5日:=SUM(资金流入-资金流出,5);
净流10日:=SUM(资金流入-资金流出,10);
DRAWTEXT_FIX(1,0.71,0.07,0,'净流(亿):'),COLOR8080FF,COLORWHITE;
DRAWTEXT_FIX(1,0.78,0.05,0,'1日'),COLOR8080FF,COLORWHITE;
DRAWTEXT_FIX(1,0.83,0.05,0,'3日'),COLOR8080FF,COLORWHITE;
DRAWTEXT_FIX(1,0.88,0.05,0,'5日'),COLOR8080FF,COLORWHITE;
DRAWTEXT_FIX(1,0.93,0.05,0,'10日'),COLOR8080FF,COLORWHITE;
DRAWNUMBER_FIX(1,0.78,0.10,0,CONST(净流1日)),COLORYELLOW;
DRAWNUMBER_FIX(1,0.83,0.10,0,CONST(净流3日)),COLORYELLOW;
DRAWNUMBER_FIX(1,0.88,0.10,0,CONST(净流5日)),COLORYELLOW;
DRAWNUMBER_FIX(1,0.93,0.10,0,CONST(净流10日)),COLORYELLOW;
程序化指标:MA(C,5);六价均价:=(3*C+O+H+L)/6;
顺势而为:=WMA(六价均价,20);
TD多条件:=C>REF(C,1) AND C>REF(C,2);
TD空条件:=C=1 AND TD多计数<=12,C,REF(C,1),3,1),COLOR0000FF;
STICKLINE(TD空计数>=1 AND TD空计数<=12,C,REF(C,1),3,1),COLORFFFF00;
TD多转空:=REF(TD空计数>=1 AND TD空计数<=12,1) AND TD多条件;
TD空转多:=REF(TD多计数>=1 AND TD多计数<=12,1) AND TD空条件;
STICKLINE(TD多转空,REF(C,1),REF(C,2),3,0),COLOR00FFFF;
STICKLINE(TD空转多,REF(C,1),REF(C,2),3,0),COLOR00FF00;
三价均价EMA:=EMA(((2*C+H+L)/4-LLV(L,5))/(HHV(H,5)-LLV(L,5))*100,4);
权重平滑线:=EMA((0.667*REF(三价均价EMA,1))+(0.333*三价均价EMA),2);
STICKLINE(三价均价EMA>=权重平滑线,C,O,3,0)+CXH,COLOR000033;
STICKLINE(三价均价EMA>=权重平滑线,C,O,2,0)+CXH,COLOR000077;
STICKLINE(三价均价EMA>=权重平滑线,C,O,1,0)+CXH,COLOR0000BB;
STICKLINE(三价均价EMA>=权重平滑线,H,L,0,0)+CXH,COLOR9900FF;
STICKLINE(权重平滑线>三价均价EMA,C,O,3,0)+CXH,COLORF22200;
STICKLINE(权重平滑线>三价均价EMA,C,O,2,0)+CXH,COLORF55500;
STICKLINE(权重平滑线>三价均价EMA,C,O,1,0)+CXH,COLORF99900;
STICKLINE(权重平滑线>三价均价EMA,H,L,0,0)+CXH,COLORFFFF00;
STICKLINE((C-REF(C,1))/REF(C,1)>=0.099,C,O,3,1),COLORMAGENTA;
IF(程序化指标>REF(程序化指标,1),程序化指标,DRAWNULL),COLORFF00FF,LINETHICK2;
IF(程序化指标顺势而为,顺势而为,DRAWNULL),CIRCLEDOT,COLOR000080,LINETHICK2;
典型价:=(H+L+C)/3;DRAWKLINE(HIGH,OPEN,LOW,CLOSE);
RSI指标:=SMA(MAX(C-REF(C,1),0),3,1)/SMA(ABS(C-REF(C,1)),3,1)*100;
EMA3:=EMA(C,3); EMA21:=EMA(C,21);
DRAWTEXT(CROSS(EMA3,EMA21),L,'底背离'),COLOR00FF00;
DRAWTEXT(CROSS(88,RSI指标),H,'顶背离'),DRAWABOVE,COLORFFFFFF;
十三日趋势角:=ATAN(EMA(典型价,13)-REF(EMA(典型价,13),1))*3.1416*10;
EMA8:=EMA(C,8);
DRAWTEXT(FILTER(十三日趋势角>1 AND EMA(典型价,13)>REF(EMA(典型价,8),1),10),EMA8,'∠45'),COLORFFFFFF;
MA5:=MA(C,5); MA10:=MA(C,10);
均线聚合:=HHV(ABS(MA5-MA10),10)<0.5 AND CROSS(MA5,MA10);
DRAWTEXT(FILTER(均线聚合,5),L*0.98,'聚合突破'),COLORYELLOW;
W底:=REF(L,1)>REF(L,2) AND L>REF(L,1) AND C>REF(H,1);
DRAWTEXT(FILTER(W底,5),L*0.96,'W底'),COLORRED;
箱体突破:=CROSS(C,REF(HHV(H,20),1)) AND V>REF(V,1)*1.5;
DRAWTEXT(FILTER(箱体突破,5),L*0.94,'放量突破'),COLORMAGENTA;
DIF:=EMA(C,12)-EMA(C,26); DEA:=EMA(DIF,9);
MACD金叉:=CROSS(DIF,DEA) AND DIF>0;
DRAWTEXT(FILTER(MACD金叉,5),L,'MACD金叉'),COLORCYAN;
RSV:=(C-LLV(L,9))/(HHV(H,9)-LLV(L,9))*100;
K1:=SMA(RSV,3,1); D2:=SMA(K1,3,1);
KDJ金叉:=CROSS(K1,D2) AND K1<30;
DRAWTEXT(FILTER(KDJ金叉,5),L,'KDJ金叉'),COLORGREEN;