策略1(原文的策略):
取10天作为计算ER的参数,计算AMA时的过程见上篇
自适应均线拐头向上时按照收盘价买入;
自适应均线拐头向下时按照收盘价卖出。
用本次ama减去上次的ama的正负来判断均线的走势,针对可能出现的错误信号加入一个安全垫,安全垫的公式如下:
Filter =percentage * stdev( ama[i] –ama[i-1], n)
即取均线增长值在n天内标准差的一个比例值,正常n取20天,percentage原文中没有提及,循环取0.1,0.2---1.0来测试。
买卖规则如下:
Ama[i] – ama[i-1]> filter or Ama[i] – ama[i-2]> filter 买入
Ama[i] – ama[i-1]< -filter or Ama[i] – ama[i-2]< -filter 卖出
策略2(普通的均线策略)
取ma10作为买卖的分水岭,当收盘价大于ma10时买入;小于ma10时卖出
买卖规则如下:
Filter =percentage * stdev( ma10[i] – ma10[i-1], 20) , 系数取值同上
Close – ma10 > filter 买入
Close – ma10 < -filter 卖出
策略3(以股价和AMA来判断)
取ama作为买卖的分水岭,当收盘价大于ama时买入;小于ama时卖出
买卖规则如下:
Filter =percentage * stdev( ama[i] – ama[i-1], n) , 系数取值同上
Close – ama > filter 买入
Close – ama < -filter 卖出
策略4(买入持有)
不做任何买卖操作
实验结果如下:
策略 |
最大收益率 |
交易次数 |
说明 |
策略1 |
219% |
100 |
计算filter的系数取0.1时效果最佳 |
策略2 |
112% |
206 |
计算filter的系数取0.9时效果最佳 |
策略3 |
157% |
146 |
计算filter的系数取0.9时效果最佳 |
策略4 |
93% |
0 |
|
查看策略1的具体买卖时点,以下5次交易获得了较大的收益:
20060825—20070202 64%,20070720—20071019 43%,19990520—1999070632%,
20090429—20090807 32%,20060315-20060609 21%
结果分析:
从上述结果可以看到, 基于原文自适应均线的交易策略,以上证综指为对象,获得了比较不错的效果, 比正常的指数收益超出126%左右,比以10日均线的买卖策略超出107%。究其原因,主要是自适应均线在保留均线策略在指数大幅下跌时能够避开主要跌幅的优势外,在牛市时不会因为暂时跌破短期均线频繁操作而减少利润。
文华财经:
已破解的交易策略源码:
DIRECTION:=CLOSE-REF(CLOSE,10);
VOLATILITY:=SUM(ABS((CLOSE-REF(CLOSE,1))),10);
ER:=ABS(DIRECTION/VOLATILITY);
FASTSC:=2/(2 + 1);
SLOWSC:=2/(30 + 1);
SSC:=ER*(FASTSC-SLOWSC)+SLOWSC;
cxh99.com:c,nodraw;
CONSTANT:=SSC*SSC;
AMAHIGH:=REF(EMA(HIGH,100),1)+CONSTANT*(HIGH- EMA(HIGH,100));
AMACLOSE:=REF(EMA(CLOSE,100),1)+CONSTANT*(CLOSE- REF(EMA(CLOSE,100),1));
AMALOW:=REF(EMA(LOW,100),1)+CONSTANT*(LOW- EMA(LOW,100));
REF(LOW>AMAHIGH,1),BK;
REF(CLOSE<AMACLOSE OR CLOSE<=0.995*BKPRICE,1),SP;
REF(HIGH<AMALOW,1),SK;
REF(CLOSE>AMACLOSE OR CLOSE>=1.005*SKPRICE,1),BP;
AUTOFILTER;
源码解析:
DIRECTION赋值:收盘价-10日前的收盘价