编程思路破译 能抓所有赋值:(收盘价的12日指数移动平均 - 收盘价的26日指数移动平均) 龙头股赋值:能抓所有的9日指数移动平均 专选龙头股赋值:(2 * (能抓所有 - 龙头股)) 选股公式赋值:能抓所有上穿0 UD0赋值:0上穿能抓所有 VDDD1赋值:上次选股公式距今天数 VDDD2赋值:上次UD0距今天数 VDDD3赋值:1日前的选股公式 VDDD4赋值:1日前的UD0 TVDDD3赋值:上次VDDD3距今天数 TVDDD4赋值:上次VDDD4距今天数 UDGLINE赋值:如果(TVDDD3<TVDDD4),返回TVDDD3日前的2日内最高价的最高值,否则返回TVDDD4日前的2日内最低价的最低值 VDDD5赋值:(((1日前的收盘价 <= 1日前的UDGLINE) AND (收盘价 > UDGLINE)) AND (VDDD1 < VDDD2)) HHFFD0赋值:(((1日前的收盘价 >= 1日前的UDGLINE) AND (收盘价 < UDGLINE)) AND (VDDD2 < VDDD1)) JDU1赋值:(VDDD5 AND (统计VDDD1日中满足VDDD5的天数 = 1)) HHFFD1赋值:(HHFFD0 AND (统计VDDD2日中满足HHFFD0的天数 = 1)) DEFUT赋值:上次专选龙头股上穿0距今天数 DEFDT赋值:上次0上穿专选龙头股距今天数 DEFUL赋值:如果(专选龙头股>=0),返回(DEFUT+1)日内专选龙头股的最高值,否则返回(DEFDT+1)日前的(DEFUT+1)日内专选龙头股的最高值 DEFU2L赋值:(DEFUT+1)日前的DEFUL 输出EESS1:((((HHFFD1 OR (上次JDU1距今天数 > 上次HHFFD1距今天数)) AND (专选龙头股 >= 0)) AND (1日前的专选龙头股 < 1日前的DEFU2L)) AND (专选龙头股 > DEFU2L)) 程序源码 能抓所有:=(EMA(CLOSE,12) - EMA(CLOSE,26)); 龙头股:=EMA(能抓所有,9); 专选龙头股:=(2 * (能抓所有 - 龙头股)); 选股公式:=CROSS(能抓所有,0); UD0:=CROSS(0,能抓所有); vddd1:=BARSLAST(选股公式); vddd2:=BARSLAST(UD0); vddd3:=REF(选股公式,1); vddd4:=REF(UD0,1); Tvddd3:=BARSLAST(vddd3); Tvddd4:=BARSLAST(vddd4); UDGLINE:=IF((Tvddd3 < Tvddd4),REF(HHV(HIGH,2),Tvddd3),REF(LLV(LOW,2),Tvddd4)); vddd5:=(((REF(CLOSE,1) <= REF(UDGLINE,1)) AND (CLOSE > UDGLINE)) AND (vddd1 < vddd2)); hhffd0:=(((REF(CLOSE,1) >= REF(UDGLINE,1)) AND (CLOSE < UDGLINE)) AND (vddd2 < vddd1)); JDU1:=(vddd5 AND (COUNT(vddd5,vddd1) = 1)); hhffd1:=(hhffd0 AND (COUNT(hhffd0,vddd2) = 1)); DEFUT:=BARSLAST(CROSS(专选龙头股,0)); DEFDT:=BARSLAST(CROSS(0,专选龙头股)); DEFUL:=IF((专选龙头股 >= 0),HHV(专选龙头股,(DEFUT + 1)),REF(HHV(专选龙头股,(DEFUT + 1)),(DEFDT + 1))); DEFU2L:=REF(DEFUL,(DEFUT + 1)); eess1:((((hhffd1 OR (BARSLAST(JDU1) > BARSLAST(hhffd1))) AND (专选龙头股 >= 0)) AND (REF(专选龙头股,1) < REF(DEFU2L,1))) AND (专选龙头股 > DEFU2L)); 注: 馆内各种公式为学习编程而保存,实战使用前一定要看其成功率回测数据和风险提示或者自己亲自测试近期成功率,决不能依据公式名称的描述和形容去投资,据此入市造成投资损失由投资者自己承担。 发文不易,如获益,欢迎赞赏,赞赏必复! |
|