Aporio

Combinar dos indicadores CCI + RSI

TVC:SX5E   Índice Euro Stoxx 50
59 visitas
0
59 12
Hola, intento combinar el cci + rsi en un mismo indicador pero no me lo pinta. Puede alguien echarle un vistazo?
Saludos
Luis
//RSI
study(title="Relative Strength Index", shorttitle="RSI", format=format.price, precision=2)
//CCI
study(title="Commodity Channel Index", shorttitle="CCI", format=format.price, precision=2)
//RSI
src = close, len = input(14, minval=1, title="Length")
up = rma(max(change( src ), 0), len )
down = rma(-min(change( src ), 0), len )
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//CCI
length = input(20, minval=1)
src = input(close, title="Source")
ma = sma ( src , length)
cci = ( src - ma) / (0.015 * dev( src , length))

plot( rsi , color=color.purple)
plot( cci , color=color.olive)
//rsi
band1 = hline(70)
band0 = hline(30)
fill(band1, band0, color=color.purple, transp=90)
//cci
band1 = hline(175, color=color.gray, linestyle=hline.style_dashed)
band0 = hline(-175, color=color.gray, linestyle=hline.style_dashed)
fill(band1, band0, color=color.olive)
Así de primeras veo varios errores, por ejemplo el "study" sólo se declara una vez ( es algo así como el encabezado ).
Por otra parte no puedes mencionar varias veces la misma variable por ejemplo src, llámalo de diferente manera por ejemplo srcRSI y srcCCI, si ambas variables tienen lo mismo puedes mencionarlo una vez
Responder
Aporio NovatoMaximo
@NovatoMaximo, Gracias, voy a probar. Un saludo
Responder
Aporio NovatoMaximo
@NovatoMaximo, Nada, hice los retoques que me dijiste y sigue sin pintar el CCI y el RSI en el mismo indicador. Mira como quedó
//RSI
study(title="RSI+CCI", shorttitle="RSI+CCI", format=format.price, precision=2)

//RSI
srcRSI = close, len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

//CCI
length = input(20, minval=1)
srcCCI = input(close, title="Source")
ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))

plot(rsi, color=color.purple)
plot(cci, color=color.olive)
//rsi
band1 = hline(70)
band0 = hline(30)
fill(band1, band0, color=color.purple, transp=90)
//cci
band1 = hline(175, color=color.gray, linestyle=hline.style_dashed)
band0 = hline(-175, color=color.gray, linestyle=hline.style_dashed)
fill(band1, band0, color=color.olive)
Responder
@Aporio, Así a groso modo tienes algunas variables aún repetidas como band1.
El mejor indicador en bolsa es el no invertir en bolsa, he probado cientos de indicadores y algunos los he creado yo, pero no hay manera

Aquí tienes el código, Saludos

study(title="CCI+RSI", shorttitle="CCI+RSI", format=format.price, precision=2)

// CCI
length = input(20, minval=1)
src = input(close, title="Source")
ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
plot(cci, color=color.olive)
band1 = hline(100, color=color.gray, linestyle=hline.style_dashed)
band0 = hline(-100, color=color.gray, linestyle=hline.style_dashed)
fill(band1, band0, color=color.olive)
// FIN CCI

// RSI
srcRSI = close, lenRSI = input(14, minval=1, title="Length")
up = rma(max(change(srcRSI), 0), lenRSI)
down = rma(-min(change(srcRSI), 0), lenRSI)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=color.purple)
bandRSI1 = hline(70)
bandRSI0 = hline(30)
fill(bandRSI1, bandRSI0, color=color.purple, transp=90)
// FIN RSI
Responder
Aporio NovatoMaximo
@NovatoMaximo, Te agradezco te tomes la molestia de ayudarme. He copiado el código y lo he guardado. Me da un error "error de compilación".
No crees que debe ser algo de las escalas? . Igual, diciendo al código que debe separar los indicadores, uno que lleve los niveles a la derecha y el otro los niveles a la izquierda y que pinte cada uno en su propia escala.
Recuerdo que en lenguajes como el afl, que alguna vez lo ví, había que decirle lo de su propia escala.
Saludos
Luis
Responder
@Aporio, prueba con este otro.

study(title="CCI+RSI", shorttitle="CCI+RSI")

// CCI
length = input(20, minval=1)
src = input(close, title="Source")
ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
plot(cci, color=olive)
band1 = hline(100, color=gray)
band0 = hline(-100, color=gray)
fill(band1, band0, color=olive)
// FIN CCI

// RSI
srcRSI = close, lenRSI = input(14, minval=1, title="Length")
up = rma(max(change(srcRSI), 0), lenRSI)
down = rma(-min(change(srcRSI), 0), lenRSI)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=purple)
bandRSI1 = hline(70)
bandRSI0 = hline(30)
fill(bandRSI1, bandRSI0, color=purple, transp=90)
// FIN RSI
+1 Responder
Aporio NovatoMaximo
@NovatoMaximo, Gracias por tu ayuda. Mira que tengo ganas de instalarlo por el tiempo que eché y fuí incapaz! Estoy de viaje y regreso el jueves. Hasta entonces no podré ver si funciona. Repito, gracias!
Un saludo
Luis
Responder
Aporio NovatoMaximo
@NovatoMaximo, hola , de vuelta de viaje, lo primero que he hecho ha sido instalar el indicador. Sigue sin verse. No sé si estoy haciendo algo mal.
No podrías instalarlo tú en tu tradingview para comprobarlo?
No crees que se podría poner la escala de un indicador a la derecha y otro a la izquierda?. O si existe la función en su propia escala?
Gracias y siento dar tantas vueltas.
Un saludo
Luis
Responder
Aporio NovatoMaximo
@NovatoMaximo, Veo en el editor pine en color rojo estos errores
Errores
Line9: Undeclared indentifier olive;
Line10: Undeclared indentifier gray;
Line11: Undeclared indentifier gray;
Line12; Undeclared indentifier band1;
Line12: Undeclared indentifier band0;
Line12: Undeclared indentifier olive;
Line20: Undeclared indentifier purple;
Line23: Undeclared indentifier purple;
Responder
Inicio Analizador de acciones Analizador de Forex Crypto Screener Calendario económico Shows Cómo funciona Funcionalidades del gráfico Precios Normas Moderadores Soluciones broker y sitio web Widgets Soluciones gráficas Biblioteca de gráficos ligeros Centro de ayuda Recomendar a un amigo Solicitud de funcionalidad Blog y Noticias Preguntas frecuentes Wiki Twitter
Perfil Opciones de configuración del perfil Cuenta y facturación Recomendar a un amigo Mis Tickets de Soporte Centro de ayuda Ideas publicadas Seguidores Siguiendo Mensajes privados Chat Cerrar sesión