The universal cycle index (UCI) is a standard of reference applicable to any security, time frame, and trading bar interval during either oscillating or trending price action. Here are the MetaStock user formulas from "Systems And The Universal Cycle Index: Cycles In Time And Money" by Stuart Belknap, Ph.D.
MetaStock user formulas for UCI

Volatility (Sigom%)

yom:=100*(C-Ref(Mov(C,25,S),12))/Ref(Mov(C,25,S),12);
avyom:=Sum(yom,50)/50;
varyom:=Sum(yom*yom,50)/50-avyom*avyom;
som:=Ref(Sqrt(varyom),-12);
sigom:=Mov(som,25,S);
sigom;


Minor cycle index (period 25 bars)

sigom:=FmlVar("_sac-sigom","sigom");
yme:=100*(Mov(C,6,E)-Mov(C,12,E))/Mov(C,12,E);
ymes:=TSF(yme,6);
ymesn:= 100*ymes/sigom;
ymesn;
-50;
+50;
0.0;


Centered  minor cycle index

sigom:=FmlVar("_sac-sigom","sigom");
ym:=100*(Ref(Mov(C,12,S),6)-Ref(Mov(C,25,S),12))/Ref(Mov(C,25,S),12);
ymn:=100*ym/sigom;
ymn;



Secondary cycle index (period 50 bars)

sigom:=FmlVar("_sac-sigom","sigom");
yse:=100*(Mov(C,12,E)-Mov(C,25,E))/Mov(C,25,E);
yses:=TSF(yse,6);
ysesn:=100*yses/sigom;
ysesn;
-100;
+100;
0.0;


Centered secondary cycle index

sigom:=FmlVar("_sac-sigom","sigom");
ys:=100*(Ref(Mov(C,25,S),12)-Ref(Mov(C,50,S),25))/Ref(Mov(C,50,S),25);
ysn:=100*ys/sigom;
ysn;


Intermediate cycle index (period 100 bars)

sigom:=FmlVar("_sac-sigom","sigom");
yie:=100*(Mov(C,25,E)-Mov(C,50,E))/Mov(C,50,E);
yies:=TSF(yie,6);
yiesn:=100*yies/sigom;
yiesn;
-150;
+150;
0.0;


Centered intermediate cycle index

sigom:=FmlVar("_sac-sigom","sigom");
yi:=100*(Ref(Mov(C,50,S),25)-Ref(Mov(C,100,S),50))/Ref(Mov(C,100,S),50);
yin:=100*yi/sigom;
yin;


Real-time channel lines

sigom:=FmlVar("_sac-sigom","sigom");
arm:=Mov(C,25,S);
arm;
(1+2.0*sigom/100)*arm;
(1-2.0*sigom/100)*arm;


Centered channel lines

sigom:=FmlVar("_sac-sigom","sigom");
acm:=Ref(Mov(C,25,S),12);
acm;
(1+2.0*sigom/100)*acm;
(1-2.0*sigom/100)*acm;


Stochastic oscillator (12 bars)

sto:=Stoch(12,6);
sto; Mov(sto,6,S);
80;
20;

RSI (12 Bars)

rs:=RSI(12);
rs;
30;
70;
50;


Minor-term exponential moving average

aem:=Mov(C,25,E);
aem;


Sub-minor exponential moving average

aen1:=Mov(C,12,E);
aen1;


Notes:
The script for Volatility (Sigom%) must be included among User Formulas.

Caution:
Do not use the Centered parameter estimation Formulas as real-time indicators.

--Stuart Belknap, Ph.D.