+91-0000000000

}

Monday – Friday : 9:00 AM – 6:30 PM

Inverse Fisher Transform - RSI

Similar to the previous AFL, this indicator likely focuses on the RSI with the Inverse Fisher Transform. It could provide a different variation or approach to analyzing the RSI oscillator for potential trend reversal signals. Relying on an Amibroker data feed, this AFL assists traders in interpreting RSI data transformed by the Inverse Fisher Transform.

/_SECTION_BEGIN("Inverse Fisher Transform");
SetBarsRequired(200, 0);

// Ehlers formulas
// from Ehlers, John F. Cybernetic Analysis for Stocks and Futures. Wiley. 2004.
// Chapter 1, p. 1. Code on p. 7.

function InverseFisher(array)
{
e2y = exp(2 * array);
return (e2y - 1)/(e2y + 1);
}

function Normalize(array, arraylen)
// Figure 1.7 on p. 7
{
MaxH = HHV(array, arraylen);
MinL = LLV(array, arraylen);
Value1[0] = array[0]; // Initialize as array

for(i = 1; i < BarCount; i++)
{
Value1[i] = .5 * 2 * ((array[i] - MinL[i]) / (MaxH[i] - MinL[i])
- .5) + .5 * Value1[i-1];
if (Value1[i] > .9999) Value1[i] = .9999;
if (Value1[i] < -.9999) Value1[i] = -.9999;
}
return Value1;
}

function Fisher(array)
// Figure 1.7 on p. 7
{
F = array;
F = .25 * log((1+ array)/(1 - array)) + .5 * Ref(F, -1);
return F;
}

Med = (H+L)/2;

// Fisher Transform
FisherXform = Fisher(Normalize(Med, 49));
Plot(FisherXform, "Fisher Transform", colorRed, styleThick);
Plot(Ref(FisherXform, -1), "", colorPink, styleDashed);
PlotGrid(2, colorLightGrey);
PlotGrid(-2, colorLightGrey);
Buy = Cross(FisherXform,Ref(FisherXform,-1));
Sell = Cross(Ref(FisherXform,-1),FisherXform);

PlotShapes(shapeUpArrow*Buy,colorBrightGreen);
PlotShapes(shapeDownArrow*Sell,colorRed);
_SECTION_END();

Open chat
1
Hi, how can I help you?