收集:中国股票市场经济分析网


   指标的变形和深化

指标的变形和深化
本来准备写传统指标改造二,但写着写着发现思路和进程已不能用改造两字形容了,因为我发现在对传统指标的改造过程中,传统指标带我走到了一个新天地,于是我把传统指标改造的名字换了,叫做变形和深化。
有人说编指标是打仗,用函数,理论和自己的聪明才智和阻挠你发现自然规律的神秘力量作战,有人说编指标是开药方,阴阳搭配,药到病除,我觉得编指标是对自己思维的一次否定和一次重新建立,然后再提升的过程,这个过程是一个痛苦而又快乐的过程,很多人希望从这个过程中获得财富,我的想法是先体会过程本身的快乐吧!
闲话说了不少,进入正题了:

一 asi指标的简介和特点
asi指标是welles wilder所创的,他的本意是用股市中最高,最低,收盘和开盘四个数据构筑一条能真实反映市场运动的线,在飞狐中他的算法是:

LC:=REF(CLOSE,1);
AA:=ABS(HIGH-LC);
BB:=ABS(LOW-LC);
CC:=ABS(HIGH-REF(LOW,1));
DD:=ABS(LC-REF(OPEN,1));
R:=IF(AA>BB AND AA>CC,AA+BB/2+DD/4,IF(BB>CC AND BB>AA,BB+AA/2+DD/4,CC+DD/4));
X:=(CLOSE-LC+(CLOSE-OPEN)/2+LC-REF(OPEN,1));
SI:=16*X/R*MAX(AA,BB);
ASI:SUM(SI,0);

正统的算法是:

a1:=abs(h-ref(c,1));
b1:=abs(l-ref(c,1));
c1:=abs(h-ref(l,1));
d1:=abs(ref(c,1)-ref(o,1));
e1:=c-ref(c,1);
f1:=c-o;
g1:=ref(c,1)-ref(o,1);
x:=e1+0.5*f1+g1;
k:=max(a1,b1);
r:=if(a1>b1 and a1>c1,a1+0.5*b1+0.25*d1,if(b1>a1 and b1>c1,b1+0.5*a1+0.25*d1,c1+0.25*d1));
l1:=3;
si:=16*(x/r)*(k/l1);
asi:=sum(si,0);
大同小异,形态看基本一样,只是数值不同,于是我在下面的变化中用的是飞狐的算法。

对造k线看(图1),asi的形态和大多时候的k线是一样的,仅凭一条上下跑的线我们很难判断,即使是书上讲的作者的用法,内似obv N字转向的方法,跌破新低或涨上新高也很难判断。在我看来,顶底背离有时可以看一下。


但asi有个很好的优点,这也是我们改造他的一个重要依据,就是asi很灵敏,有时甚至提前或与股价同时判断出低或高点。图2。就是由于这一特点的存在,使得我们下几步变化得以展开。

二 一般的变化


首先我的要求是要看的明确,起码要看的清位置,指示,最起码的要求也应该是有方便之处,循这这条思路我把他的参数首先优化了一下:图3
我们可以看到,优化后线的变化更加灵敏,更加活跃。优化后源码:

1:=abs(h-ref(c,1));
b1:=abs(l-ref(c,1));
c1:=abs(h-ref(l,1));
d1:=abs(ref(c,1)-ref(o,1));
e1:=c-ref(c,1);
f1:=c-o;
g1:=ref(c,1)-ref(o,1);
x:=e1+0.5*f1+g1;
k:=max(a1,b1);
r:=if(a1>b1 and a1>c1,a1+0.5*b1+0.25*d1,if(b1>a1 and b1>c1,b1+0.5*a1+0.25*d1,c1+0.25*d1));
l1:=3;
si:=16*(x/r)*(k/l1);
asi:=sum(si,20);
就是把sum这一句的参数改了一下。

改成这样,我还是不满意,想到要加一条线看金叉死叉多好!
很简单的办法就是平均,平滑,用不同周期的线组成系统的上下看金叉死叉:
图4,非常灵敏,比同图的macd早一天,跟中期kd同一天指示。
源码:

LC:=REF(CLOSE,1);
AA:=ABS(HIGH-LC);
BB:=ABS(LOW-LC);
CC:=ABS(HIGH-REF(LOW,1));
DD:=ABS(LC-REF(OPEN,1));
R:=IF(AA>BB AND AA>CC,AA+BB/2+DD/4,IF(BB>CC AND BB>AA,BB+AA/2+DD/4,CC+DD/4));
X:=(CLOSE-LC+(CLOSE-OPEN)/2+LC-REF(OPEN,1));
SI:=16*X/R*MAX(AA,BB);
ASI:=SUM(SI,20);
asi1:100*wma(asi,10) linethick1;
asi2:100*wma(asi,3)linethick1;

不过灵敏与迟钝是个矛盾,太灵敏的指标虽然上涨时指示的早,但他在上涨途中不断出现的神经质似的金叉死叉信号着实很讨厌,迟钝的指示虽然克服了这些问题,但指示时间过晚有很容易买点指到了头部。图5


克服这一问题的方法我一般就是加线,缩小金叉的条件。
这个公式中我加了一条算术平均线和几何平均线,看四条线的排列,有的金叉虽然差了,看四条线的排列不对不算,或者如果股价没动,多等一天,看看以后的走势。图6。
一下是我加的源码:

LC:=REF(CLOSE,1);
AA:=ABS(HIGH-LC);
BB:=ABS(LOW-LC);
CC:=ABS(HIGH-REF(LOW,1));
DD:=ABS(LC-REF(OPEN,1));
R:=IF(AA>BB AND AA>CC,AA+BB/2+DD/4,IF(BB>CC AND BB>AA,BB+AA/2+DD/4,CC+DD/4));
X:=(CLOSE-LC+(CLOSE-OPEN)/2+LC-REF(OPEN,1));
SI:=16*X/R*MAX(AA,BB);
ASI:=SUM(SI,20);
asi1:100*wma(asi,10) linethick1;
asi2:100*wma(asi,3)linethick1;
pp:(if(asi1>0 and asi2>0,pow(abs(asi1*asi2),0.5),-pow(abs(asi1*asi2),0.5)))linethick1;
qq:(asi1+asi2)/2 linethick1

在这里pp是几何平均pp等于根号a×b,qq是算术平均,qq=a加b的和除以2。pp和qq只有a和b相等是才相等,
其他情况下不等,他们两条线的运动可以看出a和b之间现对关系。
这里我发现了飞狐pow函数的一个bug,pow函数不能开负数的奇次方,比如-125的1/3次方等于-5,而飞狐的pow一概为负1,有兴趣的朋友可以试一试。

[1] [2] 下一页

发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口


相关内容


  • 上一篇教程:
  • 下一篇教程: