原设想用“数据周期类型函数”来自动适应分析周期,编写后还是有难度,三个源码,各有所长,各有所短,抛砖引玉,以求完善,谢谢各位朋友指教!
(修改涨跌停的计算,增加了对“*ST”.“ST”股票的判断)
为便于分析,暂不叠加成交量。
实时图1(多周期)
复制内容到剪贴板
代码:
zs:=DYNAINFO( 3);
PARTLINE(c>0,zs),COLORGRAY,POINTDOT;
dk:=(SMA(C,2,1)-SMA(C,6,1))*2;
r:=OPENMINUTES(TIME);
jj1:=SUM(C*V,r)/SUM(V,r);
STICKLINE(dk>0 and jj1>0,zs,ZS+dk,0.1,0),Color5050FF;
STICKLINE(dk<=0 and jj1>0,zs,ZS+dk,0.1,0),ColorCyan;
最新:c,LINETHICK0,PRECISION2;
涨跌:c-zs,LINETHICK0,Color5050FF,PRECISION2;
涨幅:(c/zs-1)*100,LINETHICK0,COLORWHITE,PRECISION2;
均价:if(jj1>0 ,jj1,zs) ,COLORYELLOW,PRECISION2,LINETHICK0;
PARTLINE(jj1>0,均价)COLORYELLOW,LINETHICK1;
jj:=SUM(C*V,0)/SUM(V,0);
均价1:if(jj>0,jj,zs)COLORWHITE,PRECISION2;
量:v,LINETHICK0,COLORYELLOW;
总手:sum(v,r),LINETHICK0,COLORCYAN,PRECISION0;
zs1:=ref(c,r);
ST1:=STRNCMP(STKNAME, '*ST', 3)=0;
ST:=STRNCMP(STKNAME, 'ST', 2)=0;
涨停:if(st=1 or st1=1,zs1*1.05,zs1*1.1),LINETHICK0,PRECISION2,Color5050FF;
跌停:if(st=1 or st1=1,zs1*0.95,zs1*0.9),LINETHICK0,PRECISION2,COLORCYAN;
PARTLINE(c>REF(C,1),c)Color5050FF;
PARTLINE(c<REF(C,1),c)COLORCYAN;
PARTLINE(c=REF(C,1),c)COLORWHITE;实时图2
复制内容到剪贴板
代码:
r:=OPENMINUTES(TIME);
zs:=ref(c,r);
jj:=SUM(C*V,r)/SUM(V,r)LINETHICK0;
PARTLINE(r>1,zs),COLORGRAY,POINTDOT;
VERTLINE(r=1)COLORBROWN,POINTDOT;
dk:=(SMA(C,2,1)-SMA(C,6,1))*2,LINETHICK0;
STICKLINE(dk>0and jj>0 ,zs,ZS+dk,0.1,0),Color5050FF;
STICKLINE(dk<=0and jj>0 ,zs,ZS+dk,0.1,0),ColorCyan;
最新:c,LINETHICK0,PRECISION2;
涨跌:c-zs,LINETHICK0,Color5050FF,PRECISION2;
涨幅:(c/zs-1)*100,LINETHICK0,COLORWHITE,PRECISION2;
均价:if(jj>0,jj,最新) ,COLORYELLOW,PRECISION2,LINETHICK0;
PARTLINE(jj>0,均价)COLORYELLOW,LINETHICK1;
量:v,LINETHICK0,COLORWHITE;
总手:sum(v,r),LINETHICK0,COLORCYAN,PRECISION0;
ST1:=STRNCMP(STKNAME, '*ST', 3)=0;
ST:=STRNCMP(STKNAME, 'ST', 2)=0;
涨停:if(st=1 or st1=1,zs*1.05,zs*1.1),LINETHICK0,PRECISION2,Color5050FF;
跌停:if(st=1 or st1=1,zs*0.95,zs*0.9),LINETHICK0,PRECISION2,COLORCYAN;
PARTLINE(c>REF(C,1)and r>1,c)Color5050FF;
PARTLINE(c<REF(C,1)and r>1,c)COLORCYAN;
PARTLINE(c=REF(C,1)and r>1,c)COLORWHITE;实时图3
复制内容到剪贴板
代码:
w0:=barslast(day<>ref(day,1));
w:=barslast(sum(v>0,w0));
VERTLINE(w0=0),COLORBROWN,POINTDOT;
zs:=ref(c,w0+1);
PARTLINE(w0>0,zs),COLORGRAY,POINTDOT;
dk:=(SMA(C,2,1)-SMA(C,6,1))*2,LINETHICK0;
STICKLINE(dk>0 and barslast(w0=w)>=1,zs,ZS+dk,0.1,0),COLORMAGENTA;
STICKLINE(dk<=0 and barslast(w0=w)>=1,zs,ZS+dk,0.1,0),COLORGREEN;
最新:c,LINETHICK0,PRECISION2;
涨跌:c-zs,LINETHICK0,Color5050FF,PRECISION2;
涨幅:(c/zs-1)*100,LINETHICK0,COLORWHITE,PRECISION2;
均价:SUM(C*V,w0+1)/SUM(V,w0+1)COLORYELLOW,LINETHICK0,PRECISION2;
PARTLINE(barslast(w0=w)>1,均价)COLORYELLOW,LINETHICK1;
量:v,LINETHICK0,COLORWHITE;
总手:sum(v,w0+1),LINETHICK0,COLORCYAN,PRECISION0;
ST1:=STRNCMP(STKNAME, '*ST', 3)=0;
ST:=STRNCMP(STKNAME, 'ST', 2)=0;
涨停:if(st=1 or st1=1,zs*1.05,zs*1.1),LINETHICK0,PRECISION2,COLORMAGENTA;
跌停:if(st=1 or st1=1,zs*0.95,zs*0.9),LINETHICK0,PRECISION2,COLORGREEN;
PARTLINE(c>REF(C,1) and w0>0,c)Color5050FF;
PARTLINE(c<REF(C,1) and w0>0,c)COLORCYAN;
PARTLINE(c=REF(C,1) and w0>0,c)COLORWHITE;