LAGUERRE RSI

Todo sobre el trading en los mercados financieros: funcionamiento, dudas, noticias, etc.
Responder
Avatar de Usuario
enki
Mensajes: 580
Registrado: 17 Sep 2004 21:39

LAGUERRE RSI

Mensaje por enki »

He visto un tipo especial de RSI parece que muestra un comportamiento muy interesante. se llama Laguerre RSI.
Pero soy incapaz de programarlo para el Visual Chart.
Alguien se anima a programarlo.

En lenguaje Metastock es:

g:=0.5;
L0:=((1-g)*C) + (g*PREV);
L1:=(-g*L0) + Ref(L0,-1) + (g*PREV);
L2:=(-g*L1) + Ref(L1,-1) + (g*PREV);
L3:=(-g*L2) + Ref(L2,-1) + (g*PREV);

cu:= If(L0>L1, L0-L1,0) + If(L1>L2, L1-L2,0) + If(L2>L3, L2-L3,0);
cd:= If(L0<L1, L1-L0,0) + If(L1<L2, L2-L1,0) + If(L2<L3, L3-L2,0);

temp:= If(cu+cd=0, -1,cu+cd);
If(temp=-1,0,cu/temp)

Gracias.
Avatar de Usuario
ASGtrader
Mensajes: 51
Registrado: 09 Dic 2005 10:46
Ubicación: Madrid

Mensaje por ASGtrader »

Hola Enki,

Yo de MetaStock no tengo ni idea, pero si me lo intentas explicar... diciendome cuales son los parámetros, etc. lo intentaré

Un saludo,

ASGTrader
Avatar de Usuario
enki
Mensajes: 580
Registrado: 17 Sep 2004 21:39

Mensaje por enki »

Lo siento, ASGTrader. Mis conocimientos de programacion en Metastock tienen el mismo nivel que en Visual, es decir Cero Patatero :oops: :oops: .

Fue dado a conocer por John F. Ehelrs en Cybernetic Analysis for stock and futures p. 225.

"- The Laguerre Transform provides a time warp such that the low-frequency components are delayed much more than the high-frequency components.
- Time distortion enables very smooth filters to be built using a short amount of data.
- Time-warped indicators react faster because a shorter amount of data is used."

He visto graficos con este indicador y parece mas fino que el RSI clasico de toda la vida.

Pongo un ejemplo, haber sii alguieen que sepa se anima:
Adjuntos
trade10lz.jpg
trade10lz.jpg (45.24 KiB) Visto 913 veces
Avatar de Usuario
hammer
Mensajes: 675
Registrado: 12 Jul 2005 02:00

Indicador

Mensaje por hammer »

Hola enki,

Creo que falta algo a continuación del código que has puesto en tu primer post. Asegúrate de que no te has comido nada, y de paso mira qué son los parámetros C y PREV.

Disponiendo de esa información no creo que sea complicado programarlo.

Un saludo :D
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12794
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Por si os sirve de algo, ese indicador ya lo estuve estudiando hace unos meses con AmiBroker, os pongo por aqui el código en AFL por si os sirve para algo aunque me temo que no es nada del otro mundo (como muchas de las cosas de Ehlers ;-)). De todas formas, si tengo hueco un día, lo intento programar, no parece muy complicado a priori:
SetBarsRequired(200, 0);

// Ehlers formulas
// from Ehlers, John F. Cybernetic Analysis for Stocks and Futures. Wiley.
2004.
// Chapter 14, p. 213. Code on p. 221.

function LRSI(array, gamma)
// Figure 14.8 on p. 221.
{
L0 = array; // Initialize as array
L1 = array;
L2 = array;
L3 = array;
LRSIValue = array;

for(i = 1; i < BarCount; i++)
{
L0 = (1 - gamma)*array + gamma*L0[i-1];
L1 = - gamma * L0 + L0[i-1] + gamma * L1[i-1];
L2 = - gamma * L1 + L1[i-1] + gamma * L2[i-1];
L3 = - gamma * L2 + L2[i-1] + gamma * L3[i-1];

CU = 0;
CD = 0;
if (L0 >= L1) CU = L0[i] - L1[i]; else (CD = L1[i] - L0[i]);
if (L1[i] >= L2[i]) CU = CU + L1[i] - L2[i]; else CD = CD + L2[i] -
L1[i];
if (L2[i] >= L3[i]) CU = CU + L2[i] - L3[i]; else CD = CD + L3[i] -
L2[i];

if (CU + CD != 0) LRSIValue[i] = CU / (CU + CD);
}
return LRSIValue;
}

Plot(LRSI(C, 0.5), "Laguerre RSI", colorRed, styleLine);
PlotGrid(.8);
PlotGrid(.5);
PlotGrid(.2);


Un saludo
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
Elvys
Mensajes: 177
Registrado: 22 Mar 2006 04:03

Mensaje por Elvys »

X-Trader escribió:Por si os sirve de algo, ese indicador ya lo estuve estudiando hace unos meses con AmiBroker, os pongo por aqui el código en AFL por si os sirve para algo aunque me temo que no es nada del otro mundo (como muchas de las cosas de Ehlers ;-)). De todas formas, si tengo hueco un día, lo intento programar, no parece muy complicado a priori:
SetBarsRequired(200, 0);

// Ehlers formulas
// from Ehlers, John F. Cybernetic Analysis for Stocks and Futures. Wiley.
2004.
// Chapter 14, p. 213. Code on p. 221.

function LRSI(array, gamma)
// Figure 14.8 on p. 221.
{
L0 = array; // Initialize as array
L1 = array;
L2 = array;
L3 = array;
LRSIValue = array;

for(i = 1; i <BarCount>= L1) CU = L0 - L1; else (CD = L1 - L0);
if (L1 >= L2) CU = CU + L1 - L2; else CD = CD + L2 -
L1[i];
if (L2[i] >= L3[i]) CU = CU + L2[i] - L3[i]; else CD = CD + L3[i] -
L2[i];

if (CU + CD != 0) LRSIValue[i] = CU / (CU + CD);
}
return LRSIValue;
}

Plot(LRSI(C, 0.5), "Laguerre RSI", colorRed, styleLine);
PlotGrid(.8);
PlotGrid(.5);
PlotGrid(.2);


Un saludo
X-Trader


Bueno,si me permiten resucito el post.
X-trader me da error de sintasis en lo q resalto en rojo.y dice: probably missing semicolon of the previus line :roll: ¿podrias aclararme q quiere decir exactamente??gracias.saludos :wink:
Avatar de Usuario
hammer
Mensajes: 675
Registrado: 12 Jul 2005 02:00

Mensaje por hammer »

El error indica que en alguna línea anterior se ha omitido un punto y coma al final de una instrucción (las líneas de comentarios, las declaraciones de funciones y los bloques encerrados entre llaves no lo necesitan).

Supongo que el error se debe a que el "2004." lo has puesto en una línea nueva en lugar de al final del comentario de la línea anterior.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Trading en General”