Polarized Fractal Efficiency
Polarized Fractal Efficiency was authored by Omega Research 1997. The PFE uses price on several past price bars. They are powered, rounded, sqaure rooted, feed their past values and finally formed into an oscillator. The user may change the input (close) and period length. This indicator’s definition is further expressed in the condensed code given in the calculation below.
How To Trade Using Polarized Fractal Efficiency
Adjust the top and bottom guides to control the quantity and quality of the trading signals. If the ema peaks above the top guide a sell signal will be generated. Conversely, if the ema troughs below the bottom guide a buy signal will be given.
The zero line divides the bears above from the bulls below.
How To Access in MotiveWave
Go to the top menu, choose Study>Oscillators>Polarized Fractal Efficiency
or go to the top menu, choose Add Study, start typing in this study name until you see it appear in the list, click on the study name, click OK.
Important Disclaimer: The information provided on this page is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security. Please see our Risk Disclosure and Performance Disclaimer Statement.
Calculation
//input = price, user defined, default is close
//period = user defined, default is 9;
//pow = power, sqrt = square root
//prev = previous, index = current bar number
//LOE = less or equal, MOE = more or equal
pfe = 0; c2c = 0; counter = 0; fracEff = 0; ema = 0; prevEma = 0; priceCM1 = 0; priceC = 0; priorPrice = price[index-period]; pfe = Math.sqrt(Math.pow((price - priorPrice), 2) + 100); for (counter = 1; counter LOE period; counter++) priceCM1 = price[index-counter-1]; priceC = price[index-counter]; c2c = c2c + Math.sqrt(Math.pow(priceCM1 - priceC, 2) + 1); endFor if (price - priorPrice moreThan 0) fracEff = Math.round((pfe / c2c) * 100); else fracEff = Math.rint(-(pfe / c2c) * 100); prevEma = ifNull(fracEff, ema[index-1]); //returns fracEff on first try Plot: ema = Math.rint((fracEff * 0.333) + prevEma * (1 - 0.333)); //Signals prevEma = ema[index-1]; sell = (ema moreThan topGuide) AND (prevEma MOE ema) AND (ema moreThan highSell); buy = (ema lessThan bottomGuide) AND (prevEma LOE ema) AND (ema lessThan lowBuy);