编程思路破译 DIFF赋值:收盘价的12日指数移动平均-收盘价的26日指数移动平均 DEA赋值:DIFF的9日指数移动平均 MACD赋值:2*(DIFF-DEA) FH1赋值:1日前的MACD<2日前的MACD AND 2日前的MACD<3日前的MACD AND 3日前的MACD<4日前的MACD FH2赋值:MACD>=0 AND 统计1日中满足MACD>1日前的MACD的天数=1 FH3赋值:收盘价的30日指数移动平均>=1日前的收盘价的30日指数移动平均 AND 统计1日中满足收盘价的5日指数移动平均>收盘价的10日指数移动平均ANDEMA(收盘价,10)>收盘价的30日指数移动平均的天数=1 FH4赋值:收盘价上穿收盘价的30日指数移动平均 OR 收盘价>收盘价的30日指数移动平均 FH5赋值:FH1 AND FH2 AND FH3 AND FH4 FH6赋值:FH1 AND FH2 AND FH3 AND FH4 AND (DIFF-DEA)/收盘价的绝对值<0.018 FH7赋值:FH1 AND FH2 AND FH3 AND FH4 AND MACD<0.10 输出买进:FH5 OR FH6 OR FH7 条件选股:二次翻红之买进[日线]成功率测试 测试股票数:5190 共发出信号:187276 成功信号:84227 失败信号:102364 未完成信号:685 信号发出率:93.95% 平均成功率:45.14% 成功率达到50%的股票数有:38.86% 利润1总平均:14.34% 最大平均利润1: 220.21% 最小平均利润1: 0.00% 利润2总平均:0.37% 最大平均利润2: 142.17% 最小平均利润2: -34.45% 程序源码 DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26); DEA:=EMA(DIFF,9); MACD:=2*(DIFF-DEA); FH1:=REF(MACD,1)<REF(MACD,2) AND REF(MACD,2)<REF(MACD,3) AND REF(MACD,3)<REF(MACD,4); FH2:=MACD>=0 AND COUNT(MACD>REF(MACD,1),1)=1; FH3:=EMA(C,30)>=REF(EMA(C,30),1) AND COUNT(EMA(C,5)>EMA(C,10) AND EMA(C,10)>EMA(C,30),1)=1; FH4:=CROSS(C,EMA(C,30)) OR C>EMA(C,30); FH5:=FH1 AND FH2 AND FH3 AND FH4; FH6:=FH1 AND FH2 AND FH3 AND FH4 AND ABS((DIFF-DEA)/C)<0.018; FH7:=FH1 AND FH2 AND FH3 AND FH4 AND MACD<0.10; 买进:FH5 OR FH6 OR FH7; 注: 馆内各种公式为学习编程而保存,实战使用前一定要看其中是否有未来函数并自己亲自测试成功率,决不能依据公式名称的描述和形容去投资,据此入市造成投资损失由投资者自己承担。 发文不易,如获益,欢迎赞赏,赞赏必复! |
|