sábado, 17 de marzo de 2018

RAINBOW OSCILLATOR

Lee Gates , era la más famosa estrella de televisión.
El programa financiero Money Monster era seguido
por miles de inversores en todo el país , lo que le había convertido en uno de los gurús de Wall Street.
El plato fuerte del programa era la sección "indicadores trileros" donde semanalmente aparecian
novedosos indicadores patrocinados por la compañia bolsatrilera s.l.

Los telespectadores esperaban ansiosos cada semana sus predicciones bursátiles.
Los análisis técnicos mezclados con el  espectáculo televisivo causaban furor, convirtiendo al presentador en un showman que encandilaba a las multitudes.


El nuevo programa de esa semana prometía batir los índices de audiencia de los anteriores , hasta que comenzó su emisión...

se ha colado un chaval en el plató y estamos en directo....

El joven  irrumpió entre las cámaras de manera amenazadora. Se presentó como Kyle Budwell...

Me he arruinado con esos indicadores de mierda que recomendabas....

¡ te voy a volar la puta cabeza , hijo de puta vendehumos !...

¡ Dios ! sabía que esto iba a pasar algún día...
 

¡ espera, espera Kyle !...

aún no has visto el indicador que tenemos hoy para Prorealtime...

es el indicador Rainbow Oscillator...

El Rainbow Oscillator fué creado por Mel Widner en 1997 . Bolsatrilera encontró una versión en la plataforma de Tradingview  y adaptó el código para la plataforma de Prorealtime v10.3
Antes de poner un gráfico en pantalla , quiero mostrar el código a los telespectadores que nos están viendo :

---------------------------------------------------------------------------------------------------
REM RAINBOW OSCILLATOR
//@version=2
//by HPotter on platform Tradingview
//adapted for the Prorealtime platform by bolsatrilera
//  Copyright by HPotter v1.0 07/03/2018
// Ever since the people concluded that stock market price movements are not
// random or chaotic, but follow specific trends that can be forecasted, they
// tried to develop different tools or procedures that could help them identify
// those trends. And one of those financial indicators is the Rainbow Oscillator
// Indicator. The Rainbow Oscillator Indicator is relatively new, originally
// introduced in 1997, and it is used to forecast the changes of trend direction.
//
// As market prices go up and down, the oscillator appears as a direction of the
// trend, but also as the safety of the market and the depth of that trend. As
// the rainbow grows in width, the current trend gives signs of continuity, and
// if the value of the oscillator goes beyond 80, the market becomes more and more
// unstable, being prone to a sudden reversal. When prices move towards the rainbow
// and the oscillator becomes more and more flat, the market tends to remain more
// stable and the bandwidth decreases. Still, if the oscillator value goes below 20,
// the market is again, prone to sudden reversals. The safest bandwidth value where
// the market is stable is between 20 and 80, in the Rainbow Oscillator indicator value.
// The depth a certain price has on a chart and into the rainbow can be used to judge
// the strength of the move.
////////////////////////////////////////////////////////////

Length = 2
LengthHHLL = 10 //title="HHV/LLV Lookback")
xMA1 = Average[Length](close)
xMA2 =Average[Length](xMA1)
xMA3 =Average[Length](xMA2)
xMA4 =Average[Length](xMA3)
xMA5 =Average[Length](xMA4)
xMA6 = Average[Length](xMA5)
xMA7 =Average[Length](xMA6)
xMA8 =Average[Length](xMA7)
xMA9 =Average[Length](xMA8)
xMA10 =Average[Length](xMA9)
xHH = highest[LengthHHLL](close)
xLL = lowest [LengthHHLL](close)
xHHMAs = max(xMA1,max(xMA2,max(xMA3,max(xMA4,max(xMA5,max(xMA6,max(xMA7,max(xMA8,max(xMA9,xMA10)))))))))
xLLMAs = min(xMA1,min(xMA2,min(xMA3,min(xMA4,min(xMA5,min(xMA6,min(xMA7,min(xMA8,min(xMA9,xMA10)))))))))
xRBO = 100 * ((close - ((xMA1+xMA2+xMA3+xMA4+xMA5+xMA6+xMA7+xMA8+xMA9+xMA10) / 10)) / (xHH - xLL))
xRB = 100 * ((xHHMAs - xLLMAs) / (xHH - xLL))

if xRBO >=0 then
r=34
g=139
b=34
else
r=255
g=0
b=0
endif




return xRBO coloured(r,g,b)style(histogram)as "RO", 0 coloured (128,128,128)as "0",xRB coloured(34,139,34)as "RB", -xRB coloured (255,0,0) as "RB"


-------------------------------------------------------------------------------------------------
Solo hay que copiar /pegar y validar programa.

fijaté Kyle...

La interpretación visual es simple , consta de dos elementos :
RO ; en forma de histograma , verde ( alcista) y rojo (bajista)
RB ; en forma de líneas  que conforman unas bandas , en verde y rojo
Tal y como se muestra en este gráfico de   Ferrovial...






mira como se encuentran el RO y el RB , Kyle...


Si RO es positivo , tendremos en principio una señal alcista que debe  compararse con el nivel del RB. Si RB (verde) se sitúa entre el 30% y el 60% , aunque algunos autores lo sitúan entre el 20% y el 80%  y esto es algo para comprobar dependiendo del activo,  diremos que el mercado es alcista.
Si RO es negativo y los niveles de RB (rojo) están en los niveles descritos , diremos que el mercado es bajista.
Podemos aguantar una posición hasta que tanto el RO como el RB disminuyan , tanto en tendencia alcista como en bajista...

¡ cállate tio, cállate !...

combinándolo con otros indicadores puede ser efectivo , Kyle...

Kyle, te pido que mires el mismo gráfico ahora...






Le hemos añadido el indicador  TIME-OUT  de Duk2  . Este indicador que ya había aparecido en esta sección nos indica puntos donde el precio se toma un descanso , posibles indicaciones de un agotamiento de la tendencia.
El último histograma en el Rainbow Oscillator es mayor que el anterior y es rojo.
El título viene de un parón en la zona de los 17,35 como nos marca el Time-Out y no encontramos otra zona relevante hasta los 16,71 aproximadamente...
Nuestra predicción para esta semana para Ferrovial es... bajista...

¡ joder , tio ! ¡ me has vuelto a liar !...

y eso es todo por hoy, soy Lee Gates y esto es Money Monster, nos vemos la semana que viene




5 comentarios:


  1. Código del TimeOut+Rainbow, como solicitado por @jljander1 en twitter:



    REM RAINBOW OSCILLATOR
    //@version=2
    //by HPotter on platform Tradingview
    //adapted for the Prorealtime platform by bolsatrilera
    // Copyright by HPotter v1.0 07/03/2018
    // Ever since the people concluded that stock market price movements are not
    // random or chaotic, but follow specific trends that can be forecasted, they
    // tried to develop different tools or procedures that could help them identify
    // those trends. And one of those financial indicators is the Rainbow Oscillator
    // Indicator. The Rainbow Oscillator Indicator is relatively new, originally
    // introduced in 1997, and it is used to forecast the changes of trend direction.
    //
    // As market prices go up and down, the oscillator appears as a direction of the
    // trend, but also as the safety of the market and the depth of that trend. As
    // the rainbow grows in width, the current trend gives signs of continuity, and
    // if the value of the oscillator goes beyond 80, the market becomes more and more
    // unstable, being prone to a sudden reversal. When prices move towards the rainbow
    // and the oscillator becomes more and more flat, the market tends to remain more
    // stable and the bandwidth decreases. Still, if the oscillator value goes below 20,
    // the market is again, prone to sudden reversals. The safest bandwidth value where
    // the market is stable is between 20 and 80, in the Rainbow Oscillator indicator value.
    // The depth a certain price has on a chart and into the rainbow can be used to judge
    // the strength of the move.
    ////////////////////////////////////////////////////////////

    //Valores originales de Length y LengthHHLL son 2 y 10 respectivamente

    Length = L
    LengthHHLL = XL //title="HHV/LLV Lookback")
    xMA1 = Average[Length](close)
    xMA2 =Average[Length](xMA1)
    xMA3 =Average[Length](xMA2)
    xMA4 =Average[Length](xMA3)
    xMA5 =Average[Length](xMA4)
    xMA6 = Average[Length](xMA5)
    xMA7 =Average[Length](xMA6)
    xMA8 =Average[Length](xMA7)
    xMA9 =Average[Length](xMA8)
    xMA10 =Average[Length](xMA9)
    xHH = highest[LengthHHLL](close)
    xLL = lowest [LengthHHLL](close)
    xHHMAs = max(xMA1,max(xMA2,max(xMA3,max(xMA4,max(xMA5,max(xMA6,max(xMA7,max(xMA8,max(xMA9,xMA10)))))))))
    xLLMAs = min(xMA1,min(xMA2,min(xMA3,min(xMA4,min(xMA5,min(xMA6,min(xMA7,min(xMA8,min(xMA9,xMA10)))))))))
    xRBO = 100 * ((close - ((xMA1+xMA2+xMA3+xMA4+xMA5+xMA6+xMA7+xMA8+xMA9+xMA10) / 10)) / (xHH - xLL))
    xRB = 100 * ((xHHMAs - xLLMAs) / (xHH - xLL))

    if xRBO <=0 then
    r=34
    g=139
    b=34
    else
    r=255
    g=0
    b=0
    endif

    // Indicador Time-Out (Duk2) //
    // Idea original para Amibroker: estrategiastrading.com //
    // Traducido a ProRealTime: tradingtendencial.blogspot.com //
    // Añadir variables como parámetros optimizables PC y PL con valores 10 y 40 respectivamente//

    pc=10
    pl=38
    linea=65

    Retorno = Log(close/close[1])
    HV = Std[PL](Retorno) * SQRT(252)

    LogROCC = log(close/close[PC])
    LogROCL = log(close/close[PL])
    DITuning = ((LogROCC * LogROCL) / HV) + 1

    InputMin = lowest[PL](DITuning)
    InputMax = highest[PL](DITuning)

    TimeOut = (DITuning - InputMin) * 100 / (InputMax - InputMin)
    //modificacion para tener barras tipo Atlas
    if TimeOut0 then
    if xRBO<0 then
    TT=-TT
    endif
    else
    xRBO=0
    endif

    return (-(xRBO)) coloured(r,g,b)style(histogram)as "RO", 0 coloured (128,128,128)as "0",xRB coloured(34,139,34)as "PlusRB", -xRB coloured (255,0,0) as "MinusRB", -TT coloured (255,255,255) style (histogram) as "Duk2 TimeOut"

    ResponderEliminar
  2. José Luis Núñez (jljander)21 de marzo de 2018, 1:24

    Muchas gracias a los dos. Voy a incluirlo cuanto antes en mi biblioteca de indicadores. Soy bastante zoquete pero pongo mucho empeño en aprender de los mejores. Un saludo

    ResponderEliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. José Luis Núñez (jljander)21 de marzo de 2018, 1:48

    Hola Jorge, me da un error en la variable linea y TimeOut0, además hay una diferencia de código con el indicador de Miguel Ángel en la linea: if xRBO >=0 then
    Después de anular la variable linea y poner Timeout>0 me sale el Raimbow pero con el histograma al revés del original. Si cambio TimeOut>0 por TimeOut>65 entonces me salen menos histogramas. No sé si así estará bien o hay alguna falta en el código.
    Saludos

    ResponderEliminar
  5. Hola Jorge: a mi tambien me da losmismos errores que jose luis. sds

    ResponderEliminar