{完全避免RSI函数,使用其他动量表达方式}
{========== 第一部分:趋势判定 ==========}
EMA5周 := EMA(C, 5);
EMA10周 := EMA(C, 10);
EMA20周 := EMA(C, 20);
EMA60周 := EMA(C, 60);
趋势多头 := C > EMA5周 AND EMA5周 > EMA10周 AND EMA10周 > EMA20周;
生命线上 := C > EMA20周 AND EMA20周 > EMA60周;
{========== 第二部分:动量与强度(替代方案)==========}
{替代RSI的方法:用价格相对于均线的位置表达强度}
{1. 价格在EMA20上方的幅度}
强度1 := (C / EMA20周 - 1) * 100;
动量健康1 := 强度1 > 5 AND 强度1 < 30; {股价在20周线上方5%-30%}
{2. 近期涨幅动量}
周涨幅 := (C / REF(C, 1) - 1) * 100;
涨幅动量 := 周涨幅 > 5 AND 周涨幅 < 20;
{3. 周K线实体强度}
周阳线 := C > O;
实体强度 := (C - O) / O * 100 > 3;
{========== 第三部分:形态与位置 ==========}
近期高点 := HHV(H, 20);
是否突破 := C >= 近期高点 AND REF(C, 1) < REF(近期高点, 1);
周量比 := V / MA(V, 10);
放量突破 := 周量比 > 1.2;
{========== 第四部分:风险过滤 ==========}
非ST股 := NOT(NAMELIKE('ST')) AND NOT(NAMELIKE('*ST')) AND NOT(NAMELIKE('S'));
非停牌 := DYNAINFO(4) > 0;
非科创北交 := NOT(CODELIKE('688')) AND NOT(CODELIKE('8'));
上市时间 := BARSCOUNT(C) > 60;
周成交额 := AMOUNT / 100000000;
流动性好 := 周成交额 > 1;
市盈率正 := DYNAINFO(39) > 0 AND DYNAINFO(39) < 100;
非巨亏 := FINANCE(30) > 0;
{========== 综合选股条件 ==========}
选股条件 := 趋势多头 AND 生命线上
AND 动量健康1 AND 涨幅动量
AND 周阳线 AND 实体强度
AND 是否突破 AND 放量突破
AND 非ST股 AND 非停牌 AND 非科创北交 AND 上市时间
AND 流动性好
AND 市盈率正 AND 非巨亏;
XG:选股条件;