Página 1 de 2

Código Transformacion de Fisher

Publicado: 17 Nov 2008 08:57
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

Publicado: 17 Nov 2008 09:14
por X-Trader
Código para Metatrader

Publicado: 17 Nov 2008 09:15
por X-Trader
Código para Amibroker: podeís descargarlo desde aquí:

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

Saludos,
X-Trader

Publicado: 17 Nov 2008 09:16
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

Publicado: 17 Nov 2008 09:18
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

Publicado: 17 Nov 2008 09:19
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

Publicado: 17 Nov 2008 09:20
por X-Trader
Código para eSignal

Publicado: 17 Nov 2008 10:41
por Tom
Supongo que este sería el equivalente para Ninja Trader.
http://www.ninjatrader-support2.com/vb/ ... 54&catid=1

Publicado: 17 Nov 2008 10:53
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.

Publicado: 17 Nov 2008 13:15
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.

Publicado: 17 Nov 2008 13:42
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

Publicado: 17 Nov 2008 13:51
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

Publicado: 17 Nov 2008 17:08
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

Publicado: 17 Nov 2008 17:58
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

Publicado: 17 Nov 2008 23:43
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.