MetaTrader 5 - Ejemplos Indicador para Kagi Charting Introducción El artículo Indicator for Point and Figure Charting ha descrito una de las formas de programación para crear el gráfico de Punto y figura. Esta carta se conoce desde el siglo XIX. Sin embargo, este no es el único gráfico del pasado remoto. Otro representante notable de los primeros tipos de la representación del mercado financiero es el gráfico de Kagi. Esta tabla se discutirá en el presente artículo. La institución financiera de bolsa desconocida para el Japón del siglo 19 se ha establecido en mayo de 1878. Se conoce como Bolsa de Tokio en la actualidad. Este evento jugó un papel vital en la creación y posterior desarrollo de las cartas de Kagi. Europa y Estados Unidos llegaron a conocer las tablas de Kagi tras la publicación de Steve Nisons Beyond Candlesticks: nuevas técnicas de gráficos japoneses reveladas en 1994. Las palabras japonesas Kagi significan una llave en forma de L que estaba en uso en el momento del desarrollo de la carta. Además, hay una versión modificada del gráfico de clave de nombre. En Steve Nisons Beyond Candlesticks, también puede encontrar nombres alternativos del gráfico: gráfico de rango de precios, gráfico de gancho, delta o gráfico de cadena. Lo que es tan especial sobre este gráfico Su característica principal es que ignora la escala de tiempo dejando sólo el precio uno (a diferencia de los candelabros japoneses, barras y líneas). Por lo tanto, el gráfico oculta fluctuaciones de precios despreciables dejando sólo los más significativos. La tabla representa un conjunto de Yang grueso y delgadas líneas Yin que se sustituyen dependiendo de la situación del mercado. En caso de que el mercado se mueva en la misma dirección, la línea se extiende alcanzando un nuevo rango de precios. Sin embargo, si el mercado retrocede y alcanza una cantidad predefinida, la línea de Kagi se dibuja en la dirección opuesta en la nueva columna. El importe predefinido se establece en puntos (usualmente utilizado para los pares de divisas) o en el valor porcentual del precio actual (normalmente utilizado para las acciones). El grosor de la línea varía dependiendo del avance más alto o más bajo. 1. Ejemplo de gráficos Permite utilizar los datos del historial en EURUSD, H1 del 8 al 11 de octubre. Un ejemplo de imagen estándar con un umbral inverso de 15 puntos se muestra en la Fig. 1: Fig. 1. Carta de Kagi, EURUSD H1 Como podemos ver, el precio comenzó a caer a las 17:00. El movimiento hacia abajo continuó hasta las 21:00. A las 22:00, el precio se mueve hacia arriba desde 1.3566 y se cierra en 1.3574. En otras palabras, el precio pasa 11 puntos. Esto no es suficiente para una inversión, pero tampoco se ha alcanzado la nueva baja. En las dos horas siguientes el precio se vuelve plano y finalmente, a las 01:00 (9 de octubre), vemos un fuerte movimiento ascendente, que se cierra en 1.3591 con 25 puntos (1.3591-1.3566). Esto significa que el precio se ha invertido. La tendencia alcista continúa la siguiente hora. El precio alcanza los 1.3599 reforzando la gruesa línea de Yang. A las 03:00, el precio cayó bruscamente a 1.3578, que es 21 puntos desde la anterior Alta (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 desplaza hacia abajo y finalmente se rompe a través del mínimo más cercano y cambia de Yang grueso a la delgada línea Yin. El anteriormente mencionado bajo valor de 1.3566 había servido como un precio de avance aquí. El precio continúa moviéndose como una línea de Yin y se cambia a Yang a las 14:00 el 10 de octubre rompiendo a través de la máxima más cercana de 1.3524 formada a las 23:00 (9 de octubre). Este pequeño ejemplo muestra cómo se forma la carta Kagi. 2. Indicador de Kagi Principio de Gráfico Para hacer que el indicador sea independiente del marco de tiempo actual, se decidió copiar los datos del período en el que se suponía que se formaría el indicador, y luego crear el indicador utilizando los datos obtenidos. Esto permite examinar varios marcos de tiempo simultáneamente en un solo diagrama ampliando los límites del análisis técnico en los gráficos de Kagi. El indicador en sí se encuentra en una ventana separada, pero también es posible mostrar datos en el gráfico principal. En otras palabras, la formación básica (aspecto estándar o modificado) se realiza en la ventana del indicador. El indicador se copia en el gráfico principal, también se dibujan marcas de precio y tiempo (dependiendo de los ajustes). Como se mencionó anteriormente, el indicador dibuja el gráfico tanto en versión estándar como modificada. El estándar se ha descrito anteriormente. Ahora, vamos a considerar 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 es que no sólo los puntos inversos, sino que cada movimiento del gráfico se filtra ahora. En otras palabras, el precio debe moverse a una distancia determinada para que se forme el nuevo Alto o Bajo (que no debe confundirse con el hombro / la cintura). Generalmente, dondequiera que se mueva el precio, primero debe cubrir una distancia especificada. Después de eso, se define si se trata de una continuación de tendencia o una inversión. Higo. 2 muestra cómo funciona el principio. El aspecto de gráfico modificado se muestra en azul, mientras que el estándar en rojo. Como podemos ver, la mirada modificada responde a cambios de movimiento de precios que filtran más lentamente la mayoría de las señales menores. Higo. 2. Versiones modificadas (línea azul) y estándar (línea roja) de creación de gráficos Kagi Aparte de la gráfica Kagi, el indicador proporciona algunos elementos adicionales tanto en la ventana de indicadores como en la gráfica principal. Dependiendo de los ajustes, las marcas se pueden ajustar en la ventana del indicador. Estas marcas proporcionan datos sobre los precios de inversión. La misma función se implementa utilizando niveles de precios que, dependiendo de los ajustes, 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 de gráfico. Los colores se pueden ajustar en tres versiones: según el tipo de inversión (arriba - abajo), tipo de línea (Yin - Yang) o sin cambio de color. Las marcas de precio de reversión, incluidas las temporales, se proporcionan en el gráfico principal. Estas marcas (dependiendo de la configuración) pueden ser de un solo color o cambiar el color de acuerdo con los colores de línea Yin o Yang. El código de indicador completo se implementa utilizando las funciones que se comunican entre sí a través de variables globales. El código se puede dividir en tres funciones principales y otras once adicionales. La carga principal de los cálculos y de los rellenos de amortiguación de las construcciones gráficas básicas y de las matrices de amortiguación adicionales se basa en la función de la formación de la carta Kagi en la ventana del indicador. Las otras dos funciones son responsables de proporcionar los datos: el primero copia los datos de tiempo, mientras que el otro - datos sobre los precios de cada barra del período de tiempo seleccionado. Las restantes funciones auxiliares son responsables de realizar todas las construcciones, borrar los objetos, descargar el indicador acompañado de borrado de todos los objetos indicadores, cálculo de parámetros de reversión, marcas de dibujo en el gráfico principal y ventana de indicadores, creación de objetos gráficos de tipo Tendencia, dibujo Kagi en la carta principal, así como definir la llegada de la nueva barra para lanzar la formación del indicador. 3. Código Indicador y Algoritmo Ahora, vamos a examinar el código indicador y el algoritmo de su formación en detalles. El código es bastante grande y puede ser bastante difícil para los programadores principiantes para entenderlo. Las funciones que se comunican entre sí a través de las variables globales hacen que el código sea bastante confuso. En esta parte del artículo, explicaré cada función y parte del código por separado. En primer lugar, describiré la configuración del indicador y luego habrá aclaraciones sobre las funciones iniciales de copiado de datos, el cálculo de parámetros de inversión, la función principal de la formación y cálculo del diagrama de Kagi y otras funciones auxiliares. 3.1. Parámetros de entrada del indicador El código comienza con la declaración del indicador en una ventana separada, así como de 12 memorias intermedias y 8 construcciones gráficas de indicadores. En primer lugar, vamos a definir por qué 8 construcciones gráficas, incluyendo dos histogramas y seis líneas. ha sido usado. Cada histograma construye su propia línea vertical. Una de las líneas es responsable de la línea de Yin, mientras que la otra es para la línea de Yang. El caso es algo más complicado con las líneas, ya que hay tres de ellas para cada línea. Esto se hace debido al hecho de que la línea se dibuja si hay otro punto que está siendo dibujado cerca del primero. En otras palabras, sólo necesitamos dos construcciones gráficas de tipo línea que se giren para dibujar dos líneas adyacentes entre sí. Sin embargo, si necesitamos estas líneas para saltar puntos necesarios, necesitamos que la tercera construcción sea girada con otras dos. Esto se explica en la Figura 3, donde se puede ver lo que sucede si sólo se utilizan dos construcciones gráficas de tipo línea: Fig. 3. Ejemplo de uso de dos y tres construcciones gráficas de línea para mostrar líneas de hombros y cintura Luego, se crea el menú de configuración. Hay cinco enumeraciones aquí (permite examinarlas en los parámetros de entrada). El primer periodo de parámetros de entrada es un período en el cual se realiza la construcción, seguido por el período de actualización de la construcción de la tabla del período de tiempo y el último parámetro de tiempo es startdata - la construcción del tiempo empieza. Estos parámetros son seguidos por la construcción de la carta y otros de etiquetado: kagitype tipo de construcción de gráfico definido por el usuario, estándar o tipo de pricetype modificado del precio utilizado para la construcción: Close, Open, High y Low typedoorstep usado tipo de inversión: punto y porcentaje de inversión valor de puerta Coloryin color de la línea Yin en la ventana del indicador coloryang color de la línea de Yang en la anchura de la ventana indicadora en el ancho de la línea Yin en la ventana del indicador widthyang Ancho de la línea de Yang en la ventana del indicador levelsonoff si los niveles de precios deberían Se dibujará en la ventana indicadora los tipos de nivel de nivel de precios en la ventana del indicador. Hay dos valores para elegir: en cada reverso o uniformemente a lo largo de los rangos de preciosnúmero de niveles de precios en la ventana de indicadores levelschangecolor permite cambiar el color de las líneas de nivel de precio las opciones son reversiones superior e inferior, Yin y Yang líneas o sin cambios Colorsfirstcolor el primer color de un nivel de precio levelsecondcolor el segundo color de un label1 label1 de color de las etiquetas de precio en la ventana indicadora label1color color de las etiquetas de precio en la ventana del indicador Gráfico principal label2color color de la etiqueta en el gráfico principal timelinedraw dibujo invertir líneas de tiempo en el gráfico principal timeseparatewindows dibujo continuación de las líneas de tiempo de reversión de la carta principal timelinechangecolor cambiar el color de la línea de tiempo dependiendo de la etiqueta de reversión en Yin o Yang línea timefirstcolor el primer Color de la línea de tiempo en el gráfico de la tabla principal en el segundo color de la línea de tiempo en el gráfico principal kagimainchart si Kagi debe dibujarse en el color de la carta principal coloryinmain Yin color de la línea principal coloryangmain color de la línea Yang en la línea principal chartinline línea Yin Ancho en el ancho de la carta chart widthyangmain ancho de Yang en la tabla principal magicnumb 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 lanzar varios indicadores en un solo gráfico. Estos parámetros son a su vez seguidos por las declaraciones de los buffers indicadores, buffers auxiliares para almacenar valores de precio y tiempo, variables auxiliares (stopdata, barscopied, barscopiedtime, copyhistory, copytime), arrays para almacenar datos sobre qué línea Yin o Yang el cambio en El movimiento de la carta ocurrió, el tiempo y el precio de ese cambio, el precio central (si Yin es reemplazado por Yang en la barra o viceversa). Finalmente, se declara una de las variables globales más utilizadas que contiene datos sobre el número de cambios en el movimiento del gráfico. 3.2. Función de inicialización del indicador La siguiente es la función de inicialización del indicador. Las memorias intermedias de indicadores y su indexación (principalmente como series de tiempo como la gráfica de Kagi es más corta que la principal, es mejor dibujar hacia atrás) se especifican allí. Además, los valores que no se van a mostrar en la pantalla se ajustan (EMPTYVALUE-1). Ahora, asignamos el nombre del indicador y la precisión de la pantalla. Como se mencionó anteriormente, el número mágico se agrega al nombre. Esto se realiza para proporcionar el funcionamiento correcto de la función ChartWindowFind (). De lo contrario, el objeto gráfico dibujado en la ventana del indicador se muestra sólo en el primer indicador activado (si se utilizan varios indicadores en un gráfico único). A continuación, asignamos nombres a las líneas de construcción, prohibimos la visualización de los valores numéricos actuales en la ventana del indicador, establecemos el color y el ancho de las líneas Yin y Yang, establecemos el número de niveles de precios que se muestran en la ventana del indicador. 3.3. Función de copia de datos Ahora, permite examinar las funciones de copia de datos. Hay dos de ellos aquí. El primero es para copiar los precios, mientras que el segundo es para copiar cada barra de tiempo abierto. Ambas funciones conservan sus valores en los buffers de cálculo de indicadores previamente declarados. En primer lugar, vamos a considerar la función de copiar los precios. Parámetros de entrada de función: matriz para almacenar datos, fecha de inicio y finalización de copia de datos (hora actual). El cuerpo de la función contiene las variables para responder a la función, el número de datos (barras) copiados a la matriz intermedia, la propia matriz dinámica intermedia y el número de barras que se deben copiar en la matriz intermedia. El número de barras se calcula en función del número total de barras en el período de tiempo dado y el número de barras (variable global) copiado en la llamada de función anterior. Si no es la primera vez que se copian los datos, se deben actualizar los datos de la última barra copiada. Para ello, reducimos el número de barras copiadas por uno y aumentamos el número de barras recién copiadas en una. También cambiamos el tamaño de la matriz intermedia preparándolo para copiar las barras. Dependiendo de los ajustes, copiamos los precios a la matriz intermedia. Si la copia se realiza correctamente, los datos se copian de la matriz intermedia al final de la matriz de búfer (matriz de respuesta de función), asigne la respuesta positiva a la función y actualice la variable global que almacena los datos en el número de barras copiadas. Este tipo de copiado permite copiar sólo algunas últimas barras reduciendo el tiempo de copia. La siguiente función es la de copiar los datos de tiempo. Es diferente de la anterior en que se trata de otro tipo de variable - datetime (que se convierte en doble cuando se copia a matriz de respuesta de matriz de almacenamiento temporal). Otra diferencia es que la instrucción switch () no se utiliza, ya que no hay necesidad de seleccionar los datos copiados. 3.4. Función de cálculo de parámetros de inversión Ya que el parámetro de inversión puede ser un punto o un porcentaje uno, necesitamos la función que calculará el parámetro de inversión dependiendo de los ajustes del indicador. La función sólo tiene un parámetro de precio para calcular el porcentaje de inversión. La variable de la respuesta se inicializa por el tipo doble y después de los cálculos, se convierte indirectamente en tipo int para la respuesta. Esto se hace porque los números de punto flotante se utilizan en los cálculos, mientras que la respuesta debe presentarse como números enteros. La selección se implementa en la función mediante instrucción condicional if-else. La comparación se realiza directamente con una variable de entrada externa (parámetros indicadores). El cálculo de puntos se realiza usando una ecuación simple. En primer lugar, se define el número total de puntos que ha pasado el precio. A continuación, el porcentaje especificado se calcula en función de este número y se asigna a la variable devuelta. 3.5. La función principal - Dibujar la carta de Kagi Ya hemos examinado todas las funciones necesarias para el funcionamiento de la función principal - dibujar la gráfica de Kagi en la ventana de indicador (es decir, llenar los búferes de indicador). Los parámetros de entrada de las funciones consisten en matrices de datos. Dos de ellos son los búferes de cálculo descritos anteriormente (previamente copiados Precio y Tiempo), todo lo demás son los arreglos de los buffers gráficos de construcción del indicador. Las variables necesarias para almacenar los datos en la construcción de la carta se declaran dentro de la función. Dado que el gráfico se construye utilizando para la declaración de bucle, debemos tener los datos en la etapa de la pasada anterior terminó en. Esto puede lograrse mediante seis variables: linemove - donde el precio se movió en el pase anterior, linegauge - línea de calibre (ancho de línea) - Yin o Yang, price1 y price2 - precio anterior y actual considerado, priceown y priceup - precio anterior de Un hombro y la cintura. Como podemos ver, el precio 1 se equipara inmediatamente al primer elemento de la matriz de precios copiados debido al hecho de que esta variable está implicada en los cálculos antes de la comparación desde el comienzo mismo del bucle. Dado que las matrices de amortiguación de la construcción gráfica del indicador tienen una bandera de indexación ASSERIES, deben rellenarse en orden inverso. Para lograr esto, se implementan matrices de tiempo que tienen el tamaño apropiado. Las variables globales para almacenar los datos sobre el tiempo, los tipos de línea, el hombro y la cintura, así como los precios de inversión se convierten de la misma manera. A continuación, todas las matrices deben rellenarse con valores vacíos (-1). Esto se hace utilizando dos pequeños bucles. Es posible unir todo en un solo bucle. Pero el uso de dos hace todas las acciones realizadas mucho más claro, mientras que el tiempo de ejecución no se cambia mucho. En otras palabras, los buffers gráficos y las matrices de tiempo de cálculo se llenan por separado. Ahora, todas las variables son declaradas, convertidas y llenas, para que el bucle principal pueda ser lanzado. Es bastante grande (aunque el cálculo se realiza lo suficientemente rápido) e incluye la exploración de todas las barras previamente copiadas. El bucle pasa por todas las barras copiadas y rellena las matrices previamente declaradas necesarias para trabajar con ellas aún más. En primer lugar, permite definir todas las matrices utilizadas en el bucle: yinint1 - valor primario del precio de la línea Yin vertical (si se dibuja la línea Yin vertical y el gráfico se mueve hacia abajo, este es el valor superior del precio si el gráfico se mueve hacia arriba; Tiene el caso opuesto) yinint2 - valor secundario del precio de la línea Yin vertical (si se dibuja la línea ascendente, éste es el valor superior si la línea está hacia abajo, tenemos el caso opuesto) yangint1 - valor primario del precio de la línea Yang vertical yangint2 - (Precio de la inversión en la línea de Yin) linyang - horizontal Valor de la línea de Yang (precio de la inversión en la línea de Yang) timechange - tiempo de la inversión de la carta (construcción de un hombro o una cintura ) La línea durante la inversión Yin 0 o Yang 1 timecentralprice - el valor del precio central, el precio en el momento en que la línea de Yin se convierte en Yang o viceversa timechangeprice - el valor de reversión (hombro o cintura) Variable es una común que no depende de los tipos de línea Yin o Yang. El valor del precio analizado actual del búfer de precio se asigna a la variable price2 antes de cada paso del bucle para una comparación adicional en sentencias condicionales if-else. Después de eso, la matriz de memoria intermedia de los datos copiados se analiza paso a paso y se llenan las matrices mencionadas anteriormente. Cada instrucción condicional if-else realiza ciertas acciones dependiendo de las condiciones: dirección anterior de las líneas de gráfico (arriba o abajo) y vista previa de las líneas (Yin o Yang). A continuación, se controlan las condiciones de movimiento (si el precio ha superado un cierto número de puntos) según el tipo de construcción (estándar o modificado). Si todo está bien, las nuevas variables (elementos de la matriz) son reasignadas o definidas. El tipo de línea (Yin o Yang) se define al principio. Dependiendo del movimiento y de las acciones anteriores, se realiza la distribución adicional. Hay dos posibles movimientos de precios: También hay cuatro tipos de acciones anteriores en cada dirección: La línea anterior fue Yin y se movió hacia arriba La línea anterior fue Yang y se movió hacia arriba La línea anterior fue Yin y se movió hacia abajo La línea anterior fue Yang Y bajó. Así, tenemos ocho casos aparte de las dos primeras definiciones del movimiento inicial de las cartas (apariencia de primera línea). Después de eso, el bucle principal ha terminado. La reasignación (reversión) y el llenado de los búferes se realizan para construir el gráfico en un bucle más pequeño consistente en el número de reversiones de gráfico Kagi previamente definidas en el bucle principal y escritas en una variable. En cuanto a la distribución de valores de precio superior e inferior y líneas verticales, todo es muy simple: se realiza una inversión simple. En otras palabras, los valores primarios previamente obtenidos (matrices que tienen índices 0,1,2,3) se asignan a los valores finales de los búferes (el elemento con índice, es decir, -1, -2, -3 se utiliza como fin valor). Para evitar que las líneas de inversión (horizontales) se peguen juntas, la rotación usando la instrucción de conmutación se lleva a cabo como se mencionó anteriormente. En eso, el trabajo de la función principal de la construcción de la carta de Kagi es completa. 3,6. Función para crear el objeto gráfico de la línea de tendencia Ahora, examinamos la función para crear el objeto gráfico de la línea de tendencia. Esta función es necesaria para dibujar Kagi en el gráfico principal. La función es muy simple. Contiene los parámetros de entrada necesarios para crear el objeto gráfico de línea de tendencia: nombre de objeto, primero y segundo puntos de precio y tiempo, así como el ancho de línea y el color. El cuerpo de la función contiene la función de creación gráfica de objetos y seis funciones para cambiar las propiedades de los objetos gráficos. 3.7. Dibujar Kagi en el gráfico principal La función siguiente que se aplica al múltiplo anterior varias veces es la función de construcción Kagi en el gráfico principal. Las variables globales llenadas en la función principal examinada anteriormente de la construcción de la carta de Kagi se utilizan como variables de entrada: el arsenal de los precios de reversión (hombros y cinturas), la gama de cambio y los precios centrales (el precio, en que la línea de Yin se convierte en Yang o Viceversa), la matriz de tiempo de inversión (localizada en tiempo real, se usa el índice de matriz z-1 para marcar el inicio de inversión), la matriz del tipo de la línea en la que se produjo la inversión (es también un elemento hacia delante, como La matriz de tiempo). El cuerpo de la función consiste en un bucle. El bucle se divide en dos partes: trazando líneas verticales y horizontales. La primera también se divide en dos: dibujar las verticales teniendo en cuenta el cambio de línea (cambio de precio central) y la ausencia de cambio. Observe los parámetros transferidos de la función de creación de objetos de línea de tendencia. El nombre se realiza repetidamente. El nombre del objeto comienza con un número mágico (necesario para borrar objetos de un determinado indicador), entonces su tipo es fijo y finalmente se asigna el índice. El índice se actualiza en cada paso del bucle. 3.8. Implementación de etiquetas adicionales Como ya he mencionado anteriormente, el indicador implementa etiquetas adicionales. Examinemos la función que proporciona estas etiquetas en el gráfico principal. Sólo hay dos tipos de etiquetas aquí: etiquetas de precio de reversión y tiempo de inversión mostradas mediante etiqueta de precio y etiqueta vertical. Los siguientes parámetros se pasan como valores de entrada: el atributo del dibujo de etiqueta de precio de inversión y el color de las etiquetas, los atributos del dibujo de etiquetas de tiempo de inversión y del cambio de color de etiquetas, los colores primero y segundo del tiempo de inversión. La función completa se divide en dos partes: la primera parte es responsable de las etiquetas de tiempo, mientras que la segunda es las etiquetas de precio. Ambas partes de la función consisten en los bucles limitados por el número de reversiones de gráficos (una variable). If-else se establece antes del bucle. La sentencia comprueba la necesidad de su dibujo de acuerdo con los ajustes del indicador. El primer bucle crea etiquetas de tiempo, la definición de nombre de objeto se realiza al principio del bucle (el principio de generación de nombres se ha descrito anteriormente). A continuación, el color se selecciona dependiendo de la línea de la matriz de tipo de línea declarada globalmente (si se establece el parámetro) y se aplican otros parámetros a la línea. El segundo bucle es responsable de crear etiquetas de precio de inversión. En primer lugar, se genera el nombre del objeto. A continuación, la selección del índice de matriz de tiempo se establece dependiendo de si Kagi se va a construir en la carta principal o no. Si esto no se hace, las etiquetas estarán ubicadas en el aire y no será suficientemente claro desde qué lugar se ha producido la inversión. A continuación, se crea y configura el objeto tipo etiqueta de precio. Ahora, veamos cómo podemos establecer las etiquetas en la ventana del indicador. Todas las etiquetas de la ventana de indicadores son en su mayoría de precios, y sólo hay dos tipos de ellos: etiquetas de precio de reversión y los niveles de precios. Hay dos tipos de dibujo de los niveles de precios: en las inversiones de gráfico ya una distancia igual del rango de precio de gráfico entero. El primer tipo puede cambiar el color de los niveles de dos maneras: dependiendo del tipo de línea (Yin o Yang) y de acuerdo a la inversión (arriba o abajo). Así, la función en sí se divide en dos bucles: el primero es responsable de la creación de etiquetas de precio de inversión, el segundo trata de la designación de los niveles de precios. Este último se divide en dos tipos: etiqueta en cada inversión o etiquetas en todo el rango de precios en un nivel igual. Esta función es diferente de la anterior, ya que tiene limitaciones en el número de etiquetas y niveles de precios debido al hecho de que en gran número sobrecarga el gráfico complicando su comprensión. Debido a esta característica, ambos bucles están limitados por el número de pasadas especificadas en la configuración del indicador (número de etiquetas de precio y niveles). Este enfoque es peligroso ya que el número de reversiones puede resultar ser mucho menor que el número de etiquetas de precios establecidas en los ajustes. Debido a esta razón, se comprueba la presencia de inversión durante cada paso de bucle para dibujar una etiqueta o nivel de precio. La única excepción es dibujar los niveles de precios a lo largo de todo el rango de precios en una distancia igual. La generación de objetos gráficos de tipo de etiqueta de precio se realiza en las coordenadas en orden inverso, es decir, las etiquetas se colocan de la fecha actual al pasado. Lo mismo se aplica a los niveles de precios: los niveles de precios actuales se generan primero seguido por los anteriores. Las excepciones son los niveles de precios que no dependen de las reversiones del gráfico. Los cambios de color de nivel de precio se realizan utilizando declaraciones condicionales if-else de acuerdo con los ajustes. 3.9. Eliminación de objetos gráficos ya creados Ya sabemos que este indicador es rico en objetos gráficos. Es hora de pensar cómo podemos eliminarlos rápida y eficientemente. Esta tarea se ejecuta mediante la función de supresión de los objetos gráficos. El nombre inicial y el número de objetos se utilizan como parámetros de función. 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 función en el programa está limitada por el número de objetos que exceden su posible existencia. Sin embargo, esto no afecta a la funcionalidad de los indicadores. 3.10. Ahora, después de haber examinado todas las funciones para el cálculo y construcción de la carta Kagi, así como para crear y borrar objetos, debemos considerar otra función pequeña para comprobar la llegada de nuevas barras. La función es bastante simple y tiene un parámetro de entrada - período analizado. La respuesta de las funciones es también muy simple. Tiene tipo de bool y contiene la respuesta sobre si una nueva barra está presente o no. La base del cuerpo de la función es la instrucción switch que pasa el control a sus diferentes estados dependiendo del período. En el ejemplo, la función cubre toda la gama de periodos, aunque sólo se puede usar un período. El algoritmo de la función se ha tomado del código de IsNewBar: el tiempo de la última abertura de la barra se compara con el valor de tiempo previamente definido. Si los valores son diferentes, hay una nueva barra. El nuevo valor se asigna como se definió anteriormente y la respuesta de las funciones se considera positiva. Si el último tiempo de apertura de la barra coincide con el valor de tiempo previamente determinado, entonces la nueva barra no ha aparecido todavía y la respuesta de las funciones es negativa. 3.11. Funciones OnCalculate () y OnChartEvent () Todas las funciones descritas anteriormente se consolidan en la función que lleva el mismo nombre Func Consolidation. Esta función se inicia 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 generar o actualizar el gráfico, en la función de consolidación (Func Consolidation) se llama a la función de eliminación de todos los objetos gráficos. Dado que hay una gran cantidad de objetos y se dividen en el gráfico principal s e indicador de las etiquetas de precios de las ventanas, líneas verticales que indican el tiempo de inversión, así como Yin y Yang líneas de tendencia vertical y horizontal, el número general de llamadas de función es 7. Entonces , Los datos del historial se copian por precio y tiempo. La función principal para la construcción de Kagi gráfico se lanza después. Después de eso, se llama a la función para colocar todas las etiquetas de precio en el gráfico principal y la ventana del indicador. Finalmente, se genera Kagi en el gráfico principal y se inicia la función para volver a dibujar los objetos. 3.12. Función OnDeinit () La eliminación de todos los objetos se realiza en la función de desinitialización del indicador. Ahora, pase a usar el indicador en la práctica. 4. Usando la carta de Kagi en la práctica Hay muchas estrategias de negociación basadas en la carta de Kagi. Examinaremos algunos de ellos. Vamos a empezar con la estrategia más popular: vender cuando Yang cambia a Yin y comprar en el caso contrario. Esto se muestra en la figura. Fig. 4: Fig. 4. La venta cuando Yang cambia a Yin y la compra en el caso opuesto Como puede verse en la Fig. 4 (EURUSD M30, 5 puntos), esta estrategia muestra buenos resultados. La figura muestra 8 puntos para 4 señales, la primera (1) muestra que la posición larga debe abrirse en 1.3518, lo que parece ser correcto ya que el precio alcanza aproximadamente 1.3560, lo que comprende 42 puntos por día. Este es un buen resultado. El punto siguiente (2) recomienda vender en 1.3519. Como podemos ver, el precio realmente se mueve hacia abajo cruzando el nivel de 1.3485 (y cubriendo 34 puntos) aproximadamente durante dos horas. Vamos a pasar al punto (3). La posición larga se abre en 1.3538 y el precio sube hasta alcanzar 1.3695. Así, la ganancia comprende 157 puntos ya por un día y medio. Por supuesto, estos son los mayores beneficios posibles, pero el resultado es todavía lo suficientemente bueno. La siguiente estrategia de negociación está retrocediendo desde la línea de tendencia mostrada en la Fig. 5 (EURUSD M30, 5 puntos), del 7 al 18 de octubre: Fig. 5. Retroceder desde la línea de tendencia Podemos avanzar y seguir el comercio siguiendo los canales. Un ejemplo de búsqueda de un canal se puede examinar en la Fig. 6 (EUR / USD H1, 5 puntos), aproximadamente el mismo período: Fig. 6. El comercio por canales La estrategia menos popular basada en el hecho de que después de 7-10 sucesivamente aumento de los hombros o la disminución de la cintura, sin duda habrá una reversión (caída ot aumento). Esto se muestra en la Figura 7 (GBPUSD H4, 25 puntos), 10 de julio - 18 de octubre: Fig. Como se puede ver en la imagen, siete hombros ascendentes son seguidos por una caída bastante considerable aproximadamente igual a la mitad de la subida anterior (unos 300 puntos). Lets examine Trading through a price label strategy to show the necessity of using additional indicator parameters. The idea is to enter the market when the price exceeds (buy) or moves below (sell) the previous price label. The strategy is shown in Fig. 8 (GBPUSD H4, 30 points, modified construction): Fig. 8. Trading through a price label Red arrows on Fig. 8 display when to buy or to sell. The arrows are moving from the previous price label displaying the locations the previous price labels were broken through. Time labels serve mainly as trend direction pointers. Since the color of time labels can be changed relative to the line type, and Yin or Yang line type shows trend direction or reversal, the color may help us define the current market mood. For example, lets take IBM stock chart (H4, 1, standard construction) shown in Fig. 9: Fig. 9. Defining trend direction using time labels The chart shows that blue lines are mainly located on the charts tops, while red ones - at the bottoms. Conclusion The Kagi chart can be successfully used for market trading as a strategy basis or as an auxiliary tool for more precise analysis. In this article, I have examined the code itself and some specificities of constructing the indicator. The main objective has been creation of the multi-functional indicator containing all necessary elements with some extra features that can be disabled. I will be glad to consider new ideas and improvements for the indicator and, perhaps, implement them in the future. Also, please provide me with your feedback. I will be happy to answer your questions concerning the indicator. This article continues the series devoted to developing indicators for constructing the charts from the past. The previous article can be found here. The series is to be continued and I hope to meet you again soon. Thank you for your interest I wish you successful trading, as well as optimized and stable codes. Forex Kagi Indicator Love Trading Buy/Sell Arrow Signals Try This The Kagi Indicator (sometimes called Forex Kagi) has added to our vast database of metatrader indicators. Con toda honestidad tengo poco conocimiento de este indicador, pero un montón de comerciantes de divisas y los sistemas de comercio de divisas parecen estar utilizando en estos días. Investopedia tiene alguna información completa sobre Kagi Charts y cómo utilizarlos sin embargo en la forma más simple que el comercio cuando hay cambios en el grosor de las líneas y, naturalmente, también la dirección de las líneas (Una línea Kagi dirigida opuesta aparece cuando el precio invierte Por una cantidad específica). Si una línea fina va más allá de la oscilación anterior alta, la línea se engrosa. Y así una línea gruesa se convierte en una línea fina cuando la línea gruesa se mueve debajo de la oscilación anterior baja. Las cartas de Kagi apelarán a los comerciantes que tienen gusto de las cartas y de las barras del renko mientras que se basan puramente en la acción del precio. Aunque orignally 8220from8221 Japón el concepto se ha traído a la vanguardia del comercio moderno por Steve Nison en su libro de comercio popular 8220Beyond Candlesticks8221 (c1994). Indicador de Metatrader gratis Descargar: Indicador de Kagi de Forex 2 Responses Forex mercado es complicado, pero sigue siendo un reto para obtener dinero de allí. It8217s about how to trade in this market for long term. Renko Bounce Trade Joined Aug 2014 Status: Working. 1,516 Posts I am a big fan of Renko charts. In this thread I would like to share my indicator (for MT4 platform) and the system of trading which has worked for me so far. How to create a Renko chart: 1. Download MathTrader7RenkoChartCreator. ex4 from the attachments and copy it into your ltExpertsgt folder. 2. Enable DLL import in Options menu. 3. Refresh your MT4 platforms navigator window (or restart MT4). 4. Open a M1 chart (e. g. EURUSD, M1) and attach the above EA to the chart. 5. From ltFilegt menu, select ltOpen Offlinegt and choose (EURUSD, M2) chart. Note: If you see few Renko bars on the M2 chart, close all the charts, open a M5 or M15 chart, attach above EA to it. The reason is that some brokers provide very limited number of M1 bars on their charts. How to install the indicator: 1. Download MathTrader7ATRBands. ex4 from the attachments and copy it into your ltIndicatorsgt folder. 2. Refresh your MT4 platforms navigator window (or restart MT4). 3. Attach the indicator to the Renko chart leave the default input settings. Entry rules: BUY: If a bearish Renko bricks body intersects the indicators lower band or closes below the lower band. and the next Renko brick is bullish. open a BUY position, set the stoploss level three bricks plus spread away from the entry point. SELL: If a bullish Renko bricks body intersects the indicators upper band or closes above the upper band. and the next Renko brick is bearish. open a SELL position, set the stoploss level three bricks plus spread away from the entry point. Exit Rules: 1. If the position is in profit, exit after the first opposite Renkos brick. 2. If an opposite Renkos brick appeard such that the position is in breakeven, there are two exit strategies depending on your preference: 2.1. Aggressive: Do not exit Wait for the price to come back to the position favor and exit according to exit rule (1). 2.2. Conservative: Exit at the breakeven. Attached Image (click to enlarge) Note1: There are many methods developed for Renko charts trading. You can find a few such systems here in ForexFactory: 1. Trading based on pivot points: forexfactory/showthread. phpt199285 2. Trading based on Bunch of Indicators (RENKO system with Mihailo): forexfactory/showthread. phpt322817 3. Renko Ashi Trading System: forexfactory/showthread. phpt237979 4. Price action trading with RENKO: forexfactory/search. p. 3231467amppage2 5. Trading based on trend line breakouts: forexfactory/showthread. phpp7758657 6. However, I havent seen or heard about a Renko trading system based on Average True Range (ATR) bands. This idea came into my mind when I was studying the ATR indicator: Bars have the same body size in a Renko chart It encouraged me to implement ATRBands indicator to evaluate its performance in trading Renko charts, the entry rules are borrowed from Bolinger Bands strategy though. Note2: I only trade low spread major pairs such as EURUSD . USDJPY . AUDUSD . USDCAD . EURGBP and GBPUSD during London session where the probability of a trend is higher than other sessions. The main reason is that I have found out that the entry signal could be very profitable if there is a trend in the market. Note3: My ultimate goal is to develop an EA out of this strategy. And any new idea to inprove the strategy will be highly appreciated :-) ---- Update 2015-08-08 --------------------------------------------------- Version 1.30 of the EA released. In this version two buttons added to the chart. A button closes the current open trade, and the other one disables the EA. These two buttons are implemented for bypassing the high impact news manually. MathTrader7RenkoBTEA. ex4 142 KB 3,105 downloads Uploaded Aug 8, 2015 3:17pm ---- Update 2015-07-30 --------------------------------------------------- Version 1.20 of the EA released. In this version trailing stop functionality is implemented. ---- Update 2015-07-26 --------------------------------------------------- Version 1.10 of the EA released. In this version time of trading filter added. ---- Update 2015-07-26 --------------------------------------------------- Version 1.00 of an EA that trades based on the entries released. This version of EA only works on non-gap version of Renko charts (you could use MathTrader7RenkoChartCreatorEA). ---- Update 2014-12-24 --------------------------------------------------- MathTrader7ATRBandswithAlerts is a new version of the indicator which notifies you whenever the entry rules meet. You can enable alerts, email and mobile notifications. I wish you well with your thread however there is nothing new about this renko bar strategy. It has been around for a very long time indeed. Applied correctly it will and has served many traders well. Is your idea of this thread to expand upon the renko idea with timely entry and exit strategies In other words will you be adding to or refining this method as the thread progresses or will it remain as it is Which pairs will you trade Only EU or others How will you identify and trade during a ranging market I see this thread as being potentially useful hence the reason for my questions. Master your Mind then Master your Trades In my opinion, your strategy is kind of breakout trading, which I am interested in not only on Renko charts but also on normal bar charts. However, a big problem with a breakout strategy is the fake breakout that may happen multiple times in a ranging market. If you have been runing this system for a while, please let us know what are the results so far. i was testing it for a while in composite with similarity dis-similarity method. but i will test it for renko bar and let you know the result
No comments:
Post a Comment