| 
 | 
 
 
input:nm(9,1,100),mm1(4,2,40),mm2(3,2,40); 
//ytj1:=datediff(ref(date,1),date)<>day-ref(day,1) or barpos=1; 
ytj1:=month<>ref(month,1) or barpos=1; 
 
ytj:=refx(ytj1,1);  //月末标记   KDJ 
VERTLINE(ytj),color00ff00,pointdot; 
hn:=sumbars(ytj,nm+1); 
n0:=lbound(hn); 
a:=setlbound(hn,1); 
nn:=if(barpos<n0,barpos,hn-1); 
RSV:=(CLOSE-LLV(LOW,nN))/(HHV(HIGH,nN)-LLV(LOW,nN))*100; 
start:=barpos-barssince(ytj); 
wk:=rsv[start[datacount]]; 
yk[start[datacount]]:=wk; 
wd:=yk[start[datacount]]; 
yd[start[datacount]]:=wd; 
for i=start[datacount]+1 to datacount do begin 
  if ytj[i] then begin 
    wk:=(rsv[i]+(mm1-1)*wk)/mm1; 
    wd:=(wk+(mm2-1)*wd)/mm2; 
    yk[i]:=wk; 
    yd[i]:=wd; 
  end else begin 
    yk[i]:=(rsv[i]+(mm1-1)*wk)/mm1; 
    yd[i]:=(yk[i]+(mm2-1)*wd)/mm2; 
  end; 
end; 
 
 
 |   
 
 
 
 |