Traders' Tips from TASC Magazine

The Inverse Fisher Transform

John Ehlers' article, "The Inverse Fisher Transform," includes the Trade Station code for two indicators. The MetaStock code for those Indicators is listed below.

To enter this indicator into MetaStock:

  1. In the Tools menu, select Indicator Builder.
  2. Click New to open the Indicator Editor for a new indicator.
  3. Type the name of the formula.
  4. Click in the larger window and type in the formula.
Name: Inverse Fisher Transform of RSI
Formula: v1:= .1*(RSI(5)-50);
v2:= Mov(v1,9,W);

.5;
-.5;
(Exp(2*v2)-1)/(Exp(2*v2)+1)
Name: Cyber Cycles with Inverse Filter Transform
Formula: pr:= (H L)/2;
a:= 0.07
sp:= (pr (2*Ref(pr,-1)) (2*Ref(pr,-2)) Ref(pr,-3))\6;
cycle:= Power(1-(.5*a),2)*(sp-(2*Ref(sp,-1) Ref(sp,-2)) (2*(1-a))*PREV-(Power(1-a,2)*Ref(PREV,-1));

.5;
-.5;
(Exp(2*cycle)-1)/(Exp(2*cycle) 1)

John Ehlers' Cyber Cycles is included in the second formula. Here is the formula for the Cyber Cycles without the transform:

Name: Cyber Cycles with Inverse Filter Transform
Formula: pr:= (H+L)/2;
a:= 0.07;
sp:= (pr+(2*Ref(pr,-1))+(2*Ref(pr,-2))+Ref(pr,-3))/6;

Power(1-(.5*a),2)*(sp-(2*Ref(sp,-1))+Ref(sp,-2))+(2*(1-a))*PREV-(Power(1-a,2)*Ref(PREV,-1))

John Ehlers', in his article states the inverse fisher transform can work with any oscillator and that values between -5 and 5 are more suited for the transforms calculations. Below is another version of the Inverse Fisher Transform of RSI. This version takes the highest and lowest value of the RSI and normalizes the scale to a range of -5 to 5.

Name: Normalized RSI with IFT
Formula: plot:= RSI(5);
ph:=LastValue(Highest(plot));
pl:=LastValue(Lowest(plot));
pf:=10/(ph-pl);
v1:= ((plot-pl)*pf)-5;
v2:= Mov(v1,9,W);

.5;
-.5;
(Exp(2*v2)-1)/(Exp(2*v2)+1)

Below is a chart which compares the two versions of the formula (the blue line is Ehlers' version.) A third indicator shows the difference in values. As can be seen, while the amplitude of the move may be different, the curve is the same.

The different values are caused by the normalization. Where Ehlers' formula keeps the same ratio of the RSI to its maximum and minimum, the second formula sets the highest RSI value to be the upper boundary (f) and lowest value to be the lower boundary (-5). This causes the second formulas swings to be a bit more pronounced.

This second version of the formula can be use with any oscillator by substituting the formula for your oscillator with the formula for the RSI on the first line. For example, to use the formula on the Stochastic Oscillator, change the first line from this:

plot:= RSI(5);

to this:

plot:= Stoch(5,3);

William Golson
Equis International


Contents