交易指标即自适应均线的源代码,我根据指标改良了一下交易系统,考夫曼原来是采用均线值的变化率发出买卖信号,我觉得不是很好,就用最高最低价构建了一个智能均线带,采用最低最高价突破来发出信号,大家一起探讨啊。
交易指标:
DIRECTION:=CLOSE-REF(CLOSE,N);
VOLATILITY:=SUM(ABS((CLOSE-REF(CLOSE,1))),N);
ER:=ABS(DIRECTION/VOLATILITY);
FASTSC:=2/(2 + 1);
SLOWSC:=2/(30 + 1);
SSC:=ER*(FASTSC-SLOWSC)+SLOWSC;
CONSTANT:=SSC*SSC;
AMAHIGH:REF(EMA(HIGH,N),1)+CONSTANT*(HIGH- REF(EMA(HIGH,N),1));
AMALOW:REF(EMA(LOW,N),1)+CONSTANT*(LOW- REF(EMA(LOW,N),1));
交易模型:
DIRECTION:=CLOSE-REF(CLOSE,N);
VOLATILITY:=SUM(ABS((CLOSE-REF(CLOSE,1))),N);
ER:=ABS(DIRECTION/VOLATILITY);
FASTSC:=2/(2 + 1);
SLOWSC:=2/(30 + 1);
SSC:=ER*(FASTSC-SLOWSC)+SLOWSC;
CONSTANT:=SSC*SSC;
AMAHIGH:=REF(EMA(HIGH,N),1)+CONSTANT*(HIGH- REF(EMA(HIGH,N),1));
AMACLOSE:=REF(EMA(CLOSE,N),1)+CONSTANT*(CLOSE- REF(EMA(CLOSE,N),1));
AMALOW:=REF(EMA(LOW,N),1)+CONSTANT*(LOW- REF(EMA(LOW,N),1));
LOW>AMAHIGH,BK;
CLOSE<AMACLOSE,SP;
HIGH<AMALOW,SK;
CLOSE>AMACLOSE,BP;
AMACLOSE:=REF(EMA(CLOSE,N),1)+CONSTANT*(CLOSE- REF(EMA(CLOSE,N),1));
这还不是原书中定义的自适应均线。按原书中定义,应该是:
AMA:=CONST*CLOSE+(1-CONST)*REF(AMA,1);
显然原书中的定义排除了人为的N,因此更加自然。可惜对AMA的定义需要向前引用REF(AMA,1),在文华中无法得到支持,这是文华平台需要改进的一个重大缺陷。目前还想不出如何在文华中完整实现原书中的定义。
尝试用AMA:=DMA(CLOSE, CONST); 得到的结果竟成了一直线。
如果自适应均线系统的周期N=10,那么:
1、自适应均线系统横向移动时,系统告诉你:最近的10个周期中,价格上涨的幅度和下跌的幅度基本相当,(是幅度,而不是周期数);
2、自适应均线系统向上翘起时,系统告诉你:最近10个周期中,价格上涨的幅度要大于下跌的幅度,价格逐渐进入强势的状态。
3、自适应均线系统向下垂时,系统告诉你的情形和2的情形正好相反。