编程思路破译: M1赋值:收盘价的5日简单移动平均 M2赋值:收盘价的10日简单移动平均 M3赋值:收盘价的20日简单移动平均 M4赋值:收盘价的60日简单移动平均 DT赋值:(((((M1 > M4) AND (M1 > 1日前的M1)) AND (M2 > 1日前的M2)) AND (M3 > 1日前的M3)) AND (M4 > 1日前的M4)) VAR326赋值:如果(收盘价>1日前的收盘价),返回88,否则返回0 VAR327赋值:如果((((收盘价/1日前的收盘价)>1.05)AND((最高价/收盘价)<1.01))AND(VAR326>0)),返回99,否则返回0 QJ赋值:(VAR327>1)的5日过滤 VAR3AA赋值:如果(收盘价>1日前的收盘价),返回88,否则返回0 VAR4AA赋值:如果((((收盘价/1日前的收盘价)>1.05)AND((最高价/收盘价)<1.01))AND(VAR3AA>0)),返回91,否则返回0 SI赋值:(VAR4AA>90)的45日过滤 A01赋值:1日前的收盘价 A02赋值:收盘价 A03赋值:(((A02 - A01) / A01) * 100) QMX赋值:(A03 - 1日前的A03) QJQM赋值:((QJ OR SI) AND (QMX > 4.5)) CC01赋值:((((((2*收盘价)+最高价)+最低价)/4)-收盘价的20日简单移动平均)的绝对值 / 收盘价的20日简单移动平均) DD01赋值:以CC01为权重收盘价的动态移动平均 M赋值:7 TD3赋值:((1 + (M / 100)) * DD01) JD1赋值:(((((TD3/1日前的TD3)-1)*100)的反正切 * 57.3) > 30) 输出JD:((DT AND QJQM) AND ((收盘价 > 0) AND JD1)) 条件选股:短线多头追涨[日线]成功率测试 测试股票数:5005 共发出信号:71277成功信号:39352失败信号:31456未完成信号:469 信号发出率:85.93%平均成功率:55.58%成功率达到50%的股票数有:65.71% 利润1总平均:16.24%最大平均利润1: 147.64% 最小平均利润1: 0.00% 利润2总平均:0.05%最大平均利润2: 108.03% 最小平均利润2: -44.16% 程序源码: M1:=MA(CLOSE,5); M2:=MA(CLOSE,10); M3:=MA(CLOSE,20); M4:=MA(CLOSE,60); DT:=(((((M1 > M4) AND (M1 > REF(M1,1))) AND (M2 > REF(M2,1))) AND (M3 > REF(M3,1))) AND (M4 > REF(M4,1))); VAR326:=IF((CLOSE > REF(CLOSE,1)),88,0); VAR327:=IF(((((CLOSE / REF(CLOSE,1)) > 1.05) AND ((HIGH / CLOSE) < 1.01)) AND (VAR326 > 0)),99,0); QJ:=FILTER((VAR327 > 1),5); VAR3AA:=IF((CLOSE > REF(CLOSE,1)),88,0); VAR4AA:=IF(((((CLOSE / REF(CLOSE,1)) > 1.05) AND ((HIGH / CLOSE) < 1.01)) AND (VAR3AA > 0)),91,0); SI:=FILTER((VAR4AA > 90),45); A01:=REF(C,1); A02:=CLOSE; A03:=(((A02 - A01) / A01) * 100); QMX:=(A03 - REF(A03,1)); QJQM:=((QJ OR SI) AND (QMX > 4.5)); CC01:=(ABS((((((2 * CLOSE) + HIGH) + LOW) / 4) - MA(CLOSE,20))) / MA(CLOSE,20)); DD01:=DMA(CLOSE,CC01); M:=7; TD3:=((1 + (M / 100)) * DD01); JD1:=((ATAN((((TD3 / REF(TD3,1)) - 1) * 100)) * 57.3) > 30); JD:((DT AND QJQM) AND ((C > 0) AND JD1)); |
|