// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN("EMAavg"); SetChartOptions(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )); Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); z=H; z1=H+(0.0001*H); EMAavg1=((21*EMA(z,2))+(13*EMA(z,3))+(8*EMA(z,5))+(5*EMA(z,8))+(3*EMA(z,13))+(2*EMA(z,21)))/(52); //EMAavg2=(EMA(z1,2)+EMA(z1,3)+EMA(z1,5)+EMA(z1,8)+EMA(z1,13)+EMA(z1,21))/6; 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])/IIf(MaxH[i]-MinL[i]==0,1,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, 5)); //Plot(FisherXform, "Fisher Transform", colorRed, styleThick); //Plot(Ref(FisherXform, -1), "", colorBlack, styleDashed); //PlotGrid(2, colorLightGrey); //PlotGrid(-2, colorLightGrey); Buy = C>EMAavg1 AND FisherXform>Ref(FisherXform, -1) AND C>EMA(L,3); Sell =C