指标系统主要用于识别股价趋势强度、关键支撑阻力位及量能异动信号。通过多周期均线与动态成本带结合,判断当前价格所处的强弱区域;设置三道“关卡”作为阶段性压力/支撑参考,配合冲关线捕捉突破机会;同时监控成交量突增、连续放量上涨等量价行为,辅助确认启动信号。此外,还引入模拟筹码成本分布和横盘突破逻辑,用于筛选长期整理后的有效向上突破。
{ 大盘指数分析公式 - 由个股公式改编 }
{ 移除COST、WINNER、板块信息等个股专属函数 }
主升:EMA(C,10){,PRECISION2,LINEDOT},COLORGREEN,DOTLINE;
强弱分界:EMA(C,20){,PRECISION2,LINEDOT},COLORRED;
{成本带 - 改编为指数均线带}
CB1:=EMA(C,5);
CB2:=EMA(C,13);
CB3:=EMA(C,34);
CB4:=LLV(CB1,34);
CB5:=LLV(CB2,34);
CB6:=LLV(CB3,34);
CB7:=EMA(C,5);
CB8:=LLV(CB7,34);
一关:IF(CB1>CB4,CB1,CB4){,PRECISION2},COLORBLUE;
二关:IF(CB2>CB5,CB2,CB5){,PRECISION2},COLORGREEN;
三关:IF(CB3>CB6,CB3,CB6){,PRECISION2},COLORMAGENTA;
冲关:=IF(CB7>CB8,CB7,CB8),COLORF000FF,LINETHICK2;
{绘制支撑阻力带}
DRAWBAND(强弱分界,RGB(80,00,20), 主升,RGB(60,60,18));
DRAWBAND(强弱分界,RGB(30,30,0), 三关,RGB(30,30,0));
DRAWBAND(三关,RGB(60,0,0), 二关,RGB(60,0,0));
DRAWBAND(二关,RGB(90,00,20), 一关,RGB(90,00,20));
{动量与KDJ结合信号}
RM3:(REF(MA(C,3),1))*1.007,COLOR00FFFF;
K99:=((EMA(KDJ.K,3)-50)*2);
IF(K99>REF(K99,1),RM3,DRAWNULL),COLORF000FF;{红线}
IF(K99>REF(K99,1),RM3,DRAWNULL),POINTDOT,COLOR0000FF,LINETHICK3;{红点};
{量能分析 - 适用于指数}
总量:=AMOUNT,VOLSTICK;
量比:=V/REF(MA(V,5),1),COLORBROWN,NODRAW;
几倍:=1.9;
倍量量王:= 总量 >=REF(总量,1)*几倍 AND (IF(C<O,C>REF(C,1),1)),COLORYELLOW,NODRAW;
天量:=总量=HHV(总量,120), COLORRED;
量王:天量&&倍量量王&&量比>2&&(BARSCOUNT(C)+1)>120,COLORGREEN,NODRAW;
STICKLINE(量王,C,O,1,0),COLORGREEN;
{梯量3 - 适用于指数}
涨幅:=(C-REF(C,1))/REF(C,1)*100;
梯量3:=EVERY(C>O,3) AND EVERY(C>REF(C,1),2) AND EVERY(V>REF(V,1),2) AND SUM(涨幅,3)<15;
DRAWTEXT(FILTER(梯量3,2),H,'T3'),COLOR888888;
{关键百分比位}
启432:=DYNAINFO(3)*1.0432;
STICKLINE(ISLASTBAR,启432,启432,3,1),COLORFF9933;
DRAWTEXT(ISLASTBAR,启432,STRCAT('? ?',CON2STR(启432,2))),COLORFF9933;
止432:REF(C,1)*0.9568,NODRAW,COLORFF9933 ;
STICKLINE(ISLASTBAR,止432,止432,3,1),COLORFF9933;
DRAWTEXT(ISLASTBAR,止432,STRCAT('??',CON2STR(止432,2))),COLORFF9933;
{=== 大盘指数模拟成本计算 ===}
{说明:通过历史价量数据加权计算,模拟指数成本分布,避免使用个股COST函数}
N_CY:=60; {分析周期,例如60日}
{计算近期价格区间}
P_HH:=HHV(H, N_CY);
P_LL:=LLV(L, N_CY);
{简化模拟核心成本线:使用成交量加权移动平均成本 (VWAP)}
VWAP_SUM:=SUM( REF((H+L)/2, 1) * REF(V, 1), N_CY); {对(中间价*成交量)求和}
V_SUM:=SUM( REF(V, 1), N_CY); {对成交量求和}
AVG_COST:=IF(V_SUM>0, VWAP_SUM/V_SUM, (P_HH+P_LL)/2); {成交量加权平均成本}
{模拟获利比例:极致简化版,避免任何变量定义冲突}
{原理:用收盘价在近期价格区间(P_LL到P_HH)中的相对位置,近似估算获利盘比例}
STD_PRICE:=STD(C, N_CY); {价格标准差,仍用于成本通道计算}
WINNER_SIM: IF(P_HH>P_LL, (C-P_LL)/(P_HH-P_LL)*100, 50),NODRAW; {如果价格有波动,计算位置百分比;否则为50%}
{输出模拟的核心成本线与成本通道 - 使用RGB值定义颜色}
COST_MID_50: AVG_COST, RGB(0,100,0), LINETHICK2; {模拟50%平均成本线 - 深绿色}
COST_TOP_90: AVG_COST + 1.28*STD_PRICE, RGB(144,238,144), LINETHICK1; {模拟90%成本上轨 - 浅绿色}
COST_BOTTOM_10: AVG_COST - 1.28*STD_PRICE, RGB(144,238,144), LINETHICK1; {模拟10%成本下轨 - 浅绿色}
COST_TOP_95: AVG_COST + 1.65*STD_PRICE, RGB(255,0,0), LINETHICK1; {模拟95%成本上轨 - 红色}
COST_BOTTOM_5: AVG_COST - 1.65*STD_PRICE, RGB(255,0,0), LINETHICK1; {模拟5%成本下轨 - 红色}
{绘制成本通道 - 使用浅色RGB值,确保与K线重合时可读}
DRAWBAND(COST_TOP_95, RGB(160, 100, 200), COST_BOTTOM_5, RGB(160, 100, 200)); {绘制浅红色条带,模拟5%-95%核心成本区,不遮盖K线}
DRAWBAND(COST_TOP_90, RGB(0, 150, 150), COST_BOTTOM_10, RGB(0, 150, 150)); {绘制浅绿色条带,模拟10%-90%密集成本区,不遮盖K线}
{为核心线绘制一个很窄的示意条带}
MID_TOP: AVG_COST * 1.003;
MID_BOT: AVG_COST * 0.997;
DRAWBAND(MID_TOP, RGB(200, 255, 200), MID_BOT, RGB(200, 255, 200)); {绘制浅绿色窄带,突显50%平均成本线位置}
{绘制K线}
DRAWKLINE(H,O,L,C);
{在图形固定位置标注说明 - 文字颜色与线条主色对应}
DRAWTEXT_FIX(1, 0.02, 0.12, 0, '模拟成本带:'), COLORWHITE;
DRAWTEXT_FIX(1, 0.02, 0.15, 0, '红:核心区(5%-95%)'), RGB(255,0,0); {红色标注}
DRAWTEXT_FIX(1, 0.02, 0.18, 0, '浅绿:密集区(10%-90%)'), RGB(144,238,144); {浅绿色标注}
DRAWTEXT_FIX(1, 0.02, 0.21, 0, '深绿:平均成本(50%)'), RGB(0,100,0); {深绿色标注}
{=== 大盘指数模拟成本计算 结束 ===}
{横盘突破分析}
X_1:=150;
X_2:=3;
X_3:=REF(HHV(HIGH,X_1),X_2);
X_4:=REF(LLV(LOW,X_1),X_2);
X_5:=X_3-(X_3-X_4)*0.618;
X_6:=REFDATE(X_5,DATE);
横盘天数:=BARSLASTCOUNT(CLOSE<X_6),COLORGREEN;
X_7:=CROSS(CLOSE,X_6);
X_8:=横盘天数>100;
X_9:=REF(X_8,1);
X_10:=X_9 AND X_7;
X11:=BARSLAST(X_10>0);
X12:=REF(H,X11),COLOR0066BB,LINETHICK2;
X13:=CROSS(C,X12) AND C/REF(C,1)>1.007 AND X11>2;
X14:=C>X12 AND REF(L,1)<X12 AND C/REF(C,1)>1.007 AND X11>2;
X15:=X13 OR X14;
X16:=FILTER(X15,3);
X17:=C>X12 AND C/REF(C,1)>1.009;
X18:=FILTER(X17,20);
DRAWICON(X_10,L*0.99,16);
STICKLINE(X12,X12,X12,-1,0),COLORGREEN;
{显示指数信息}
DRAWTEXT_FIX(1,0.01,0.05,0,'指数:'),COLOR0066BB;
DRAWTEXT_FIX(1,0.05,0.05,0,STKNAME),COLOR0066BB;
