Finance::GeniusTrader::Indicators::FISH
Overview Infos cited from chart manual at http://www.geocities.com/ user42_kevin/chart/index.html
The fisher transform indicator by John Ehlers is a range oscillator showing where today's price is within the past N-days highest and lowest, with some smoothing is used plus what's known in mathematics as a fisher transform. This is similar to Stochastics and Williams %R but the transformation stretches values near the high and low, helping to highlight extremes. =head2 Calculation
The calculation is as follows. The prices used are the midpoint between the day's high and low (as in most of Ehlers' indicators). Today's price is located within the highest and lowest of those prices from the past N days, scaled to -1 for the low and 1 for the high.
price = (high + low) / 2
price - Ndaylow
raw = 2 * ------------------ - 1
Ndayhigh - Ndaylow
This raw position is smoothed by a 5-day EMA and a log form which is the mathematical fisher transform, before a final further 3-day EMA smoothing.
smoothed = EMA[5] of raw
1 + smoothed
fisher = EMA[3] of 0.5 * log ------------
1 - smoothed
Parameters
The standard Fisher-Transform works with a 10-days parameter : n = 10
Links http://mesasoftware.com/technicalpapers.htm http://www.geocities.com/user42_kevin/chart/index.html
Creation
Finance::GeniusTrader::Indicators::FISH->new()
Finance::GeniusTrader::Indicators::FISH->new([20])
If you need a 30 days Fisher Transform of the opening prices you can write one of those lines :
Finance::GeniusTrader::Indicators::FISH->new([30, "{I:Prices OPEN}"])
A 10 days Fisher Transform of the RSI could be created with :
Finance::GeniusTrader::Indicators::FISH->new([10, "{I:RSI}"])