Fisher Transform para AmiBroker

Avatar de Usuario
X-Trader
Administrador
Mensajes: 12791
Registrado: 06 Sep 2004 10:18
Contactar:

Fisher Transform para AmiBroker

Mensaje por X-Trader »

Os dejo por aquí el código en AFL de indicador de la transformada de Fisher, sobre el cual hablamos en este artículo:

https://www.x-trader.net/la-transformacion-de-fisher/

Saludos,
X-Trader

Código: Seleccionar todo

_SECTION_BEGIN("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 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, 10));
Plot(FisherXform, "Fisher Transform", colorRed, styleThick);
Plot(Ref(FisherXform, -1), "", colorGreen, styleThick);
PlotGrid(2, colorLightGrey);
PlotGrid(-2, colorLightGrey);
_SECTION_END();
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Responder

Volver a “Indicadores”