Código Transformacion de Fisher
Código Transformacion de Fisher
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
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."
Código para Metatrader
- Adjuntos
-
- Ehlers Fisher transform.mq4
- (2.41 KiB) Descargado 689 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."
Código para Amibroker: podeís descargarlo desde aquí:
http://www.amibroker.com/library/detail.php?id=449
Saludos,
X-Trader
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."
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
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."
Código para Tradestation:
Saludos,
X-Trader
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");
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."
Código para Metastock:
Saludos,
X-Trader
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."
Código para eSignal
- Adjuntos
-
- fisher.efs
- (3.7 KiB) Descargado 344 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."
Supongo que este sería el equivalente para Ninja Trader.
http://www.ninjatrader-support2.com/vb/ ... 54&catid=1
http://www.ninjatrader-support2.com/vb/ ... 54&catid=1
----- Para que tu y yo ganemos dinero no habrían creado un mercado. ------
- erredosdedos
- Mensajes: 3513
- Registrado: 07 Jul 2007 19:19
- Ubicación: Valencia
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.
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!
Es lógico, Fran.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
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/
http://www.blai5.net/
http://bolsaydatos.com/
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í??
Saludos,
X-Trader


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."
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
).
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
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

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
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.
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!