Los Gráficos Kagi

Los mejores corredores de opciones binarias 2020:
  • Binarium
    Binarium

    1er lugar! El mejor broker de opciones binarias!
    Ideal para principiantes! Entrenamiento gratis! Bonos de registro!

  • FinMax
    FinMax

    2do lugar! Broker confiable!

Indicador para la representación del gráfico Kagi

Introducción

En el artículo «Indicador para la representación del gráfico de punto y figura» se ha descrito uno de los métodos de programación para la creación del gráfico de punto y figura. Este gráfico es conocido desde el siglo XIX. Sin embargo, este no es el único gráfico que nos ha llegado de aquella lejana época. Otra herramienta importante de los primeros tipos de representación del mercado financiero es el gráfico Kagi. Este gráfico va a ser el tema de este artículo.

La bolsa de valores -institución financiera desconocido en Japón del siglo XIX- se fundó en mayo de 1878. Hoy en día es conocida como la Bolsa de Tokio. Este acontecimiento tuvo un papel fundamental en la creación y desarrollo posterior de los gráficos Kagi. Europa y Estados Unidos llegaron a conocer los gráficos Kagi tras la publicación de «Beyond Candlesticks: New Japanese Charting Techniques Revealed» por Steve Nison en 1994.

La palabra japonesa «Kagi» significa una llave en forma de L que estaba en uso durante la época del desarrollo del gráfico. Además, hay una versión modificada del nombre; «gráfico de llave». En la publicación «Beyond Candlesticks» (Más allá de las velas) de Steve Nison, también puede encontrar nombres alternativos del gráfico: gráfico de rango de precios, gráfico de gancho (hook), gráfico delta o cadena.

¿Qué tiene de particular este gráfico? Su principal característica es que ignora la línea de tiempo dejando sólo el precio (a diferencia de las velas japonesas, barras y líneas). De modo que el gráfico oculta las pequeñas fluctuaciones de los precios, dejando solamente las más significativas.

El gráfico representa un conjunto de líneas Yang gruesas y líneas Yin finas que se alternan en función de la situación del mercado. Si el mercado se mueve en la misma dirección, se extiende la línea, alcanzando un nuevo rango de precios. Sin embargo, si el mercado se vuelve hacia atrás y alcanza una cantidad predefinida, se dibuja la línea de Kagi en la dirección opuesta en la nueva columna. Se establece la cantidad predefinida en puntos (se usan generalmente para los pares de divisas), o en el valor porcentual del precio actual (se usa generalmente para los acciones). El grosor de la línea varía según el avance (breakthrough) más cercano de máximo o mínimo.

1. Ejemplo de representación gráfica

Vamos a utilizar los datos del historial de EURUSD, H1 entre el 8 y el 11 de octubre.

En la figura 1 se muestra un ejemplo estándar con un umbral de inversión de 15 puntos:

Fig. 1. Gráfico Kagi, EURUSD H1

Como podemos observar, comenzó a bajar el precio comenzó a las 17:00. El movimiento bajista duró hasta las 21:00. A las 22:00, se mueve el precio hacia arriba desde 1.3566 y se ha cerrado a 1.3574. En otras palabras, el precio sube en 11 puntos. Esto no es suficiente para una inversión, pero el nuevo mínimo tampoco se ha alcanzado. El precio se desinfla durante las siguientes dos horas y, finalmente, a la 01:00 (9 de octubre), se observa un fuerte movimiento al alza, con un cierre a 1.3591 con 25 puntos (1.3591-1.3566). Esto significa que hay una inversión del precio.

La tendencia alcista continúa durante la siguiente hora. El precio alcanza 1.3599, reforzando la línea Yang gruesa. A las 3:00, los precios caen de forma súbita, cerrando a 1.3578, es decir, 21 puntos desde el Máximo anterior (1.3599-1.3578). Esto es más que suficiente para la inversión. La línea se mueve hacia abajo, pero conserva su forma (línea gruesa de Yang).

Hasta las 16:00, el precio se mueve hacia abajo y finalmente sobrepasa el mínimo más cercano y cambia de la línea Yang gruesa a la línea Yin fina. El valor mínimo de 1.3566 mencionado antes había servido en este caso como un precio de avance (breakthrough). El precio se sigue moviendo como una línea Yin y se cambia a Yang a las 14:00 el 10 de octubre, rompiendo el máximo más cercano de 1.3524 formado a las 23:00 (9 de octubre). Este pequeño ejemplo muestra cómo se forma el gráfico Kagi.

Los mejores corredores de opciones binarias 2020:
  • Binarium
    Binarium

    1er lugar! El mejor broker de opciones binarias!
    Ideal para principiantes! Entrenamiento gratis! Bonos de registro!

  • FinMax
    FinMax

    2do lugar! Broker confiable!

2. Principio de representación gráfica del indicador Kagi

Para conseguir que el indicador sea independiente del período de tiempo actual, se decidió copiar los datos del período de tiempo, en el cual se suponía que tenía que formarse el indicador, por separado y luego crear el indicador utilizando los datos obtenidos.

Esto permite examinar varios períodos de tiempo simultáneamente en un solo gráfico, ampliando los límites del análisis técnico en los gráficos Kagi. El indicador en sí se encuentra en una ventana independiente, pero también se pueden mostrar los datos en el gráfico principal. En otras palabras, la formación básica (aspecto estándar o modificado) se lleva a cabo en la ventana del indicador. Se copia el indicador en el cuadro principal, también se dibujan las etiquetas del precio y el tiempo (dependiendo de la configuración).

Como se mencionó anteriormente, el indicador dibuja el gráfico tanto en la versión estándar como en la versión modificada. La versión estándar se describió antes. Ahora, vamos a ver la versión modificada.

No sé si es una idea nueva, pero no he oído hablar de tal versión. La idea del filtro adicional consiste en que ahora no se filtran solamente los puntos de inversión, sino cada movimiento del gráfico. En otras palabras, el precio debe moverse en una distancia especificada para que se pueda formar el nuevo Máximo o Mínimo (que no debe confundirse con hombro / cintura). En general, sin importar como se mueve el precio, primero debe cubrir una distancia especificada. Después de eso, se determina si se trata de una continuación de la tendencia o de una inversión.

La figura 2 muestra el funcionamiento de este principio. Se muestra el gráfico modificado en azul, mientras que el estándar se muestra en rojo. Como podemos observar, el aspecto modificado responde a cambios en el movimiento del precio, filtrando más lentamente la mayoría de las señales de menor importancia.

Fig. 2. Versión modificada (línea azul) y estándar (línea roja) de la generación del gráfico Kagi

Además del gráfico Kagi, el indicador proporciona algunos elementos adicionales, tanto en la ventana del indicador como en el gráfico principal.

Dependiendo de la configuración, se pueden poner las etiquetas en la ventana del indicador. Estas etiquetas proporcionan datos sobre los precios de inversión. Se implementa la misma función mediante los niveles del precio, que (dependiendo de la configuración) se pueden distribuir uniformemente a lo largo de la ventana en todo el rango de precios utilizado para formar el indicador o en cada inversión del gráfico. Se pueden ajustar los colores de tres maneras: según el tipo de inversión (arriba – abajo), el tipo de línea (Yin – Yang) o ausencia de cambio de color.

Se proporcionan las etiquetas del precio de inversión, incluidas las temporales, en el gráfico principal. Estas etiquetas (dependiendo de la configuración) pueden ser de un solo color o cambiar el color de acuerdo con los colores de las líneas Yin o Yang.

Se implementa todo el código del indicador mediante las funciones que se comunican entre sí a través de las variables globales.

Se puede dividir el código en tres funciones principales y once adicionales. Se apoya la carga principal para calcular y rellenar los buffers de los trazados gráficos básicos y las matrices de los buffers adicionales en la función de la formación del gráfico Kagi en la ventana del indicador. Las otras dos funciones se encargan de proporcionar los datos: la primera copia los datos del tiempo, mientras que la otra copia de los datos de los precios de cada barra del período de tiempo seleccionado.

Las funciones adicionales restantes se encargan de llevar a cabo todos los trazados, la eliminación de los objetos, la descarga del indicador junto con la eliminación de todos los objetos del mismo, el cálculo de los parámetros de inversión, el dibujo de etiquetas en el gráfico principal y en la ventana del indicador, la creación de objetos gráficos de tipo «línea de tendencia», el dibujo de Kagi en el gráfico principal, así como la definición de la llegada de la nueva barra para iniciar la formación del indicador.

3. El Código y el algoritmo del indicador

Ahora, vamos a examinar el código del indicador y el algoritmo de su formación en detalle. El código es bastante grande y puede ser bastante difícil de entender para los programadores novatos. Las funciones que se comunican entre sí a través de las variables globales hacen que el código sea muy confuso. En esta parte del artículo, voy a explicar cada función y parte del código por separado. En primer lugar, voy a describir los ajustes del indicador y luego aportaré más detalles relativos a las funciones iniciales de copia de datos, el cálculo de los parámetros de inversión, la función principal de la formación y cálculo del gráfico Kagi y otras funciones adicionales.

3.1. Parámetros de entrada del indicador

Se inicia el código con la declaración del indicador en una ventana separada, así como 12 buffers y 8 construcciones gráficas del indicador. En primer lugar, vamos a definir qué 8 construcciones gráficas, incluyendo dos «histogramas» y seis «líneas», se han utilizado. Cada «histograma» construye su propia línea vertical. Una de las líneas se encarga de la línea de Yin, mientras que la otra es para la línea Yang.

Es algo más complicado con las «líneas», ya que hay tres para cada línea. Esto se hace por el hecho de que se dibuja la línea si hay otro punto que dibujado cerca de la primera. Es decir, necesitamos girar solamente dos trazados gráficos de tipo «línea» para dibujar dos líneas adyacentes entre sí. Sin embargo, si queremos que estas líneas omitan los puntos necesarios, nos hará falta girar el tercer trazado con los otros dos.

Se explica esto en la figura 3, donde se puede ver lo que sucede si se usan sólo dos trazados gráficos de tipo «línea»:

Fig. 3. Ejemplo de uso de dos y tres trazados gráficos de tipo «línea» para mostrar las líneas de los hombros y de las cinturas

A continuación, se crea el menú de los ajustes. En este caso, hay cinco enumeraciones (vamos a examinarlas en los parámetros de entrada).

El primer parámetro de entrada «period» es un período, en el cual se lleva a cabo el trazado, es seguido por «period_to_redraw» es el período de actualización del trazado del gráfico y el último parámetro «start_data» es el instante a partir del cual comienza el trazado.

Estos parámetros son seguidos por el trazado del gráfico y por los parámetros de etiquetado adicionales:

  • kagi_type – tipo de trazado gráfico definido por el usuario, estándar o modificado;
  • price_type – tipo de precios utilizados para el trazado: Cierre, Apertura, Máximo y Mínimo;
  • type_doorstep – tipo de inversión utilizado: punto y porcentaje;
  • doorstep – valor de inversión (especificado en puntos o porcentaje dependiendo del parámetro anterior);
  • color_yin – color de la línea Yin en la ventana del indicador;
  • color_yang – color de la línea Yang en la ventana del indicador;
  • width_yin – grosor de la línea Yin en la ventana del indicador;
  • width_yang – grosor de la línea Yang en la ventana del indicador;
  • levels_on_off – si hay que dibujar los niveles del precio en la ventana del indicador;
  • levels_type – tipos de niveles del precio en la ventana del indicador. Existen dos valores para elegir: en cada inversión o de manera uniforme en todo el rango de precios;
  • levels_number – número de niveles del precio en la ventana del indicador.
  • levels_change_color – permite cambiar el color de las líneas del nivel del precio; las opciones son inversiones superiores e inferiores, líneas Yin y Yang o ausencia de cambios;
  • levels_first_color – el primer color de un nivel del precio;
  • levels_second_color – el segundo color de un nivel del precio;
  • Label_1 – dibujar etiquetas del precio de inversión del gráfico en la ventana del indicador;
  • label_1_number – número de etiquetas que se muestran en la ventana del indicador;
  • label_1_color – color de las etiquetas de precios en la ventana del indicador;
  • label_2 – dibujar etiquetas de precios en el gráfico principal;
  • label_2_color – color de la etiqueta en el gráfico principal;
  • time_line_draw – dibujar líneas de tiempo de inversión en el gráfico principal;
  • time_separate_windows – dibujar la continuación de las líneas de tiempo de inversión a partir del gráfico principal;
  • time_line_change_color – cambiar el color de la línea de tiempo en función de la etiqueta de inversión en la línea Yin o Yang;
  • time_first_color – el primer color de la línea de tiempo en el gráfico principal;
  • time_second_color – el segundo color de la línea de tiempo en el gráfico principal;
  • kagi_main_chart – si hay que dibujar Kagi en el gráfico principal;
  • color_yin_main – color de la línea Yin en el gráfico principal;
  • color_yang_main – color de la línea Yang en el gráfico principal;
  • width_yin_main – grosor de la línea Yin en el gráfico principal;
  • width_yang_main – grosor de la línea Yang en el gráfico principal;
  • magic_numb – el número mágico utilizado para la construcción de objetos y su eliminación, así como en el nombre del indicador con el fin de ejecutar varios indicadores en un solo gráfico.

Estos parámetros son, a su vez seguidos por las declaraciones de buffers de indicadores, buffers adicionales para almacenar los valores del precio y el tiempo, variables auxiliares (stop_data, bars_copied, bars_copied_time, copy_history, copy_time), matrices para almacenar los datos acerca de la línea Yin o Yang en la cual se ha producido un cambio de movimiento en el gráfico, el tiempo y el precio de este cambio y el precio central (si se sustituye Yin por Yang en la barra o viceversa). Por último, se declara una de las variables globales más usadas que contiene datos acerca del número de cambios en el movimiento del gráfico «a».

3.2. Función de inicialización del indicador

Lo siguiente es la función de inicialización del indicador. Los buffers del indicador y su indexación (principalmente como series temporales; ya que el gráfico Kagi es más corto que el principal, es mejor dibujarlo al revés) se especifican en esta función, además del establecimiento de los valores que no se van a mostrar en la pantalla (EMPTY_VALUE = -1).

Ahora, asignamos el nombre del indicador y la precisión de su representación. Como se mencionó antes, se añade el número mágico al nombre. Esto se hace para permitir un funcionamiento correcto de la función ChartWindowFind(). De lo contrario, el objeto gráfico dibujado en la ventana del indicador se muestra solamente en el primer indicador ejecutado (en caso de utilizar varios indicadores en un solo gráfico).

A continuación, asignamos los nombres a las líneas del trazado, inhabilitamos la visualización de los actuales valores numéricos en la ventana del indicador, fijamos el color y el grosor de las líneas Yin y Yang y establecemos el número de niveles del precio que se muestran en la ventana del indicador.

3.3. Función para copiar los datos

Ahora, vamos a analizar las funciones para copiar los datos.

En este caso, tenemos dos. La primera es para copiar los precios, mientras que la segunda es para copiar el tiempo de apertura de cada barra. Ambas funciones conservan sus valores en los buffers de cálculo del indicador declarados previamente.

En primer lugar, vamos a considerar la función que copia los precios. Los parámetros de entrada de la función: matriz de almacenamiento de datos, tiempo de inicio y de finalización de la copia de los datos (tiempo actual). El cuerpo de la función contiene las variables para dar respuesta a la función, se copia el número de datos (barras) en la matriz intermedia, la propia matriz intermedia dinámica y el número de barras que hay que copiar a la matriz intermedia. Se calcula el número de barras en función del número total de barras en el período de tiempo determinado y el número de barras (variable global) que fueron copiados en la llamada anterior a la función.

Si no es la primera vez que se copian los datos, se deben actualizar los datos de la última barra copiada. Para ello, restamos uno al número de barras copiadas y añadimos uno al número de barras recién copiadas. También cambiamos el tamaño de la matriz intermedia, preparándola para copiar las barras.

Dependiendo de la configuración, copiamos los precios a la matriz intermedia. Si la copia se hace correctamente, se copian los datos desde la matriz intermedia hasta el final de la matriz del buffer (matriz de la respuesta de la función), se asigna la respuesta positiva a la función y se actualiza la variable global almacenando los datos acerca del número de barras copiadas. Este tipo de copia permite copiar solamente unas cuantas de las últimas barras, reduciendo el tiempo dedicado a copiar los datos.

La siguiente función es la de copiar los datos del tiempo. Es diferente de la anterior por el hecho de que trata con otro tipo variable; datetime (que se convierte en doble cuando se copia en la matriz del buffer del tiempo; la matriz de la respuesta de la función). Otra diferencia es que no se usa la instrucción switch(), ya que no hace falta seleccionar los datos copiados.

3.4. Función para el cálculo del parámetro de inversión

Puesto que el parámetro de inversión puede ser un punto o un porcentaje, necesitamos la función que calcula el parámetro de inversión dependiendo de la configuración del indicador. La función tiene un solo parámetro; el precio para calcular el porcentaje de inversión. Primero se inicializa la variable de la respuesta mediante el tipo double (doble) y después de los cálculos, se convierte indirectamente al tipo int (entero) para la respuesta.

Se hace esto porque en los cálculos se usan los números de coma flotante, mientras que se debe presentar la respuesta en forma de enteros. Se implementa la selección en la función mediante la instrucción condicional if-else. Se lleva a cabo la comparación directamente con la variable externa input (parámetros del indicador). Se lleva a cabo el cálculo de los puntos mediante una ecuación simple. En primer lugar, se define el número total de puntos que ha enviado el precio. A continuación, se calcula el porcentaje especificado en base a este número y se asigna a la variable devuelta.

3.5. La función principal: Dibujar el gráfico Kagi

Ya hemos examinado todas las funciones necesarias para el funcionamiento de la función principal; dibujar el gráfico Kagi en la ventana del indicador (es decir, rellenar los buffers del indicador). Los parámetros de entrada de la función consisten en matrices de datos. Dos de ellas son los buffers de cálculo descritos anteriormente (precio y tiempo copiados previamente), el resto son las matrices de los buffers de trazado del indicador.

Se declaran las variables necesarias para almacenar los datos en el trazado del gráfico de la función. Puesto que el gráfico se construye mediante el operador de bucle for, deberíamos disponer de los datos de la etapa de la pasada anterior finalizada. Se puede lograr esto mediante seis variables: line_move; a donde se movió el precio en la pasada anterior, line_gauge; calibre de línea (grosor de línea) -Yin o Yang, price_1 y price_2; precio anterior y actual considerado, price_down y price_up; precio anterior de hombro y cintura. Como podemos observar, se equipara price_1 inmediatamente al primer elemento de la matriz de precios copiado debido a que esta variable está involucrada en los cálculos antes de la comparación desde el principio del bucle.

Ya que las matrices de los buffers del trazado gráfico del indicador tienen el flag de indexación AS_SERIES, hay que rellenarlos en orden inverso. Para ello, se implementan matrices de tiempo con el tamaño adecuado. Las variables globales para el almacenamiento de los datos sobre del tiempo, los tipos de línea, «hombro» y «cintura», así como los precios de inversión se convierten después del mismo modo.

A continuación, hay que rellenar todas las matrices con valores «vacíos» (-1). Esto se hace mediante dos pequeños bucles. Es posible juntar todo en un solo bucle. Pero el uso de los dos hace más claras todas las acciones llevadas a cabo, sin cambiar mucho el tiempo de ejecución. En otras palabras, se rellenan los buffers gráficos y las matrices temporales del cálculo por separado.

Ahora, todas las variables están declaradas, convertidas y rellenas, de modo que se puede ejecutar el bucle principal. Es bastante grande (aunque el cálculo se realiza con la suficiente rapidez) e incluye el análisis de todas las barras previamente copiadas.

El bucle recorre todas las barras copiadas y rellena las matrices necesarias previamente declaradas para seguir trabajando con ellas. En primer lugar, vamos a definir todas las matrices utilizadas en el bucle:

  • yin_int_1 – valor principal del precio de la línea Yin vertical (si la línea Yin vertical está dibujada y el gráfico se mueve hacia abajo, se trata del valor máximo del precio, si el gráfico se mueve hacia arriba, tenemos el caso contrario);
  • yin_int_2 – valor secundario del precio de la línea Yin vertical (si se dibuja la línea hacia arriba, se trata del valor máximo, y si la línea es hacia abajo, tenemos el caso contrario);
  • yang_int_1 – valor principal del precio de la línea Yang vertical;
  • yang_int_2 – valor secundario del precio de la línea Yang vertical;
  • lin_yin – valor de la línea Yin horizontal (precio de inversión en la línea Yin);
  • lin_yang – valor de la línea Yang horizontal (precio de inversión en la línea Yang);;
  • time_change – momento de la inversión del gráfico (trazado de un hombro o una cintura);
  • time_line – la línea durante la inversión de Yin = 0 o Yang = 1;
  • time_central_price – el valor del precio central, el precio en el momento en que la línea Yin se convierte en Yang, o viceversa;
  • time_change_price – el valor del precio de inversión (hombro o cintura), es una variable común que no depende de los tipos de línea Yin o Yang.

Se asigna el valor del precio actual analizado desde el buffer Price a la variable price_2 antes de cada pasada del bucle para su posterior comparación en las instrucciones condicionales if-else. Después, se analiza la matriz del buffer de los datos copiados paso a paso y se rellenan las matrices mencionadas anteriormente. Cada instrucción condicional if-else lleva a cabo ciertas acciones dependiendo de las condiciones: dirección anterior de las líneas del gráfico (arriba o abajo) y el aspecto anterior de las líneas (Yin o Yang). A continuación, se comprueban las condiciones del movimiento (si el precio ha pasado de un cierto número de puntos) en función del tipo de trazado (estándar o modificado).

Si todo va bien, se reasignan o definen las nuevas variables (elementos de la matriz). Se define el tipo de línea (Yin o Yang) desde el principio. Dependiendo del movimiento y de las acciones anteriores, se lleva a cabo la distribución posterior.

Hay dos posibles movimientos del precio:

  1. El precio se mueve hacia arriba;
  2. El precio se mueve hacia abajo.

Hay también cuatro tipos de acciones previas en cada dirección:

  1. La línea anterior era Yin y se mueve hacia arriba;
  2. La línea anterior era Yang y se mueve hacia arriba;
  3. La línea anterior era Yin y se mueve hacia abajo;
  4. La línea anterior era Yang y se mueve hacia abajo.

Por tanto, tenemos ocho casos, aparte de las dos primeras definiciones del movimiento inicial del gráfico (apariencia de la primera línea).

Después de eso, se da por finalizado el bucle principal. Se lleva a cabo la reasignación (inversión) y el rellenado de los buffers para construir el gráfico en un bucle más pequeño que consiste en el número de inversiones del gráfico Kagi definidas previamente en el bucle principal y escritas en la variable «a». En cuanto a la distribución de los valores del precio máximo y mínimo y las líneas verticales, todo es muy sencillo: se lleva a cabo una simple inversión. En otras palabras, se asignan los valores primarios obtenidos previamente (matrices con índices 0, 1, 2, 3 . ) a los valores finales de los buffers (se utiliza un elemento con el índice «а», es decir, а, а-1, а-2, а-3 . como valor final). Para evitar que se peguen las líneas de inversión (horizontales) entre sí, se lleva a cabo una rotación mediante la instrucción switch como se mencionó anteriormente.

Con esto se da por finalizado el trabajo de la función principal para el trazado del gráfico Kagi.

3.6. Función para la creación del objeto gráfico «línea de tendencia»

Ahora, vamos a analizar la función para la creación del objeto gráfico «línea de tendencia». Esta función es necesaria para poder dibujar el gráfico Kagi en el gráfico principal.

La función es muy sencilla. Contiene los parámetros de entrada necesarios para crear un objeto gráfico «línea de tendencia»: nombre del objeto, primer y segundo precio y puntos de tiempo, así como el grosor de la línea y el color. El cuerpo de la función contiene la función para crear el objeto gráfico y seis funciones para cambiar las propiedades de la misma.

3.7. Dibujar Kagi en el gráfico principal

La siguiente función que llama varias veces a la anterior es la función del trazado de Kagi en el gráfico principal. Se usan las variables globales examinadas previamente y que se han rellenado en la función principal del trazado del gráfico como variables de entrada: la matriz de los precios de inversión («hombros» y «cinturas»), la matriz de cambio y los precios centrales (el precio para el cual se convierte la línea Yin en Yang o viceversa), la matriz del tiempo de inversión (que está en tiempo real, se usa el índice [z-1] de la matriz para marcar el inicio de la inversión), la matriz del tipo de línea, en la cual se produce la inversión (también está adelantada de un elemento, al igual que la matriz de tiempo).

El cuerpo de la función consiste en un bucle. Se divide el bucle en dos partes: el trazado de líneas verticales y horizontales. El primero de ellos también se divide en dos: el dibujo de las verticales, teniendo en cuenta el cambio de línea (cambio del precio central) y la ausencia de cambio. Tenga en cuenta los parámetros transferidos de la función de creación del objeto «línea de tendencia».

Se lleva a cabo la asignación del nombre repetidamente. Se inicia el nombre del objeto con un número mágico (necesario para eliminar los objetos de un determinado indicador), entonces se pone su tipo y, finalmente, se le asigna el índice. Se actualiza el índice en cada pasada del bucle.

3.8. Implementación de etiquetas adicionales

Como ya he mencionado anteriormente, el indicador implementa unas etiquetas adicionales. Vamos a examinar la función que proporciona estas etiquetas en el gráfico principal. Sólo hay dos tipos de etiquetas aquí: etiquetas del precio de inversión y del tiempo de inversión que se muestran mediante la «etiqueta de precio» y la «etiqueta vertical». Se pasan los siguientes parámetros de entrada: atributo del dibujo de la etiqueta del precio de inversión y el color de la etiqueta, atributos del dibujo de la etiqueta del tiempo de inversión y cambio de color de la etiqueta, el primer y segundo color del tiempo de inversión.

Se divide la función entera en dos partes: la primera parte se encarga de las etiquetas del tiempo, mientras que la segunda es para las etiquetas del precio. Ambas partes de la función consisten en los bucles limitados por el número de inversiones del gráfico (variable «a»). Se coloca la declaración condicional if-else del bucle. La declaración comprueba la necesidad de dibujar de acuerdo con los valores del indicador.

El primer bucle crea las etiquetas de tiempo, se lleva a cabo la definición del nombre del objeto al principio del bucle (el principio de generación de los nombres se ha descrito anteriormente). A continuación, se selecciona el color en función de la línea a partir de la matriz de tipo línea declarada a nivel global (si el parámetro está establecido) y se aplican otros parámetros a la línea.

El segundo bucle se encarga de crear las etiquetas del precio de inversión. En primer lugar, se genera el nombre del objeto. Después, se establece la selección del índice de la matriz de tiempo dependiendo de si se va a dibujar Kagi en el gráfico principal o no. Si esto no se hace, las etiquetas estarán «en el aire» y no quedará muy claro en qué lugar se ha producido la inversión. A continuación, se crea y se configura el objeto de tipo «etiqueta de precio».

Ahora, vamos a ver cómo podemos poner las etiquetas en la ventana del indicador.

Todas las etiquetas de la ventana del indicador son en su mayoría de precios, y sólo hay dos tipos de ellas: las etiquetas del precio de inversión y los niveles del precio. Hay dos tipos de dibujo de los niveles del precio: en las inversiones del gráfico y a la misma distancia de toda la gama de precios del gráfico. El primer tipo puede cambiar el color de los niveles de dos maneras: en función del tipo de línea (Yin o Yang) y en función de la inversión (arriba o abajo).

Por tanto, la función en sí se divide en dos bucles: el primero se encarga de crear las etiquetas del precio de reversión y el segundo es para tratar de designar los niveles del precio. Este último se divide en dos tipos: la etiqueta en cada inversión o las etiquetas de todo el rango de precios en un mismo nivel.

Esta función es diferente de la anterior por el hecho de tener limitaciones en el número de etiquetas y niveles del precio debido a que los números grandes sobrecargan el gráfico, complicando su comprensión.

Debido a esta característica, los dos bucles están limitadas por el número de pasadas especificadas en la configuración del indicador (número de etiquetas y niveles del precio). Este enfoque es peligroso ya que el número de inversiones puede llegar a ser mucho más pequeño que el número de etiquetas del precio establecido en la configuración. Por consiguiente, se comprueba la presencia de la inversión durante cada pasada del bucle para dibujar una etiqueta o nivel de precio.

La única excepción es el dibujo de los niveles del precio a lo largo de toda la gama de precios en la misma distancia. Se lleva a cabo la generación del objeto gráfico «etiqueta de precio» en las coordenadas en orden inverso, es decir, las etiquetas se colocan desde la fecha actual hacia el pasado. Es igual para los niveles del precio: primero se generan los niveles del precio actual seguidos por los anteriores. Excepto los niveles del precio que no dependen de las inversiones del gráfico.

Se realizan los cambios de color del nivel del precio mediante las instrucciones condicionales if-else en función de la configuración.

3.9. Eliminación de objetos gráficos creados previamente

Ya sabemos que este indicador está lleno de objetos gráficos. Es el momento de pensar cómo podemos eliminarlos de forma rápida y eficiente.

Se ejecuta esta tarea mediante la función para la eliminación de los objetos gráficos. Como parámetros de la función, se usan el nombre inicial y el número de objetos. Al igual que durante la creación, el nombre del objeto debe contener el número mágico y el nombre de un tipo de objeto. La llamada de la función en el programa está limitada por el número de objetos, excediendo los que puedan existir. Sin embargo, esto no afecta a la funcionalidad del indicador.

3.10. Función para el inicio del trazado del gráfico

Después de haber analizado todas las funciones para el cálculo y la construcción del gráfico Kagi, así como para la creación y eliminación de objetos, debemos considerar ahora otra pequeña función para el control de la llegada de una nueva barra. La función es bastante sencilla y tiene un solo parámetro de entrada; el período analizado. La respuesta de la función es muy sencilla también. Es de tipo bool y contiene la respuesta acerca de la presencia o no de una nueva barra. Se basa el cuerpo de la función en el operador switch que pasa el control a sus diferentes estados en función del período.

En el ejemplo, la función abarca todo el rango de los períodos, aunque sólo se puede utilizar un período.

Se ha tomado el algoritmo de la función a partir del código de IsNewBar: se compara el tiempo de apertura de la última barra con el valor del tiempo previamente definido. Si los valores son distintos, hay una nueva barra. Se asigna el nuevo valor como el que se ha definido previamente y se considera que la respuesta de la función es positiva. Si el tiempo de apertura de la última barra coincide con el valor del tiempo determinado previamente, entonces, todavía no ha aparecido una nueva barra y la respuesta de la función es negativa.

3.11. Las funciones OnCalculate() y OnChartEvent()

Todas las funciones descritas anteriormente se consolidan en la función con el mismo nombre; Func Consolidation. Se ejecuta esta función cada vez que aparece una nueva barra en la función OnCalculate() y cuando se pulsa la tecla «R» desde la función OnChartEvent().

Antes de que se genere o actualice el gráfico, se llama a la función para eliminar todos los objetos gráficos en la función de consolidación (Func Consolidation). Puesto que hay bastantes objetos y que están divididos entre las etiquetas del gráfico principal y las etiquetas del precio de la ventana del indicador, las líneas verticales que indican el tiempo de inversión, así como las líneas de tendencia Yin y Yang verticales y horizontales, el número de llamadas de la función es 7.

A continuación, se copian los datos del historial por precio y tiempo. Después se ejecuta la función principal para la construcción del gráfico Kagi. Luego, se llama a la función para la colocación de todas las etiquetas del precio en el gráfico principal y en la ventana del indicador. Por último, se genera Kagi en el gráfico principal y se ejecuta la función para redibujar los objetos.

3.12. Función OnDeinit()

Se lleva a cabo la eliminación de todos los objetos en la función de desinicialización del indicador.

Ahora, vamos a pasar al uso del indicador en la práctica.

4. Utilización del gráfico Kagi en la práctica

Hay muchas estrategias de trading basadas en el gráfico Kagi. Examinaremos algunas de ellas.

Vamos a comenzar con la estrategia más popular: vender cuando Yang cambia a Yin y comprar en el caso contrario. Se muestra esto en la figura 4:

Fig. 4. Vender cuando Yang cambia a Yin y comprar en el caso contrario

Como puede se puede observar en la figura 4 (EURUSD M30, 5 puntos), esta estrategia da buenos resultados. La figura muestra 8 puntos por 4 señales, el primero (1) muestra que la posición larga se debe abrir en 1.3518, lo que parece correcto ya que después, el precio alcanza aproximadamente 1.3560 abarcando 42 puntos por día. Este es un buen resultado.

El siguiente punto (2) recomienda vender a 1.3519. Como podemos observar, el precio se mueve en realidad hacia abajo cruzando el nivel de 1.3485 (y abarcando 34 puntos) durante aproximadamente dos horas.

Pasemos al punto (3). Se abre la posición larga en 1.3538 y el precio se mueve hacia arriba llegando a 1.3695. Por consiguiente, el beneficio ya es de 157 puntos para un día y medio. Por supuesto, estos son los máximos beneficios posibles, pero el resultado sigue siendo bastante bueno.

La siguiente estrategia de trading es la de rodar hacia atrás desde la línea de tendencia que se muestra en la figura. 5 (EURUSD M30, 5 puntos), del 07 al 18 de octubre:

Fig. 5. Revirtiendo desde la línea de tendencia

Podemos seguir moviéndonos y operar siguiendo los canales. Se puede analizar un ejemplo de la búsqueda de un canal en la figura 6 (EURUSD H1, 5 puntos), más o menos el mismo período:

Fig. 6. Trading mediante los canales

La estrategia menos popular basada en el hecho de que después de 7-10 sucesivos aumentos de «hombros» o disminuciones de «cinturas», habrá sin duda una inversión (caída o subida).

Se muestra esto en la figura 7 (GBPUSD H4, 25 puntos), del 10 de julio al 18 de octubre:

Fig. 7. 7-10 sucesivos aumentos de «hombros» o disminuciones de «cinturas»

Como se puede observar en la imagen, a los siete hombros ascendentes les sigue una caída importante de alrededor de la mitad de la subida anterior (unos 300 puntos).

Vamos a examinar la estrategia de «trading mediante de una etiqueta de precio» para mostrar la necesidad de usar parámetros adicionales del indicador. La idea consiste en entrar al mercado cuando el precio es superior (comprar) o se mueve por debajo (vender) de la etiqueta del precio anterior.

Se muestra la estrategia en la figura 8 (GBPUSD H4, 30 puntos, construcción modificada):

Fig. 8. Trading mediante una etiqueta de precio

Las flechas rojas en la figura 8 indican cuándo hay que comprar o vender. Las flechas se alejan de la etiqueta de precio anterior que indica las ubicaciones de las etiquetas de precios anteriores que fueron traspasadas.

Las etiquetas de tiempo sirven principalmente para señalar la dirección de la tendencia. Puesto que se puede cambiar el color de las etiquetas de tiempo en función del tipo de línea, y que el tipo de línea Yin o Yang indica la dirección de la tendencia o su inversión, el color puede ayudar a definir el estado de ánimo actual del mercado.

Por ejemplo, vamos a utilizar el gráfico de cotización de #IBM (H4, 1%, construcción estándar) que se muestra en la figura 9:

Fig. 9. Definir la dirección de la tendencia mediante etiquetas de tiempo

El gráfico muestra que las líneas azules están presentes principalmente en la parte superior del gráfico, mientras que las rojas se encuentran en la parte inferior.

Conclusión

Se puede utilizar el gráfico Kagi con éxito para el trading en el mercado, que sea como base para la estrategia o como herramienta adicional para un análisis más preciso.

En este artículo, he examinado el código en sí y algunas características de la construcción del indicador. El objetivo principal ha sido la creación del indicador multifuncional que contiene todos los elementos necesarios con algunas características adicionales que se puedan desactivar.

Estaré encantado de considerar nuevas ideas y mejoras para el indicador y, tal vez, ponerlas en práctica en el futuro. Agradezco también sus comentarios y estaré encantado de responder a sus preguntas acerca del indicador.

Este artículo prosigue la serie dedicada al desarrollo de indicadores para la construcción de gráficos del pasado Se puede consultar el artículo anterior aquí. La serie se va a continuar, y espero volver a verle pronto. ¡Gracias por su interés! Le deseo un trading exitoso, así como unos códigos optimizados y estables.

Blog Trading Financiero

Escuela Trading-Consejos para Traders

Análisis Técnico-Otros Gráficos

A parte de los gráficos lineales, los gráficos de barras y los gráficos de candelas, los operadores que fundamentan sus estrategias de trading en el análisis técnico también usan otros tipos de gráficos que son bastante famosos entre algunos operadores por ciertas ventajas que ofrecen para el análisis del precio y de las tendencias en el mercado. A continuación vamos a nombrar los gráficos más importantes de tal modo que explicaremos en qué consisten y cómo puede operar con ellos.

Gráfico Kagi

Es un tipo de gráfico que enseña un diferente espesor de línea según sea la dirección del mercado.

Gráficos Swing

Los gráficos Swing son un cambio de los gráficos Kagi que os hemos enseñado anteriormente. Pueden ser de gran utilidad para el trader ya que indican con suma claridad las tendencias del mercado, lo que simplifica el proceso para su identificación. Hay que recordar que una vez que determinamos cual es la tendencia que domina el mercado en un momento específico, resulta mucho más sencillo elaborar estrategias que nos permitan operar de modo más efectivo.

Una de las mayores ventajas de este tipo de gráfico es que muestra menos “ruido” del mercado, lo que puede ayudar a aplicar de forma más precisa otras formas de análisis técnico que no son sensibles al tiempo.

Existen otras variantes de esta herramienta, como los gráficos swing basados en Gann, las cuáles ofrecen formas más complejas para identificar tendencias. Así mismo, también ofrecen la posibilidad de hacer más cambios empíricos que permitan mejorar las capacidades para determinar las tendencias.

Gráfico Renko

Gráfico Three Line Break

Gráfico Semi-Logarítmico

Este tipo de gráficos son sumamente empleados por los operadores que utilizan el análisis técnico debido principalmente a que en un gráfico simétrico un aumento de precio significa la misma representación gráfica. De ahí se tiene básicamente que si compramos una acción a 100 € y la vendemos a 200 € el beneficio será 200 – 100 = 100 , o sea, obtenemos el 100%.

GrГЎfico de Kagi

DescripciГіn

Se utiliza para mostrar los niveles generales de oferta y demanda de un activo particular mediante la visualizaciГіn de las acciones de precios a travГ©s de una serie de patrones de lГ­nea. Los grГЎficos de Kagi son independientes del tiempo y ayudan a filtrar el ruido que puede ocurrir en otros grГЎficos financieros (como en un GrГЎfico de Velas), de modo que los movimientos de precios importantes se muestran con mayor claridad. Reconocer los patrones que se producen en los grГЎficos de Kagi es clave para entenderlos.

Mientras que los grГЎficos de Kagi muestran la fecha o la hora en su eje X, Г©stas son marcadores de hecho para las fechas de acciГіn de precio clave y no forman parte de una escala de tiempo. El eje Y del lado derecho se utiliza como escala de valores.

La lГ­nea en un grГЎfico de Kagi inicialmente se mueve verticalmente en la misma direcciГіn del movimiento de precios y continuarГЎ extendiГ©ndose, siempre y cuando el precio, independientemente de cuГЎn pequeГ±o sea, se mantenga en la misma direcciГіn. Una vez que el precio alcanza una cantidad В«reversaВ» predeterminada, la lГ­nea hace un giro en U y va en la direcciГіn opuesta. Por lo tanto, cada una de las pequeГ±as lГ­neas horizontales en el grГЎfico indican dГіnde se ha producido una inversiГіn de precios. Cuando una lГ­nea horizontal se une a una lГ­nea ascendente con una lГ­nea que se hunde se conoce como В«hombroВ», mientras que una lГ­nea horizontal que conecta una lГ­nea que se hunde con una lГ­nea ascendente se conoce como В«cinturaВ».

El espesor variable (o color) de la lГ­nea depende del comportamiento del precio. Cuando el precio va mГЎs alto que una reversiГіn anterior del В«hombroВ», la lГ­nea se hace mГЎs gruesa (y/o verde) y se conoce como В«lГ­nea YangВ». Esto puede interpretarse como un aumento de la demanda sobre la oferta para el activo y como una tendencia al alza. Alternativamente, cuando el precio se rompe por debajo de una inversiГіn anterior de В«cinturaВ», la lГ­nea se vuelve mГЎs delgada (y/o roja) y es conocida como В«lГ­nea YinВ». Esto significa un aumento en la oferta sobre la demanda del activo y como una tendencia de los precios bajista.

Los operadores usan el cambio de lГ­neas delgadas (Yin) a gruesas (Yang) (y viceversa) como seГ±ales para comprar o vender un activo. Un cambio Yin a Yang indica comprar, mientras que un Yang a Yin cambio indica vender.

Los mejores corredores de opciones binarias 2020:
  • Binarium
    Binarium

    1er lugar! El mejor broker de opciones binarias!
    Ideal para principiantes! Entrenamiento gratis! Bonos de registro!

  • FinMax
    FinMax

    2do lugar! Broker confiable!

Like this post? Please share to your friends:
Todo sobre opciones binarias
Deja un comentario

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: