Despejando las nubes. El Kumo de Ichimoku.

Bien, parece que el otro día hubo un poco de confusión con “eso del Ichimoku”.

Algunos amigos me han dicho básicamente que no entendían nada, así que vamos a despejar un poco el gráfico y poner algún concepto sencillo.

De las 5 líneas de Ichimoku, nos vamos a quedar sólo con 2, que forman la nube principal o Kumo (azul o rosa, da igual). Esta es la más importante, pues es la que indica la tendencia. Asimismo, el kumo es una resistencia o soporte. Olvidad la idea de resistencias y soportes horizontales, en este caso esa nube rosa o azul actúa de resistencia o soporte, sea como sea su forma.

Vamos a ver un ejemplo con Apple. Este sería el gráfico de AAPL tan sólo con el precio y el kumo. Es evidente la fuerte tendencia alcista que empezó a mediados de 2003. Voy a marcar los cruces y rebotes.

20130917w1APPLE_INCEn enero de 2013, rompió la nube a la baja, indicando tendencia alcista. Posteriormente subió pero rebotó, parece que confirmando la tendencia. A día de hoy, la tendencia de AAPS en semanal es bajista. Si rompiese el kumo al alza en la zona de los 550, empezaría una tendencia alcista.

Hace tiempo programé una ayuda para ver esos cortes con el kumo, esos cambios de tendencia. Así programé en Prorealtime el indicador Ichimoku Pr-K Bin Better. Que es una representación sobre el precio, del corte del Precio con el Kumo, y da sólo señales Binarias.

Son las líneas horizontales azules y rojas que veis aquí

20130917w2APPLE_INC

Lo que en un principio era sólo una ayuda visual descubrió patrones muy útiles. Al parecer, esos cortes con el kumo son puntos clave. Esos puntos de corte más adelante influyen mucho en el precio. Por tanto, no podemos olvidar dónde ha cortado el precio a la nube en el pasado.

Fijaos arriba cómo hay resistencias y soportes rojos y azules al mismo nivel, y cómo el precio respeta esos niveles también rebotando. ¡Es alucinante! Estas líneas que se pintan automáticamente muestran patrones en un precio formado por gente que compra y vende, noticias de Iphones, ordenadores, la muerte de Steve Jobs, presentaciones de resultados, etc… Sin embargo, el precio respeta de alguna manera estas geometrías. Curioso cuanto menos.

Para los que usen Prorealtime, os dejo el código de programación del Ichimoku Pr-K Bin Better.

Hay un restos de código de ATR que introduje, no le hagáis caso, si os interesa lo explico otro día. Ocultad las líneas que dicen “ATR”, y representad el indicador como PUNTOS, poniendo un color para alcista y otro para bajista.

Espero que os sea útil.

ACTUALIZACIÓN: Había algún pequeño error al copiar-pegar, ya debería funcionar perfectamente.

// Ichimoku Pr-K Bin Better
// p1 = 9
// p2 = 26
// p3 = 52
// aa es decimal para multiplicar el ATR, mayor que cero
// aa = 1
// n = 14

//REM Tenkan-Sen
Upper1 = HIGHEST[p1](HIGH)
Lower1 = LOWEST[p1](LOW)
Tenkan = (Upper1 + Lower1) / 2
//REM Kijun-Sen
Upper2 = HIGHEST[p2](HIGH)
Lower2 = LOWEST[p2](LOW)
Kijun = (Upper2 + Lower2) / 2
//REM Senkou Span A
SpanA = (Tenkan[p2] + Kijun[p2]) / 2
//REM Senkou Span B
SpanB = ((HIGHEST[p3](HIGH[p2])) + LOWEST[p3](LOW[p2])) / 2
//prix = choix du prix
prix=customclose
if prix >= spana and prix >= spanb then
vv=1
else
vv=0
endif
if prix <= spana and prix <= spanb then
rr=1
else
rr=0
endif
if vv[1] = 1 and vv = 0 and rr = 0 then
vv = 1
elsif rr[1] = 1 and rr = 0 and vv = 0 then
rr = 1
endif

if vv = 1 then
c=1
else
c=-1
endif
cambioarojo = (c[1] = 1 AND c = -1)
cambioaverde = (c[1] = -1 AND c = 1)
KumoRosa = (SpanA < SpanB)
KumoAzul = (SpanA > SpanB)

IF cambioarojo THEN
IF KumoRosa THEN
BetterKumo = SpanA
ELSIF KumoAzul THEN
BetterKumo = SpanB
ENDIF
ELSIF cambioaverde then
IF KumoRosa THEN
BetterKumo = SpanB
ELSIF KumoAzul THEN
BetterKumo = SpanA
ENDIF
ELSE
BetterKumo = BetterKumo[1]
ENDIF

//// myatr, myemaatr, mycero, mysup = CALL "EDJ ATR"[14 ,26]
//myatr, ignored, ignored, ignored = CALL "EDJ ATR"[14 ,26]
myatr = AverageTrueRange[n](close)
atrmas = BetterKumo + (aa*myatr)
atrmenos = BetterKumo - (aa*myatr)
//atrmasint = BetterKumo + (aa*mysup)
//atrmenosint = BetterKumo - (aa*mysup)

return BetterKumo COLOURED BY c as "Pr-K Bin Better", atrmas as "ATR mas", atrmenos as "ATR menos"
Anuncios

16 pensamientos en “Despejando las nubes. El Kumo de Ichimoku.

    • Tienes toda la razón Ulyses!
      En el fondo, “EDJ ATR”, es básicamente el ATR de toda la vida. Pero que me lo tuneé yo con una media exponencial para identificar cuando el valor está “calentito”.
      Puedes quitar esta línea:
      myatr, ignored, ignored, ignored = CALL “EDJ ATR”[14 ,26]
      y poner:
      myatr = AverageTrueRange[natr](close)
      donde natr es un número entro, por defecto 14, esto sería lo mismo:
      myatr = AverageTrueRange[14](close)

      Lo que hace es pintar una zona de volatilidad alrededor de las líneas de corte de Ichimoku, ya que en esas zonas puede quedar atrapado en lateral antes de romper con tendencia. Los laterales son el talón de Aquiles de Ichimoku.
      Yo lo uso ocultando las líneas “ATR mas” y “ATR menos”, y coloreo la zona entre ellas.

      Le echaré un ojo a tu blog. Viendo que a alguien le ha interesado el tema, pondré más cacharros de Prorealtime. :-)

      Aún así te dejo el código del EDJ ATR, por si te sirve.
      Es un indicador a parte, no sobre el precio.

      // EDJ ATR
      // natr = 14
      // mm = 26
      atr = AverageTrueRange[natr](close)
      emaatr = ExponentialAverage[mm](atr)

      IF atr > emaatr THEN
      int = emaatr
      ELSE
      int = atr
      ENDIF

      return atr as “atr”,emaatr as “ema atr”, 0 as “cero”, int as “int”

  1. Perdóname Enrique por pesado,pero a pesar del cambio,me sigue sin salir como el de tu gráfico.Te agradecería que pusieras el código completo ya modificado.
    Todos los “cacharros ” que tengas serán ojeados por mí.
    Muchas gracias.
    Recibe un saludo cordial de Ulyses.

  2. No te preocupes Ulyses, la comunidad Prorealtime tenemos que ayudarnos. ;-)
    ¿Te sale al menos algo pintado?
    Tienes que pintar “Pr-K Bin Better” como puntos (yo los pongo bastante gruesos), atrmas y atrmenos invisibles y relleno el area entre ellos.

    Prueba esto y me cuentas, he puesto la modificación para que no tire de “EDJ ATR”.
    Sustituye absolutamente todo el código por si acaso con esto:

    // Ichimoku Pr-K Bin Better

    // p1 = 9
    // p2 = 26
    // p3 = 52
    // aa es decimal para multiplicar el ATR, mayor que cero
    // aa = 1
    // n = 14

    //REM Tenkan-Sen
    Upper1 = HIGHEST[p1](HIGH)
    Lower1 = LOWEST[p1](LOW)
    Tenkan = (Upper1 + Lower1) / 2

    //REM Kijun-Sen
    Upper2 = HIGHEST[p2](HIGH)
    Lower2 = LOWEST[p2](LOW)
    Kijun = (Upper2 + Lower2) / 2

    //REM Senkou Span A
    SpanA = (Tenkan[p2] + Kijun[p2]) / 2

    //REM Senkou Span B
    SpanB = ((HIGHEST[p3](HIGH[p2])) + LOWEST[p3](LOW[p2])) / 2

    //prix = choix du prix
    prix=customclose

    if prix >= spana and prix >= spanb then
    vv=1
    else
    vv=0
    endif

    if prix <= spana and prix <= spanb then
    rr=1
    else
    rr=0
    endif

    if vv[1] = 1 and vv = 0 and rr = 0 then
    vv = 1
    elsif rr[1] = 1 and rr = 0 and vv = 0 then
    rr = 1
    endif

    if vv = 1 then
    c=1
    else
    c=-1
    endif

    cambioarojo = (c[1] = 1 AND c = -1)
    cambioaverde = (c[1] = -1 AND c = 1)

    KumoRosa = (SpanA SpanB)

    IF cambioarojo THEN
    IF KumoRosa THEN
    BetterKumo = SpanA
    ELSIF KumoAzul THEN
    BetterKumo = SpanB
    ENDIF
    ELSIF cambioaverde then
    IF KumoRosa THEN
    BetterKumo = SpanB
    ELSIF KumoAzul THEN
    BetterKumo = SpanA
    ENDIF
    ELSE
    BetterKumo = BetterKumo[1]
    ENDIF

    //// myatr, myemaatr, mycero, mysup = CALL “EDJ ATR”[14 ,26]
    //myatr, ignored, ignored, ignored = CALL “EDJ ATR”[14 ,26]

    myatr = AverageTrueRange[14](close)

    atrmas = BetterKumo + (aa*myatr)
    atrmenos = BetterKumo – (aa*myatr)
    //atrmasint = BetterKumo + (aa*mysup)
    //atrmenosint = BetterKumo – (aa*mysup)

    return BetterKumo COLOURED BY c as “Pr-K Bin Better”, atrmas as “ATR mas”, atrmenos as “ATR menos”

    • Hola Ulyses!
      Perdona que he estado muy liado.
      Ya he visto el problema, no sé por qué al copiar y pegar algunos signos () desaparecen.
      Copialo tal cual, es el código entero, no necesita nada (eso sí, pon las variables ;-) )
      Pr-K Bin Better como puntos, el resto es una zona pintada (yo personalmente pongo aa, el ATR, en 2,5 que es más seguro)

      Aquí tienes el código entero.
      Ya me dices si funciona. Y si lo usas cualquier feedback es bienvenido.

      Un saludo!

      // Ichimoku Pr-K Bin Better

      // p1 = 9
      // p2 = 26
      // p3 = 52
      // aa es decimal para multiplicar el ATR, mayor que cero
      // aa = 1

      //REM Tenkan-Sen
      Upper1 = HIGHEST[p1](HIGH)
      Lower1 = LOWEST[p1](LOW)
      Tenkan = (Upper1 + Lower1) / 2

      //REM Kijun-Sen
      Upper2 = HIGHEST[p2](HIGH)
      Lower2 = LOWEST[p2](LOW)
      Kijun = (Upper2 + Lower2) / 2

      //REM Senkou Span A
      SpanA = (Tenkan[p2] + Kijun[p2]) / 2

      //REM Senkou Span B
      SpanB = ((HIGHEST[p3](HIGH[p2])) + LOWEST[p3](LOW[p2])) / 2

      //prix = choix du prix
      prix=customclose

      if prix >= spana and prix >= spanb then
      vv=1
      else
      vv=0
      endif

      if prix <= spana and prix <= spanb then
      rr=1
      else
      rr=0
      endif

      if vv[1] = 1 and vv = 0 and rr = 0 then
      vv = 1
      elsif rr[1] = 1 and rr = 0 and vv = 0 then
      rr = 1
      endif

      if vv = 1 then
      c=1
      else
      c=-1
      endif

      cambioarojo = (c[1] = 1 AND c = -1)
      cambioaverde = (c[1] = -1 AND c = 1)

      KumoRosa = (SpanA SpanB)

      IF cambioarojo THEN
      IF KumoRosa THEN
      BetterKumo = SpanA
      ELSIF KumoAzul THEN
      BetterKumo = SpanB
      ENDIF
      ELSIF cambioaverde then
      IF KumoRosa THEN
      BetterKumo = SpanB
      ELSIF KumoAzul THEN
      BetterKumo = SpanA
      ENDIF
      ELSE
      BetterKumo = BetterKumo[1]
      ENDIF

      //// myatr, myemaatr, mycero, mysup = CALL “EDJ ATR”[14 ,26]
      //myatr, ignored, ignored, ignored = CALL “EDJ ATR”[14 ,26]

      myatr = AverageTrueRange[14](close)

      atrmas = BetterKumo + (aa*myatr)
      atrmenos = BetterKumo – (aa*myatr)
      //atrmasint = BetterKumo + (aa*mysup)
      //atrmenosint = BetterKumo – (aa*mysup)

      return BetterKumo COLOURED BY c as “Pr-K Bin Better”, atrmas as “ATR mas”, atrmenos as “ATR menos”

      • Cago en la mar,Enrique ,me sigue saliendo fallo,y también he tenido que cambiar las comas…
        Lo tengo tal que asín:
        // Ichimoku Pr-K Bin Better

        // p1 = 9
        // p2 = 26
        // p3 = 52
        // aa es decimal para multiplicar el ATR, mayor que cero
        // aa = 1

        //REM Tenkan-Sen
        Upper1 = HIGHEST[p1](HIGH)
        Lower1 = LOWEST[p1](LOW)
        Tenkan = (Upper1 + Lower1) / 2

        //REM Kijun-Sen
        Upper2 = HIGHEST[p2](HIGH)
        Lower2 = LOWEST[p2](LOW)
        Kijun = (Upper2 + Lower2) / 2

        //REM Senkou Span A
        SpanA = (Tenkan[p2] + Kijun[p2]) / 2

        //REM Senkou Span B
        SpanB = ((HIGHEST[p3](HIGH[p2])) + LOWEST[p3](LOW[p2])) / 2

        //prix = choix du prix
        prix=customclose

        if prix >= spana and prix >= spanb then
        vv=1
        else
        vv=0
        endif

        if prix <= spana and prix <= spanb then
        rr=1
        else
        rr=0
        endif

        if vv[1] = 1 and vv = 0 and rr = 0 then
        vv = 1
        elsif rr[1] = 1 and rr = 0 and vv = 0 then
        rr = 1
        endif

        if vv = 1 then
        c=1
        else
        c=-1
        endif

        cambioarojo = (c[1] = 1 AND c = -1)
        cambioaverde = (c[1] = -1 AND c = 1)

        KumoRosa = (SpanA SpanB)

        IF cambioarojo THEN
        IF KumoRosa THEN
        BetterKumo = SpanA
        ELSIF KumoAzul THEN
        BetterKumo = SpanB
        ENDIF
        ELSIF cambioaverde then
        IF KumoRosa THEN
        BetterKumo = SpanB
        ELSIF KumoAzul THEN
        BetterKumo = SpanA
        ENDIF
        ELSE
        BetterKumo = BetterKumo[1]
        ENDIF

        //// myatr, myemaatr, mycero, mysup = CALL “EDJ ATR”[14 ,26]
        //myatr, ignored, ignored, ignored = CALL “EDJ ATR”[14 ,26]

        myatr = AverageTrueRange[14](close)

        atrmas = BetterKumo + (aa*myatr)
        atrmenos = BetterKumo-(aa*myatr)
        //atrmasint = BetterKumo + (aa*mysup)
        //atrmenosint = BetterKumo-(aa*mysup)

        return BetterKumo COLOURED BY c as “Pr-K Bin Better”, atrmas as “ATR mas”, atrmenos as “ATR menos”

      • Esto ya es un reto personal. Tengo que conseguir que te funcione! Jejeje!
        A ver, veo que hay cosas que no sé por qué que te faltan (creo que es problema de WordPress al cortar-pegar).
        He acutalizado el cuerpo del post, con el código para que funcione.
        Acabo de probar a copiar y pegar en Prorealtime como nuevo indicador y me funciona.
        Hay que poner variables p1, p2, p3, aa, n.

        Si esto ya no funciona, me hago ebanista. ;-)

    • Esto ya es un reto personal. Tengo que conseguir que te funcione! Jejeje!
      A ver, veo que hay cosas que no sé por qué que te faltan ().
      He acutalizado el cuerpo del post, con el código para que funcione.
      Acabo de probar a copiar y pegar en Prorealtime como nuevo indicador y me funciona.
      Hay que poner variables p1, p2, p3, aa, n.

      Si esto ya no funciona, me hago ebanista. ;-)

      • buenas otra vez, Enrique,verás, me daba error en las “comas” y en la parte final de return el COLOURED BY no lo reconoce,por lo que no aparecen las zonas de color.El aspecto no es como el tuyo ( que si son Kumos),sino que me aparecen tres rayas…
        si tienes tiempo y ganas,te agradecería un montón que pusieses un nuevo post donde explicar paso a paso ( para torpes como yo) la construcción y diseño de este indicador.
        atento quedo a lo que digas o hagas.
        Una jartá de gracias por tus molestias y el tiempo dejado .

      • Que pena no funciona, siempre me han interesado estos indicadores japoneses creo que tenemos mucho que aprender de ellos.
        A mi ni siquiera se inicia me da error. Me indica que esta mal al final.
        Muchas gracias de antemano, mira por favor si lo puedes arreglar y que funcione.

      • Hola! Gracias por vuestro interés.
        Voy a hacer un post paso-a-paso para ver si consigo que os funcione.
        A ver si este finde saco un rato. No desesperéis que no me olvido! :-)
        Un saludo!

    • Hola Pedro, hombre, “empresas de prop trading” es un término un poco difuso y el mundo es muy grande. No puedo generalizar.
      Hay de todo en el mundo del trading. Están los hedge funds, los bancos de inversión, los HFT… Los hay que usan análisis fundamental, técnico, cuantitativo, contrarian, basado en noticias, en tweets…
      El análisis técnico tiene tantos partidarios como detractores. Te puedo decir con seguridad, que Ichimoku por ejemplo se usa mucho en Asia, sobre todo en Japón pues nació ahí.
      Yo estuve en un seminario en las oficinas de Bloomberg sobre Ichimoku, y me sorprendió ver algún Hedge Fund. También puede que sea un apoyo a otras técnicas que tengan o sólo fueran por curiosidad.
      Después de años operando Ichimoku, ví con alegría cómo también adoptaba esta técnica José Luis Cárpatos, trader español muy respetado y al que admiro profundamente. http://www.estrategiasdeinversion.com/carpatos/

      Mi opinión personal es que Ichimoku funciona muy bien en tendencia, hay que tener cuidado con él en los laterales.

  3. He visto que habéis probado de todo para que no de error, yo por mi parte lo he intentado con todas las opciones que pones y nada jaja..cachiss,,

    • Voy a tener que exportar los indicadores para que os los instaleis. ¿Algún sitio dónde se pueda subir un archivo que NO sea Dropbox ni ninguna nube privada?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s