论坛有一种不好的风气,就是动不动就把公式加密或限时,更有的是只发图不发原码,本来就是一个相互学习和探讨的地方,还搞得那么神秘,!!天下散户是一家啊,有这么必要吗?
我不在乎回不回贴和加不加分,喜欢就下!还有一个更优化的版本,对回贴和加分的才用短信来给(我不一定在线,但回贴的肯定会给).哈哈,搞搞新意思,只此一回,敬请版主和朋友们原谅!!
(原来版本:
http://www.chcj.net/thread-1115807-1-1.html;
自己专辑贴:
http://www.chcj.net/viewthread.p ... age%3D1#pid19253847)
优化版将下周一前在专辑里公布,96楼以上的朋友将一一短信发送
============
input:n1(5,0,30);
rc:=DYNAINFO( 3);
s2:=sma(c,2,1);
s6:=sma(c,6,1);
dk:=2*(s2-s6);
STICKLINE(dk>0,rc,rc+dk,0,1),COLORRED;
STICKLINE(dk<0,rc,rc+dk,0,1),COLORCYAN;
ma13:=ma(c,13),COLORMAGENTA;
ma34:=ma(c,34),COLORGREEN;
ma55:=ma(c,55),COLORCYAN,linethick2;
DRAWICON(cross(ma13,ma55) and ma34>ref(ma34,1) and ma55>ref(ma55,1) and ma55>ma34 ,ma55,1);
XG1:llv(l,30),COLORCYAN,linethick2;
xg2:hhv(ma(h,3),10),COLORMAGENTA,linethick2;
XG:HHV(H,480),POINTDOT,COLORgreen;
STICKLINE(FILTER(CROSS(C,REF(XG,1)),10) AND C>REF(XG,1),C*0.99,C,8,0),COLORGREEN;
if datatype>=0 then exit;
////////****** 计算指标变换所需的公共数据 *******
rc:=DYNAINFO(3);//前收
q:=datacount;
hh:=DYNAINFO(5);//最高
LL:=DYNAINFO(6);//最低
f:=max(hh-rc,rc-LL);
ff:=f/rc*100;//最大半振幅
////////////////////////////////////////////////////////////////
////////****** ㈠副图1叠加大盘分时线******(共3个步骤完成指标变换)
//副图1变换所需数据
q1h:=if(ff<1,0.9898*rc,rc-f*1.02);//分时副图1最高位置
q1l:=if(ff<1,0.9798*rc,rc-2*f*1.016);//分时副图1最低位置,同时也是分时副图2最高位置
//①以下计算大盘分时线的最大、最小值
R:=INDEXC;
Rh:=hhv(r,0);//最大值
RL:=LLv(r,0);//最小值
//②计算缩放比例、平移值
Rb:=(q1h-q1l)/(RH[q]-RL[q]);//缩放比例
Ry:=(q1h+q1l-rb*(RH[q]+RL[q]))/2;//平移值
//③变换原来的大盘分时到分时副图1
msd:r*rb+ry,COLORMAGENTA,LINETHICK2;//在分时副图1,显示变换后的大盘分时
////////////////////////////////////////////////////////////////
LC := REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),14,1)/SMA(ABS(CLOSE-LC),14,1)*100;
R1:=rsi;
Rh1:=hhv(r1,0);//最大值
RL1:=LLv(r1,0);//最小值
Rb1:=(q1h-q1l)/(RH1[q]-RL1[q]);//缩放比例
Ry1:=(q1h+q1l-rb1*(RH1[q]+RL1[q]))/2;//平移值
rsi14:r1*rb1+ry1,COLORGREEN,LINETHICK2;
////////******** ㈡在副图2叠加macd ********
//副图2变换所需数据
q2h:=if(ff<1,0.9797*rc,rc-2*f*1.016);//分时副图2最高位置
q2l:=if(ff<1,0.9697*rc,rc-3*f*1.011);//分时副图2最低位置
//以下清除原始的指标线,并画横坐标线
FILLRGN(1,q2h,q2l),colorblack;
cz:=(q2h-q2l)/10;
q2l,POINTDOT,,COLORWHITE;
q2l+2*cz,POINTDOT,color0000cc;
q2l+5*cz,POINTDOT,color0000cc;
q2l+8*cz,POINTDOT,color0000cc;
a1:="macd.diff";
a2:="macd.dea";
a3:="macd.macd";
mh:=hhv(max(a1,a3),0);
mL:=LLv(min(a3,a1),0);
mb:=(q2h-q2l)/(mH[q]-mL[q]);
my:=(q2h+q2l-mb*(mH[q]+mL[q]))/2;
diff:a1*mb+my,COLORWHITE,LINETHICK2;
dea:a2*mb+my,COLORYELLOW,LINETHICK2;
macd:=a3*mb+my;
STICKLINE(macd>my,my,macd,1,1),COLORGRAY;
STICKLINE(macd<my,my,macd,1,1),COLORGRAY;
压力: HHV(MA(diff,3),13),COLORGREEN;
支撑:llV(MA(dea,3),13),COLORRED;
AA:=REF(diff,N1)=HHV(diff,2*N1+1);
BB:=BACKSET(AA,N1+1);
CC:=FILTER(BB,N1) AND diff=HHV(diff,N1+1);
A1:=BARSLAST(REF(CC,1));
顶背离:=REF(H,A1+1)<H AND REF(diff,A1+1)>diff AND CC;
DRAWTEXT(顶背离,diff*1,'顶背离'),COLORGREEN;
DRAWLINE(CC,diff,FILTER(顶背离>0,5),diff,0),COLORBROWN;
DRAWICON(顶背离,diff,2);
AA2:=REF(diff,N1)=LLV(diff,2*N1+1);
BB2:=BACKSET(AA2,N1+1);
CC2:=FILTER(BB2,N1) AND diff=LLV(diff,N1+1);
A2:=BARSLAST(REF(CC2,1));
底背离:=REF(L,A2+1)>L AND REF(diff,A2+1)<diff AND CC2;
DRAWTEXT(底背离,diff*1,'底背离'),COLORYELLOW;
DRAWLINE(CC2,diff,FILTER(底背离>0,5),diff,0),COLORBROWN;
DRAWICON(底背离,diff,1);
VAR1:=(CLOSE-MA(CLOSE,21))/MA(CLOSE,21)*100;
VAR2:=(CLOSE-LLV(LOW,43))/(HHV(HIGH,43)-LLV(LOW,43))*100;
VAR3:=SMA(VAR2,2,1);
趋势:=SMA(VAR3,2,1);
aA1:=趋势;
mh1:=hhv(max(aa1,1),0);
mL1:=LLv(min(1,aa1),0);
mb1:=(q2h-q2l)/(mH1[q]-mL1[q]);
my1:=(q2h+q2l-mb1*(mH1[q]+mL1[q]))/2;
cs:aa1*mb1+my1,COLORCYAN,LINETHICK2;
========================================
[
本帖最后由 cnjt2006 于 2008-6-15 17:03 编辑 ]