Código Transformacion de Fisher

El espacio de los traders quant: sistemas de trading, gestión monetaria, automatización de sistemas.
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12798
Registrado: 06 Sep 2004 10:18
Contactar:

Código Transformacion de Fisher

Mensaje por X-Trader »

Os subo por aquí el código para varias plataformas del indicador del artículo de esta semana:

https://www.x-trader.net/articulos/tecn ... isher.html

Saludos,
X-Trader
"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."
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12798
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Código para Metatrader
Adjuntos
Ehlers Fisher transform.mq4
(2.41 KiB) Descargado 643 veces
"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."
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12798
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Código para Amibroker: podeís descargarlo desde aquí:

http://www.amibroker.com/library/detail.php?id=449

Saludos,
X-Trader
Última edición por X-Trader el 17 Nov 2008 09:23, editado 1 vez en total.
"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."
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12798
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Código para Visual Chart: lo teneís aquí, aunque ignoro si funcionará en la versión 5:

http://www.visualchart.com/esxx/strateg ... sp?Id=2643

Saludos,
X-Trader
"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."
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12798
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Código para Tradestation:

Código: Seleccionar todo

Inputs: Price((H+L)/2),
Len(10);
Vars: MaxH(0),
MinL(0),
Fish(0);
MaxH = Highest(Price, Len);
MinL = Lowest(Price, Len);
Value1 = .33*2*((Price - MinL)/(MaxH - MinL) - .5) + .67*Value1[1];
If Value1 > .999 then Value1 = .999;
If Value1 < -.999 then Value1 = -.999;
Fish = .5*Log((1 + Value1)/(1 - Value1)) + .5*Fish[1];
Plot1(Fish, "Fisher");
Plot2(Fish[1], "Trigger");
Saludos,
X-Trader
Última edición por X-Trader el 30 Nov 2008 00:08, editado 1 vez en total.
"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."

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

Mensaje por X-Trader »

Código para Metastock:

Código: Seleccionar todo

pr:=(H+L)/2;
len:=10;
maxh:=HHV(pr,len);
minl:=LLV(pr,len);
val1:=.33*2*((pr-minl)/(maxh-minl)-.5)+.67*PREV;
value1:=If(val1>.99,.999,If(val1<-.99,-.999,val1));
fish:=.5*Log((1+value1)/(1-value1))+.5*PREV;
fish;
Ref(fish,-1);

Saludos,
X-Trader
"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."
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12798
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Código para eSignal
Adjuntos
fisher.efs
(3.7 KiB) Descargado 303 veces
"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."
Avatar de Usuario
Tom
Mensajes: 2421
Registrado: 12 Feb 2005 10:23
Ubicación: Madrid

Mensaje por Tom »

Supongo que este sería el equivalente para Ninja Trader.
http://www.ninjatrader-support2.com/vb/ ... 54&catid=1
Adjuntos
Inverse_Fisher_Tranform.jpg
----- Para que tu y yo ganemos dinero no habrían creado un mercado. ------
Avatar de Usuario
Cuotes
Mensajes: 1033
Registrado: 09 Jul 2006 17:35
Ubicación: ya ni lo se

Mensaje por Cuotes »

Los que usamos wealthlab nos sentimos excluidos :cry:

Si tengo tiempo y me pongo con ello y saco el codigo, lo subo.

En wealthscript.

Ahora el WL5.1 va en c# y no se si se podra reutilizar el de Ninja con algun ajuste.

ciao bambinos.
-- ( ignoramus et ignorabimus ) --
Avatar de Usuario
erredosdedos
Mensajes: 3513
Registrado: 07 Jul 2007 19:19
Ubicación: Valencia

Mensaje por erredosdedos »

X, en pro real time está esto que no sé si será a lo que te refieres con lo de la transformación aplicada al rsi:


Definición:

El "Fisher Invertido transforma RSI" se basa en un concepto matemático aplicado al indicador RSI.

Su cálculo es el siguiente :

y = ( Exp(2 * x) - 1 ) / ( Exp(2 * x) + 1 )

, donde X representa los valores del RSI.

Se trata de un indicador que detecta las zonas de sobrecompra y de sobreventa, emitiendo las correspondientes señales de venta y compra.


Interpretación:

Cuando el indicador corta al alza el nivel de 50, se genera una señal de compra.

Cuando el indicador se sitúa por encima del nivel de 80 y cruza dicho nivel a la baja, se genera una señal de venta.

Cuando el indicador cruza a la baja el nivel de 50, se genera una señal de venta a descubierto (apertura de posición corta).

Cuando el indicadro se encuentra por debajo del nivel 20 y cruza dicho nivel al alza, se genera una señal de cierre de posición corta.
Viva el interés compuesto!
FRAN_MS
Mensajes: 49
Registrado: 31 Ago 2007 02:03
Ubicación: VALENCIA

Mensaje por FRAN_MS »

Yo diria que Inverse_Fisher_Tranform.zip para NT no es exactamente ... lo instalé y revisé formulación y no es igual....

es curioso pero parece un Vigia del amigo Blai5 ... pero suavizado..

Saludos
ESPECULO, LUEGO EXISTO
Blai5
Mensajes: 179
Registrado: 10 Nov 2007 10:50
Ubicación: Barcelona
Contactar:

Mensaje por Blai5 »

FRAN_MS escribió:Yo diria que Inverse_Fisher_Tranform.zip para NT no es exactamente ... lo instalé y revisé formulación y no es igual....

es curioso pero parece un Vigia del amigo Blai5 ... pero suavizado..

Saludos
Es lógico, Fran.

El RSI es parte fundamental en el algoritmo de Vigía. Además del RSI incluye Estocástico, MFI y Oscilador de Bandas de Bollinger.

Como en los cóctels, la gracia está en las proporciones ;-)

Te agradezco el recordatorio

Un saludo para tod@s

Blai
Quien se equivoca aprende; quien lo reconoce, aprende doble.

http://www.blai5.net/
http://bolsaydatos.com/
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12798
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

OK, en la próxima entrega hablaremos de la transformación inversa de Fisher ;-). Y para los de Ninja Trader, Wealthlab y Prorealtime si os aburris podiais subir el codigo por aquí?? :-D

Saludos,
X-Trader
"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."
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Mensaje por cls »

No me entero mucho.

Creo entender que el concepto detrás de esto es convertir una función de probabilidad, en el ejemplo se pone la del seno, a una distribución normal. Después ya se podrían aplicar las tablas de probabilidad que suelen aparecer al final de los libros de estadísticas, y sacar la probabilidad de que ocurra algo, no?
(disculpad si digo una barbaridad :oops: ).

Lo que no entiendo es cómo se saca la función que se transforma. No la transformada, que eso es creerse la fórmula y aplicarla. Sino la que se mete en la transformada. ¿Se supone que esa es la función de distribución no normal del precio ?


S2
Avatar de Usuario
Amosis
Mensajes: 306
Registrado: 31 Ene 2006 18:02

Mensaje por Amosis »

Hola CLS.
Disculpa si a fuer de simplificar digo alguna tonteria.
Te hablo sin repasar los conceptos de probabilidad, así que probablemente te lo expliquen otros con mas precisón.
Los datos se pueden distribuir en el tiempo de muchas formas,
Por ejemplo concentrandose formando una linia, o en los puntos maximos y minimos, etc. o pueden distribuirse "normalmente", es decir formando una campana de Gauss en la cual el 90% de los datos, por ejemplo, se concentran es un pequeño espacio de tiempo.

La curva del precio no se distribuye en el eje del tiempo formando una campana de Gauss. Al contrario la curva es muchas veces bastante caotica.

Fisher trasforma la curva de Precios recreando otra curva en la cual, estan distribuidos "normalmente" los puntos. Es decir: la probabilidad de que un punto esté muy cerca de la curva que se redibuja es muy alta.

Lo que se consigue en definitiva es alisar la curva de precios de la forma estadisticamente mas precisa, creando una curva reflejo.

En Ninja existe el Indicador Fisher Trasformation y viene en la plataforma por defecto.
Saludos.
La vida para algunos, es otra cosa. http://lacomunidad.elpais.com/jonas/posts
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Sistemas de Trading”