IF CODELIKE('399')=0 AND CODELIKE('000001')=0 THEN DRAWTEXT_FIX(ISLASTBAR, 0.25,0.01,0,'地域'+': '+ BLOCK(2, 8)),Colorred;
IF CODELIKE('399')=0 AND CODELIKE('000001')=0 THEN DRAWTEXT_FIX(ISLASTBAR, 0.25,0.06,0,'行业'+': '+ BLOCK(0, 8)),Colorred;
IF CODELIKE('399')=0 AND CODELIKE('000001')=0 THEN DRAWTEXT_FIX(ISLASTBAR, 0.25,0.11,0,'细分行业'+': '+ BLOCK(1, 8)),Colorred;
IF CODELIKE('399')=0 AND CODELIKE('000001')=0 THEN DRAWTEXT_FIX(ISLASTBAR, 0.25,0.16,0,'概念题材'+': '+ BLOCK(3, 8)),Colorred;
IF CODELIKE('399')=0 AND CODELIKE('000001')=0 THEN DRAWTEXT_FIX(ISLASTBAR, 0.25,0.36,0,'流通市值'+': '+TOSTRING(SHGZG*C/100000000,1)+'亿 '),Colorred;
IF CODELIKE('399')=0 AND CODELIKE('000001')=0 THEN DRAWTEXT_FIX(ISLASTBAR, 0.25,0.41,0,'1:当下市场氛围;2: 是否是主流;3:是否在压力位'),colorred;
// 第二行:全市场上涨家数(用STKCOUNT函数,兼容所有版本)
IF CODELIKE('399')=0 AND CODELIKE('000001')=0 THEN
DRAWTEXT_FIX(ISLASTBAR, 0.25,0.50,0,'上涨家数: '+RISECOUNT),Colorred;
// 1. 竞价数据计算与显示(金额、手数)
S1 := BARSLAST(FORMATTIME(1) = 1); // 计算距离最近开盘竞价的周期
竞额 := REF(MONEYFS, S1) / 10000; // 竞价金额(万元)
竞量 := REF(VOL, S1) / 100; // 竞价手数(手)
// 显示竞价金额(右下角)
DRAWTEXT_FIX(ISLASTBAR, 0.65, 0.90, 0, "竞价金额:" + TOSTRING(竞额, 1) + '万'), coloryellow;
// 显示竞价手数(右下角,稍上位置)
DRAWTEXT_FIX(ISLASTBAR, 0.65, 0.84, 0, "竞价手数:" + TOSTRING(竞量, 0) + '手'), coloryellow;
// 2. 全市场涨跌家数及涨停跌停统计
上涨家数 := INDEXDATA("1A0002", &RISECOUNT) + INDEXDATA("399002", &RISECOUNT); // 沪市+深市上涨家数
下跌家数 := INDEXDATA("1A0002", &FALLCOUNT) + INDEXDATA("399002", &FALLCOUNT); // 沪市+深市下跌家数
涨停 := INDEXDATA("1A0002", &RISELIMITCOUNT) + INDEXDATA("399002", &RISELIMITCOUNT); // 沪市+深市涨停家数
跌停 := INDEXDATA("1A0002", &FALLLIMITCOUNT) + INDEXDATA("399002", &FALLLIMITCOUNT); // 沪市+深市跌停家数
// 显示上涨及涨停数据(右侧中间)
涨 := "涨:" + 上涨家数 + "涨停(" + 涨停 + ")";
DRAWTEXT_FIX(ISLASTBAR, 0.85, 0.65, 0, 涨), colorred;
// 显示下跌及跌停数据(右侧中间,稍下位置)
跌 := "跌:" + 下跌家数 + "跌停(" + 跌停 + ")";
DRAWTEXT_FIX(ISLASTBAR, 0.85, 0.70, 0, 跌), colorgreen;
// 3. 市值及股本数据显示
// 流通股(亿股)
DRAWTEXT_FIX(1, 0.85, 0.80, 0, '流通股:' + TOSTRING(SHGZG / 100000000, 2) + '亿股'), coloryellow;
// 实际股本(亿股)
DRAWTEXT_FIX(1, 0.85, 0.85, 0, '实际股:' + TOSTRING(ZYLTGB / 100000000, 2) + '亿股'), colormagenta;
// 流通市值(亿元)
DRAWTEXT_FIX(1, 0.85, 0.90, 0, '流通市值:' + TOSTRING(LTSZ / 100000000, 2) + "亿"), coloryellow;
// 实际市值(亿元)
自由市值 := TOSTRING(NEW * ZYLTGB / 100000000, 2);
DRAWTEXT_FIX(ISLASTBAR, 0.85, 0.95, 0, "实际市值:" + TOSTRING(自由市值, 0) + '亿'), coloryellow;
// 4. 财务数据显示(净利润、每股收益)
DRAWTEXT_FIX(1, 0.85, 0.20, 0, '净利润:' + TOSTRING(JYLX, 0) + ''), colorcyan; // 净利润
DRAWTEXT_FIX(1, 0.85, 0.24, 0, '每股收益:' + TOSTRING(MGSYX, 0) + '元'), colorcyan; // 每股收益
// 5. 换手及成交数据显示
换手 := TOSTRING(V / ZYLTGB * 100, 2); // 真实换手率(%)
DRAWTEXT_FIX(ISLASTBAR, 0.25, 0.90, 0, "真实换手:" + TOSTRING(换手, 0) + '%'), colorcyan;
// 实时成交额(亿元)
成交 := TOSTRING(MONEY / 100000000, 2);
DRAWTEXT_FIX(ISLASTBAR, 0.39, 0.90, 0, "实时成交:" + TOSTRING(成交, 0) + '亿'), colorlired;
// 6. 板块信息显示(地域、概念、行业)
DRAWTEXT_FIX(1, 0.65, 0.95, 0, '地域:' + BLOCK(2, 0)), colorred; // 地域板块
DRAWTEXT_FIX(1, 0.25, 0.65, 0, '概念:' + BLOCK(3, 5)), colormagenta; // 概念板块(前5个)
DRAWTEXT_FIX(1, 0.25, 0.95, 0, '行业:' + BLOCK(0, 0) + '/' + BLOCK(1, 0)), colorred; // 行业板块
// 7. 最新价及均价计算
最新: IF(ISNULL(NEW), PRE, NEW); // 最新价(兼容无最新价时显示昨收)
// 均价计算(复杂条件判断,按市场类型区分)
IF (ISNULL(RANGE_AVG_PRICE) OR RANGE_AVG_PRICE <= 0) THEN
BEGIN
IF (MARKETTYPE == 232 OR MARKETTYPE == 56 OR MARKETTYPE == 64 OR MARKETTYPE == 128
OR MARKETTYPE == 80 OR MARKETTYPE == 88 OR (VOL > 1 AND VOL < 100)) THEN
BEGIN
b = SUBSAMEDAY(&VOL); // 分时成交量
m = SUM(b * 最新, 0); // 累计成交额
均价: IF(m > 0, m / VOL, PRE); // 均价=累计成交额/总成交量
END
ELSE IF (CODETYPE != 0 AND MONEY > 0 AND MARKETTYPE != 48) THEN
BEGIN
IF (ISNULL(MONEY) OR ISNULL(VOL) OR VOL == 0 OR MONEY == 0) THEN
均价: PRE; // 异常情况显示昨收
ELSE IF (VOL == VOL[1] OR MONEY == MONEY[1]) THEN
均价: 均价[1]; // 成交量/金额未变时沿用前一均价
ELSE
均价: MONEY / VOL; // 正常情况均价=成交额/成交量
END
ELSE IF (MARKETTYPE == 176) THEN
BEGIN
b = SUBSAMEDAY(&MONEY); // 分时成交额
m = SUM(b * 最新, 0); // 累计计算
IF (m > 0) THEN
均价: m / MONEY; // 特定市场类型的均价计算
END
END
ELSE
BEGIN
均价: RANGE_AVG_PRICE; // 直接使用区间均价(若有效)
END;
RETURN;
hx_star;
hx_star_p;
浙公网安备 33010602011771号