原碼:N:=15;//設 N根MA,N根SMA
M:=1; //設 SMA權重M
DECK:=Tradedate<>ref(Tradedate,1) or barpos=0;
TMode:=DECK+IsRegularFBar*2;
TSP:=barslast(TMode<>0);
TMode:=ref(TMode,TSP); //交易時段:{1.盤後 2.一般 3.僅一般}
UseN:=MIN(N,TSP+1); CC:=C;
MM:TSP*0;
for i=lbound(TSP) to datacount do begin
if TSP[i]=0 then begin //換時段首根
MM[i]:=CC[i];
end else if TMode[i]=1 then begin //夜盤MA
for j=0 to UseN[i]-1 do begin
MM[i]:=MM[i]+CC[i-j];
end;
MM[i]:=MM[i]/UseN[i];
end else begin //非夜盤SMA
MM[i]:=(M*CC[i]+(N-M)*MM[i-1])/N;
end;
end;