TradeXray TrendAutoLines
- Indicadores
- Versión: 2.22
- Activaciones: 10
TradeXray TrendAutoLines
Qué hace. Traza líneas de tendencia a partir de una regla geométrica fija y nunca desplaza una línea una vez que esta se ha trazado.
Qué no hace. No te indica cuándo comprar ni cuándo vender, y no afirma que estas líneas tengan ninguna ventaja estadística. No hemos medido ninguna, por lo que no afirmamos que exista.
Lo que se ha comprobado. El comportamiento «sin repintado» no es solo una frase de esta descripción. Se comprueba mediante un sistema de verificación automatizado, y dicho sistema no detecta ninguna discrepancia. La comprobación fundamental es que situar el eje «a fecha de» en un momento pasado T produce exactamente la misma imagen que cortar físicamente los datos en T.
Por qué esta descripción no contiene cifras
Esta descripción no incluye tasa de aciertos, cifras de beneficios ni resultados de backtest. No se trata de una mera formalidad. No hemos comprobado si estas líneas tienen algún valor predictivo, por lo que no hay nada que informar. Lo que se ofrece aquí es una regla de trazado descrita en su totalidad y una comprobación automática de que la herramienta sigue dicha regla.
La regla de trazado
Los pivotes son fractales de 5 barras: la barra central es más alta que las dos barras a cada lado, o más baja que las dos barras a cada lado. El ancho medio es un parámetro de entrada, por lo que 5 barras es el valor por defecto y no una constante fija.
Dentro de una ventana de análisis, el indicador toma el máximo del intervalo y el mínimo del intervalo. Si el máximo aparece primero, el tramo es bajista desde ese máximo A hasta ese mínimo B. Si el mínimo aparece primero, el tramo es alcista.
Para un tramo bajista, las tres líneas son los tres primeros bordes de la envolvente convexa superior trazados desde A. En palabras sencillas: empieza en horizontal en A, gira hacia abajo y traza hasta el primer máximo que encuentres. Desde ese punto, gira de nuevo. Y luego, una vez más. Esas son la línea exterior, la central y la interior. Para un tramo alcista, se aplica el mismo procedimiento en la envolvente inferior, de forma simétrica.
Tres líneas por conjunto, y nada más. Si quieres una estructura más detallada, cambia a un marco temporal inferior. La línea exterior siempre tiene una pendiente menor que la línea central, y la línea central, una pendiente menor que la línea interior. Ese orden es una propiedad del casco, no un ajuste.
Los puntos de anclaje pueden tomarse de las mechas o de los cuerpos. El valor por defecto son las mechas, es decir, los máximos y mínimos. Si se configura el precio de anclaje en los cuerpos, se utilizan en su lugar los precios de apertura y cierre, tanto para los pivotes como para el hull y las pruebas de estado. Aún no hemos decidido cuál de las dos es la interpretación correcta del método, por lo que se ofrecen ambas opciones y ninguna se presenta como la correcta.
Qué significa aquí «sin repintado» y cómo se comprueba
Una línea se ancla a dos barras en el momento en que se crea el conjunto, y esos dos puntos de anclaje quedan fijos. El indicador nunca los reescribe. Los nuevos máximos y mínimos del mercado añaden nuevos conjuntos; no modifican los antiguos.
Hay tres factores que lo hacen posible. La barra en formación nunca se utiliza. Un pivote no existe hasta que se hayan cerrado las barras situadas a su derecha. Y, por defecto, el indicador espera a que se confirme un pivote opuesto después de B antes de trazar nada en absoluto.
El sistema de verificación ejecuta la misma lógica de trazado fuera de la terminal sobre series sintéticas y paseos aleatorios, y comprueba, en cada barra de cada serie:
- Invarianza ante el truncamiento: el resultado de una matriz recortada físicamente a t barras es igual al resultado de la matriz completa reproducida en t. Cero discrepancias.
- Adición monótona: los conjuntos ya registrados nunca se reescriben, solo se les añaden elementos. Cero incumplimientos.
- Invarianza de los límites: los tres límites de un conjunto registrado nunca cambian posteriormente. Cero discrepancias.
- Invarianza «as-of»: situar el eje en un momento pasado T equivale a recortar los datos en T. Cero discrepancias, en ambos modos de casco, ambos modos de anclaje, ambos precios de anclaje y con la opción de congelación activada y desactivada.
Por favor, interpreta esta afirmación de forma estricta, ya que la formulamos de manera estricta. El «harness» es una adaptación de la misma lógica de trazado a otro lenguaje. No se trata de una segunda implementación diseñada de forma independiente, y no la presentamos como tal. Lo que hace que merezca la pena ejecutar la comprobación es el tipo de cosas que comprueba: se trata de propiedades matemáticas de la salida, como la invariancia ante el truncamiento, que la lógica que mira hacia adelante no puede satisfacer. Una adaptación de una regla que se adelantara a las barras futuras no superaría estas comprobaciones, ni las pasaría por simple parecido.
Se trata de una comprobación de la lógica de trazado, ejecutada fuera de MetaTrader. No es una afirmación sobre el comportamiento del mercado, ni una afirmación de que las líneas sean útiles.
Una consecuencia lógica. Las líneas no se mueven, pero eso no significa que la pantalla nunca cambie. Cuando el precio alcanza un nuevo máximo o mínimo, se añade un nuevo conjunto, y los conjuntos antiguos desaparecen del gráfico una vez que se alcanzan los límites de visualización. Las líneas antiguas no se han movido; se han retirado.
El eje «as-of» y los dos controladores
Una línea vertical en el gráfico es el eje «as-of». Si la arrastras hacia la izquierda, todo el gráfico se vuelve a dibujar tal y como estaba en ese momento: los mismos conjuntos, los mismos estados, las mismas etiquetas, sin tener en cuenta nada de lo que haya ocurrido después. Una segunda línea vertical establece el borde izquierdo del rango de exploración.
Cada una de las dos líneas lleva un controlador, y en este se lee el valor que controla dicha línea:
LINES :: AXIS 08.11 21:45 LINES :: RANGE 214
La palabra que aparece delante es una etiqueta abreviada del indicador al que pertenece la pestaña. Si un segundo indicador en el mismo gráfico también dibuja una pestaña «a fecha de», la etiqueta es lo que permite distinguir ambos de un vistazo.
El identificador es una pequeña pestaña, no un conjunto de elementos. Se diseña en píxeles de pantalla en lugar de en la cuadrícula de precios, por lo que mantiene el mismo tamaño y la misma forma en todos los niveles de zoom. Está rellenada con el mismo color que el panel, y el valor se dibuja sobre ese relleno. Una franja de dos píxeles a lo largo de su borde izquierdo lleva el color de la línea a la que pertenece la pestaña, y esa franja es lo que permite distinguir las dos pestañas de un vistazo.
Pulsa el botón izquierdo del ratón en cualquier punto de la pestaña y arrastra. La línea la sigue al instante. No hay ningún paso previo: no hay que seleccionar primero la pestaña, ni hacer doble clic en ella, ni buscar un objetivo más pequeño en su interior. El indicador realiza su propia comprobación de coincidencia con respecto al rectángulo que ha dibujado, por lo que el área que responde es la pestaña que se ve, más un margen de tres píxeles a su alrededor.
De hacerlo así se derivan tres cosas, y son la razón por la que se hace de esa manera.
- La pestaña no es un objeto seleccionable del gráfico, por lo que MetaTrader nunca coloca marcas de selección sobre ella.
- La pestaña no tiene puntos de arrastre. No se puede estirar, inclinar ni cambiar su tamaño agarrándola cerca de un borde, por lo que no hay ningún estado de deformación del que recuperarse.
- Mientras mantienes pulsada la pestaña, se suspende el desplazamiento horizontal del gráfico, de modo que este no se desliza fuera del cursor mientras arrastras. El indicador lee la configuración actual antes de cambiarla y vuelve a escribir ese mismo valor al soltar el botón. También se vuelve a escribir si no se suelta correctamente, al hacer clic en cualquier lugar, al arrastrar el siguiente objeto y cuando se retira el indicador.
Para levantar la pestaña es necesario pulsar el botón mientras el puntero ya se encuentra sobre ella. Si se pasa el puntero por encima de la pestaña con el botón ya pulsado, en medio de otro arrastre, no se transfiere ese arrastre.
Si una pestaña llegara a detenerse encima del panel, se desplaza por debajo del panel, y solo entonces. Cuando ambos están separados, la pestaña no se mueve en absoluto.
Las pestañas se colocan en carriles. Un carril es una fila que ocupa toda la altura de la pantalla, y el número de carril es un dato de entrada. Dos indicadores que dibujan ambos una pestaña «tal y como está» se colocan en carriles diferentes, de modo que las pestañas se sitúan una encima de la otra en lugar de superponerse. Con un indicador en el gráfico, el carril predeterminado deja la pestaña exactamente donde estaría de otro modo.
Una pestaña también se puede arrastrar hacia arriba y hacia abajo. Donde la sueltes, ahí se queda: a partir de ese momento se ignoran tanto el desplazamiento de la columna como el margen del panel, ya que ambos son estimaciones realizadas antes de que hubieras consultado el gráfico. Una pestaña no se puede soltar fuera del borde, por lo que siempre se puede volver a seleccionar. Mover una pestaña hacia arriba o hacia abajo no cambia nada, salvo la posición en la que se dibuja la pestaña. La altura no se conserva cuando cambia el intervalo de tiempo o se recarga el indicador; vuelve a empezar desde InpHandleYPct.
Por defecto, las líneas verticales no se pueden seleccionar con el ratón. Al hacer clic en una de ellas no ocurre nada, por lo que no es posible seleccionar una línea por error mientras se dibuja en el gráfico, y mover el eje accidentalmente modifica todas las líneas que dibuja la herramienta. La pestaña y el panel son los elementos que permiten mover el eje. Al establecer InpAsOfLineSelectable en «true», se restablece la forma habitual de mover un objeto del gráfico: seleccionar la línea y, a continuación, arrastrarla. MetaTrader dibuja pequeñas marcas de selección sobre el objeto seleccionado, e InpAsOfKeepSelected mantiene las líneas seleccionadas para que no sea necesario el primer clic. Esa opción solo tiene efecto mientras las líneas puedan seleccionarse. Las marcas nunca aparecen en las pestañas.
Las dos líneas verticales se pueden trazar de cuatro formas, y esta configuración existe porque no sabemos cuál preferirás en tu propio gráfico. «THIN» es el valor predeterminado: cada línea se traza como una línea de un píxel que se mimetiza con el fondo del gráfico, de modo que siguen estando ahí pero no compiten con las velas. «FULL» corresponde a las líneas tal y como se han descrito anteriormente, es decir, la forma en que este indicador las dibujaba antes de que se añadieran los modos. «BOTH» mantiene esas líneas tenues y añade tres marcas cortas a cada una, en el borde superior, en el centro y en el borde inferior de la ventana. «TICKS» difumina las líneas por completo en el fondo y deja solo las marcas. MetaTrader no admite transparencia para las líneas verticales, por lo que el efecto «faint» se consigue mezclando el color de la línea con el del fondo del gráfico; el grado de mezcla se ajusta mediante un parámetro. Las marcas no se difuminan, por lo que cada una conserva el color de su propia línea y el eje sigue distinguiéndose del rango. Siempre hay exactamente tres marcas por línea, independientemente de lo que muestre el gráfico: el recuento está fijado en el código y no aumenta con el número de barras. En todos los modos, incluido TICKS, ambos objetos de línea siguen ahí con sus valores temporales, por lo que un modo supone un cambio en lo que se ve y no en cómo se arrastra el eje o en lo que se dibuja a partir de él.
Al mover el eje, la línea de rango se desplaza con él, por lo que el número de barras entre ambas líneas no cambia. El eje indica desde dónde se está observando; el rango indica hasta qué punto se remonta la observación, y se desplaza por sí solo cuando se desea modificar ese alcance. Cuando la línea de rango alcanza la barra más antigua del gráfico, se detiene allí; el eje sigue moviéndose y el recuento del panel sigue la distancia que realmente queda, de modo que el cambio es visible y no pasa desapercibido. Al desplazar el eje hacia la derecha, el rango se amplía de nuevo hasta el número solicitado.
Se trata del mismo mecanismo que la comprobación de truncamiento descrita anteriormente, pero expuesto como un control. Su finalidad es que la herramienta sea inspeccionable, no demostrar nada sobre el mercado.
El panel
Un pequeño panel plano se encuentra en una esquina del gráfico. Está construido a partir de rectángulos sencillos y etiquetas, en lugar de botones de la plataforma, por lo que no tiene biseles ni estilos 3D.
Tiene tres filas:
- La hora de referencia y un marcador que indica «LIVE» (en tiempo real) o «PAST» (pasado).
- La fila de los ejes: un botón para volver al tiempo real.
- La fila de rango: el rango actualmente en vigor y un botón que restablece el rango al valor de las entradas.
Los pasos de menos cincuenta, menos diez, más diez y más cincuenta barras están desactivados por defecto. Cuando están desactivados, las dos filas se pliegan en una sola y el panel tiene dos filas de altura en lugar de tres. Al activar «InpShowAsOfSteps», vuelven a aparecer las ocho teclas y el panel recupera su forma anterior. La tecla que restablece el rango permanece en cualquier caso: con los pasos desactivados, el rango se modifica arrastrando la línea del rango, que se sitúa en valores como 214, y esa tecla sirve para volver a un número redondo. Su etiqueta es el valor de los campos de entrada, por lo que también sirve como indicación del rango configurado.
La hora que aparece en el panel y la que aparece en el controlador del eje corresponden siempre a la misma barra, y es la barra a partir de la cual la herramienta ha realizado el cálculo. Mientras el eje está activo, se trata de la última barra cerrada, no de la barra que aún se está formando, aunque la línea vertical en sí esté situada sobre la barra en formación. Cualquier elemento que muestre números indica la barra de la que proceden dichos números.
El panel mide su propio texto antes de maquetarse y se ensancha si un valor no cabe, de modo que nada se superpone a cualquier escala de visualización. Puede situarse en cualquiera de las cuatro esquinas y mantiene el margen que se establezca desde la esquina que se elija. La esquina, los márgenes y sus dos tipos de letra son parámetros configurables. Se puede desactivar por completo; en ese caso, el indicador está siempre activo y no dibuja ningún objeto de control.
Lo que escribe en el registro
Dos líneas al iniciarse. La primera indica que la ventaja estadística de estas líneas no se ha verificado. La segunda es un resumen de una línea de la configuración realmente vigente: símbolo, marcos temporales, ancho fractal, ventana, modo de anclaje, extremo del casco, recuento de líneas, cuotas establecidas, precio de anclaje, congelación, si los controles están activados y cuál de los cuatro modos de línea se está utilizando, seguido de una sugerencia de una sola cláusula que indica que THIN y BOTH hacen que las dos líneas verticales resulten menos intrusivas.
Eso es todo, por defecto. La explicación detallada de cada configuración, de varios párrafos, sigue ahí, pero solo se muestra cuando InpDebugEvents está activado. No se ha eliminado nada; simplemente se ha ocultado tras un conmutador, porque un registro que se llena de explicaciones sobre el propio indicador es un registro que uno deja de leer. La primera línea no está detrás del conmutador y nunca lo estará.
Estados de las líneas y cómo interpretar los colores
Cada línea lleva una etiqueta breve, por ejemplo, D OUT T2 (ramo bajista, línea exterior, tocada dos veces) o D MID BRK T0 (ramo bajista, línea central, rota).
Los toques y las rupturas se evalúan en función de los cierres respecto a una tolerancia escalada según el ATR, por lo que una mecha que atraviese una línea sin un cierre más allá de ella no se tiene en cuenta. Ambos umbrales son datos de entrada. Son valores predeterminados operativos, no valores calibrados.
Se codifican cuatro elementos, y cada uno tiene su propio canal, por lo que ningún canal tiene dos significados:
- Cuál de las tres líneas es: color. La exterior es de un amarillo apagado, la central de un rojo apagado y la interior de un azul apagado.
- Si la línea se ha roto: estilo de línea. La línea continua significa intacta, la discontinua significa rota. Las líneas rotas no tienen color propio.
- Si el conjunto es el más reciente: brillo. Los conjuntos más antiguos se dibujan en una versión más oscura de los mismos tres colores.
- De qué marco temporal procede: grosor. Los marcos temporales superiores se dibujan con mayor grosor.
Los seis colores son parámetros de entrada, y se puede desactivar el desvanecimiento de los conjuntos más antiguos.
Intervalos de tiempo
Se pueden trazar hasta tres intervalos de tiempo en un gráfico. Por defecto, solo se utiliza el intervalo de tiempo del gráfico. Las barras de intervalos de tiempo superiores solo se utilizan una vez que se han cerrado, y el cierre se evalúa en función de la última barra cerrada del propio gráfico, en lugar de según el reloj de la terminal, por lo que el comportamiento es el mismo en el probador de estrategias que en tiempo real. Las líneas de los marcos temporales superiores se trazan con mayor grosor y sus etiquetas indican el marco temporal.
La ventana de análisis se cuenta en barras del marco temporal que se está procesando, sin convertir. En H4, 120 barras equivalen a 20 días. El retraso de confirmación se cuenta igualmente en barras de ese marco temporal.
Parámetros de entrada
Hay 62 parámetros de entrada, distribuidos en siete grupos en el cuadro de diálogo de propiedades. A continuación se enumeran en ocho listas breves en lugar de siete, ya que la configuración del panel resulta más fácil de leer por sí sola; en el cuadro de diálogo se encuentran dentro del grupo «as-of». Todos los valores predeterminados que aparecen aquí son los valores predeterminados de fábrica.
Regla de trazado:
- InpDirMode: traza los tramos bajistas, los tramos alcistas o decide automáticamente cuál de los extremos aparece primero.
- InpFractalN: medio ancho del pivote en barras. 2 significa un fractal de 5 barras.
- InpScanBars: longitud de la ventana de análisis, en barras del marco temporal que se está procesando. Por defecto, 120.
- InpAnchorMode: punto de inicio del intervalo. Borde fijo de la ventana o punto final del tramo anterior.
- InpMaxSpanBars: límite superior de la longitud del intervalo en el modo de tramo anterior, antes de recurrir a una ventana fija.
- InpLineCount: número de líneas que se van a trazar de entre las tres disponibles, de 1 a 3.
- InpRequireTurnPivot: espera a que se confirme un pivote opuesto después de B antes de trazar.
- InpHullEnd: borde derecho del intervalo utilizado para construir el casco. Hasta la barra cerrada actual, o hasta B.
- InpFreezeOnBreak: una vez que el cierre rompe la línea exterior de un tramo, se deja de redibujar dicho tramo.
- InpAnchorPrice: mechas (máximos y mínimos) o cuerpos (apertura y cierre).
Eje y rango «As-of»:
- InpShowAsOfControls: muestra las dos líneas verticales, sus controles y el panel. «Off» significa que siempre se muestra en tiempo real.
- InpAsOfLineColor, InpFromLineColor: colores de la línea del eje y de la línea del rango.
- InpAsOfLineWidth: ancho de las dos líneas verticales en píxeles. Cuanto más gruesas, más fáciles de seleccionar.
- InpAsOfLineFront: dibuja las líneas verticales delante de las velas en lugar de detrás de ellas.
- InpAsOfLineMode: cómo se dibujan las dos líneas verticales. THIN es el valor por defecto: una línea fina para cada una, difuminadas con el fondo del gráfico. FULL son las líneas tal y como se dibujaban antes de que se añadieran los modos. BOTH es esa línea tenue más tres marcas de tick. TICKS son solo las marcas. El eje y el rango funcionan de la misma manera en los cuatro modos.
- InpAsOfLineFadePct: en qué medida THIN y BOTH difuminan una línea en el fondo del gráfico, de 0 a 100. El valor por defecto es 65. Los valores fuera de ese rango se ajustan dentro del mismo y el registro lo indica.
- InpAsOfTickPx: la longitud de una marca de escala en píxeles, utilizada por BOTH y TICKS. El valor predeterminado es 18, y se ajusta dentro del rango de 2 a 400. Siempre hay tres marcas por línea, independientemente del valor que se establezca.
- InpAsOfLineSelectable: permite seleccionar y arrastrar las propias líneas verticales. Desactivada por defecto, para que no se pueda seleccionar una línea por accidente. Las pestañas y el panel siguen moviendo el eje.
- InpAsOfKeepSelected: mantiene seleccionadas las dos líneas verticales. Desactivada por defecto, y solo tiene efecto mientras InpAsOfLineSelectable esté activada, ya que las marcas solo se dibujan en objetos seleccionables.
- InpHandleLane: en qué carril se colocan las pestañas, contando desde arriba. Si se asigna un segundo indicador que dibuje su propia pestaña «as-of» en un carril diferente, las pestañas dejarán de superponerse entre sí. Al arrastrar una pestaña hacia arriba o hacia abajo se anulan tanto el carril como el desplazamiento del panel hasta que se recargue el gráfico.
- InpShowAsOfSteps: muestra las teclas «menos cincuenta», «menos diez», «más diez» y «más cincuenta» en el panel. Desactivado por defecto, lo que pliega el panel en dos filas. «NOW» y la tecla de reinicio del rango siempre se muestran.
- InpShowAsOfHandles, InpHandleFontSize, InpHandleYPct: muestra los controladores, el tamaño de su texto y la altura a la que se sitúan en el gráfico. El tamaño de la fuente también establece la anchura mínima que puede tener una pestaña, por lo que es el ajuste que debes aumentar si deseas un área más grande para arrastrar.
- InpAsOfHandleFill: dibuja la pestaña rellena. Si se desactiva, la lectura se muestra como texto sin formato, y el texto deja de ser un objetivo de selección, por lo que el eje se desplaza mediante las líneas y las teclas del panel.
- InpDebugEvents: muestra en el registro la descripción detallada de la configuración y todos los eventos del gráfico. Desactivado por defecto. Se trata de un indicador de diagnóstico, para enviarnos información que podamos analizar cuando un gráfico se vea incorrecto.
Panel:
- InpUiCorner: en qué esquina se sitúa el panel.
- InpUiX, InpUiY: márgenes del panel desde esa esquina, en píxeles.
- InpUiSafeBottom: espacio que siempre se mantiene libre en el borde inferior, para la escala de tiempo.
- InpHudFontStamp, InpHudFontNum: la fuente de las etiquetas y la fuente de los números del panel.
- InpKeyAffordance: indica qué partes del panel se pueden pulsar y cuáles son solo para leer. RAISED es el valor por defecto: solo las teclas conservan una cara y un borde, y la parte superior de una tecla se destaca un tono más claro, de modo que una indicación como LIVE o PAST aparece en texto sin formato. MARK resalta las teclas solo con el borde. OFF corresponde al panel antiguo, en el que una tecla y su texto tenían el mismo aspecto.
Marcos temporales:
- InpTF1, InpTFEnable2, InpTF2, InpTFEnable3, InpTF3: hasta tres marcos temporales en un gráfico.
- InpTFWidthStep: ancho adicional de la línea en píxeles por cada paso hacia arriba en el marco temporal. El valor cero mantiene los anchos iguales.
- InpMaxSetsHTF: conjuntos que se mantienen por cada marco temporal superior en la dirección actual.
- InpMaxSetsOppHTF: conjuntos que se mantienen por cada marco temporal superior en la dirección opuesta. El valor cero no mantiene ninguno.
Cuánto se muestra en pantalla:
- InpReplayBars: número de barras hacia atrás que se remonta la reproducción secuencial, de modo que también se muestren los conjuntos más antiguos.
- InpMaxSets: conjuntos que se mantienen en el marco temporal del gráfico en la dirección actual.
- InpMaxSetsOpp: conjuntos que se mantienen en el marco temporal del gráfico en la dirección opuesta. El valor cero indica que no se mantiene ninguno.
- InpMaxHistoryBars: límite máximo de barras analizadas. El valor cero significa todas ellas.
Umbrales de estado:
- InpTouchTolATR: distancia en ATR dentro de la cual un cierre se considera que toca la línea.
- InpBreakTolATR: distancia en ATR más allá de la línea en la que un cierre se considera una ruptura.
- InpATRPeriod: periodo ATR utilizado por las pruebas de contacto y ruptura.
Apariencia de las líneas:
- InpOuterColor, InpMiddleColor, InpInnerColor: las tres líneas del conjunto más reciente.
- InpOuterColorOld, InpMiddleColorOld, InpInnerColorOld: las mismas tres líneas para conjuntos más antiguos.
- InpLineWidth: ancho de línea en píxeles, antes de añadir el intervalo de tiempo.
- InpLineStyle: estilo de las líneas que no se han roto.
- InpBrokenStyle: estilo de las líneas rotas. Debe ser diferente de InpLineStyle.
- InpFadeOldSets: dibuja los conjuntos más antiguos en colores más oscuros.
Etiquetas:
- InpShowLabels: muestra la etiqueta de estado en el extremo derecho de cada línea.
- InpShowAB: marca el inicio A y el final B del intervalo.
- InpLabelFontSize: tamaño de fuente de las etiquetas de estado.
Cada entrada numérica que tenga un rango se comprueba al inicio, y el indicador se niega a ejecutarse antes que mostrar algo engañoso. Basta con un solo valor fuera de su rango: el inicio se detiene y el registro indica la entrada, su rango y el valor que has introducido. Lo mismo ocurre con un par contradictorio, por ejemplo, una tolerancia de ruptura menor que la tolerancia táctil, o un estilo de línea discontinua idéntico al estilo de línea normal. InpAsOfLineFadePct e InpAsOfTickPx son las dos únicas entradas que se comportan de forma diferente, y son las dos descritas anteriormente: un valor fuera de su rango se ajusta dentro del mismo y el registro lo indica, en lugar de detener el inicio.
¿Qué se instala?
Un archivo de indicador compilado. No hay que copiar nada más, ni archivos «include» que colocar manualmente, ni bibliotecas que instalar, ni llamadas a DLL, ni conexiones externas de ningún tipo. Basta con soltarlo en un gráfico y se ejecuta.
Limitaciones
- Sin señales de entrada o salida, sin flechas, sin alertas, sin operaciones. Traza líneas y las etiqueta.
- No se afirma que ofrezca ventaja estadística. No hemos comprobado si estas líneas tienen valor predictivo.
- Las líneas aparecen con retraso, por diseño. Un pivote necesita que se cierren las barras de su derecha y, por defecto, la herramienta espera a que se forme un pivote opuesto después de B. Hasta entonces no se dibuja nada. Este retraso es el precio a pagar por no repintar, y no puede eliminarse sin anticiparse al futuro.
- Solo se tienen en cuenta los cierres. No se cuenta el contacto con la mecha ni la ruptura de la misma.
- No se tienen en cuenta los empates. Si el máximo o mínimo del intervalo es igual en todas las barras, no se cumple el requisito del pivote y no se trazan líneas en ese momento. Esta es la forma segura de proceder, no una solución alternativa.
- Los marcos temporales superiores necesitan historial. Si tu bróker no proporciona suficiente historial para un marco temporal seleccionado, no se traza nada para ese marco temporal y se escribe un mensaje en el registro.
- El primer trazado aumenta con la longitud del gráfico y no se ha cronometrado en una terminal real. En esa primera pasada, el indicador lee todas las barras que contiene el gráfico. InpMaxHistoryBars e InpReplayBars limitan la detección y la reproducción; no limitan esa primera lectura.
- Trabajo realizado tras el primer dibujo. Un tick que no abre una nueva barra no dibuja nada en absoluto. Cuando se abre una barra, el trabajo está limitado por InpMaxHistoryBars en lugar de por la longitud del gráfico, y ese mismo límite se aplica mientras se arrastra el eje a lo largo de las barras. Nada de esto se ha cronometrado en una terminal real; se trata de un recuento del trabajo solicitado, no de una medición del tiempo que lleva, y no dice nada sobre el primer dibujo mencionado anteriormente. Las rutas de los marcos temporales más altos no están limitadas de esta manera y siguen leyendo toda su serie.
- Se ofrecen las cuatro formas de trazar las líneas verticales porque no sabemos cuál se adaptará mejor a tu gráfico y no hemos decidido una por ti. El efecto «pálido» se consigue mezclando el color de la línea con el color de fondo del gráfico, por lo que el grado de palidez de un ajuste determinado depende de tu fondo.
- El consumo de memoria aumenta con el número de barras del gráfico y no está limitado por ningún ajuste. El indicador mantiene su propia copia de la serie del gráfico para que, al arrastrar el eje, nunca tenga que volver a leerla: ocho matrices de ocho bytes por barra más dos de un byte, lo que supone 66 bytes por cada barra que le envía el terminal. Se trata de un cálculo aritmético a partir de la fuente, no de una medición: en un gráfico con tres millones de barras, el resultado es de aproximadamente un cuarto de gigabyte, y no hemos comprobado esta cifra en un terminal en funcionamiento. Si esto te preocupa, reduce el valor de «Máximo de barras en el gráfico» en la configuración del terminal; los ajustes de historial del propio indicador no lo modifican.
- Se han elegido los valores por defecto para el XAUUSD. El indicador funciona con otros símbolos, pero los valores por defecto no se han ajustado para ellos y se escribe una nota en el registro al iniciarse.
- Los umbrales y la longitud de la ventana son valores por defecto operativos. No son valores calibrados, y esta descripción no pretende lo contrario.
- El panel utiliza Bahnschrift y Consolas de forma predeterminada. MetaTrader sustituye silenciosamente estas fuentes por otras cuando no están instaladas y no ofrece forma alguna de averiguar qué fuente ha utilizado realmente, por lo que, en un equipo que no cuente con dichas fuentes, el panel seguirá funcionando pero no se verá como se pretende. Ambas fuentes son parámetros de entrada.
- El panel necesita espacio. En una ventana de gráfico más estrecha que unos 250 píxeles, o más corta que unos 100 píxeles, no cabe y se recortará en lugar de ocultarse, ya que no se puede hacer clic en un panel oculto.
- La línea del eje, la línea de rango y los controladores son objetos del gráfico que pertenecen al indicador. Eliminarlos manualmente no desactiva la función; se vuelven a crear. Utilice la entrada para desactivar los controles.
- Las dos líneas verticales son objetos normales del gráfico. Por defecto, no se pueden seleccionar en absoluto, y con InpAsOfLineSelectable activado permanecen deseleccionadas, por lo que MetaTrader no dibuja marcas de selección sobre ellas y se mueven de la forma habitual: seleccionar y, a continuación, arrastrar. Que la selección requiera un clic o dos es una configuración de la terminal, no algo que un indicador pueda leer o modificar. InpAsOfKeepSelected, en cambio, las mantiene seleccionadas, lo que ahorra ese clic y muestra las marcas en pantalla. En cualquier caso, las marcas nunca aparecen en los controladores.
- Arrastrar un controlador depende de que la terminal envíe eventos de movimiento del ratón al indicador. El indicador solicita estos eventos al gráfico al iniciarse y deja de solicitarlos cuando se elimina. Si otro indicador del mismo gráfico desactiva esa configuración, los controladores dejan de responder, y las líneas y las teclas del panel siguen siendo las formas de mover el eje.
- Suspender el desplazamiento del gráfico mientras se mantiene pulsado un controlador es una configuración que afecta a todo el gráfico, por lo que, si se cargan dos indicadores que lo hacen, el que se restablezca en último lugar determinará el valor que quede.
- El controlador se dibuja como un panel relleno en el espacio de la pantalla, del mismo modo que se dibuja el propio panel del indicador. No hemos medido en un gráfico en tiempo real qué parte de una vela cubre un controlador cuando se sitúa sobre el precio, y no hacemos ninguna afirmación al respecto.
- Con InpAsOfHandleFill desactivado, no hay pestaña y la lectura se convierte en texto sin formato que no es un objetivo de selección. El eje se desplaza entonces con las teclas del panel o con las líneas verticales tras activar InpAsOfLineSelectable.
- El entorno de verificación reimplementa la lógica de dibujo fuera del terminal y es una adaptación de dicha lógica, más que un diseño independiente. Comprueba la lógica, no el archivo compilado.
A quién probablemente no va dirigido
- Cualquiera que busque señales de entrada, flechas, alertas o un sistema automatizado.
- Cualquiera que quiera un gráfico en el que el conjunto de líneas nunca cambie en absoluto, en lugar de un gráfico en el que las líneas individuales nunca se muevan.
- Cualquiera que necesite pruebas de que las líneas tienen ventaja antes de comprar. No disponemos de esa evidencia y no la inventaremos.
Asistencia técnica
Utiliza la sección de comentarios del producto o el sistema de mensajes de mql5.com. Se aceptan preguntas sobre la función de un parámetro específico o sobre un gráfico en el que el resultado parezca incorrecto. Incluye el símbolo, el marco temporal y tu configuración de parámetros.
Qué hace. Traza líneas de tendencia a partir de una regla geométrica fija y nunca desplaza una línea una vez que esta se ha trazado.
Qué no hace. No te indica cuándo comprar ni cuándo vender, y no afirma que estas líneas tengan ninguna ventaja estadística. No hemos medido ninguna, por lo que no afirmamos que exista.
Lo que se ha comprobado. El comportamiento «sin repintado» no es solo una frase de esta descripción. Se comprueba mediante un sistema de verificación automatizado, y dicho sistema no detecta ninguna discrepancia. La comprobación fundamental es que situar el eje «a fecha de» en un momento pasado T produce exactamente la misma imagen que cortar físicamente los datos en T.
Por qué esta descripción no contiene cifras
Esta descripción no incluye tasa de aciertos, cifras de beneficios ni resultados de backtest. No se trata de una mera formalidad. No hemos comprobado si estas líneas tienen algún valor predictivo, por lo que no hay nada que informar. Lo que se ofrece aquí es una regla de trazado descrita en su totalidad y una comprobación automática de que la herramienta sigue dicha regla.
La regla de trazado
Los pivotes son fractales de 5 barras: la barra central es más alta que las dos barras a cada lado, o más baja que las dos barras a cada lado. El ancho medio es un parámetro de entrada, por lo que 5 barras es el valor por defecto y no una constante fija.
Dentro de una ventana de análisis, el indicador toma el máximo del intervalo y el mínimo del intervalo. Si el máximo aparece primero, el tramo es bajista desde ese máximo A hasta ese mínimo B. Si el mínimo aparece primero, el tramo es alcista.
Para un tramo bajista, las tres líneas son los tres primeros bordes de la envolvente convexa superior trazados desde A. En palabras sencillas: empieza en horizontal en A, gira hacia abajo y traza hasta el primer máximo que encuentres. Desde ese punto, gira de nuevo. Y luego, una vez más. Esas son la línea exterior, la central y la interior. Para un tramo alcista, se aplica el mismo procedimiento en la envolvente inferior, de forma simétrica.
Tres líneas por conjunto, y nada más. Si quieres una estructura más detallada, cambia a un marco temporal inferior. La línea exterior siempre tiene una pendiente menor que la línea central, y la línea central, una pendiente menor que la línea interior. Ese orden es una propiedad del casco, no un ajuste.
Los puntos de anclaje pueden tomarse de las mechas o de los cuerpos. El valor por defecto son las mechas, es decir, los máximos y mínimos. Si se configura el precio de anclaje en los cuerpos, se utilizan en su lugar los precios de apertura y cierre, tanto para los pivotes como para el hull y las pruebas de estado. Aún no hemos decidido cuál de las dos es la interpretación correcta del método, por lo que se ofrecen ambas opciones y ninguna se presenta como la correcta.
Qué significa aquí «sin repintado» y cómo se comprueba
Una línea se ancla a dos barras en el momento en que se crea el conjunto, y esos dos puntos de anclaje quedan fijos. El indicador nunca los reescribe. Los nuevos máximos y mínimos del mercado añaden nuevos conjuntos; no modifican los antiguos.
Hay tres factores que lo hacen posible. La barra en formación nunca se utiliza. Un pivote no existe hasta que se hayan cerrado las barras situadas a su derecha. Y, por defecto, el indicador espera a que se confirme un pivote opuesto después de B antes de trazar nada en absoluto.
El sistema de verificación ejecuta la misma lógica de trazado fuera de la terminal sobre series sintéticas y paseos aleatorios, y comprueba, en cada barra de cada serie:
- Invarianza ante el truncamiento: el resultado de una matriz recortada físicamente a t barras es igual al resultado de la matriz completa reproducida en t. Cero discrepancias.
- Adición monótona: los conjuntos ya registrados nunca se reescriben, solo se les añaden elementos. Cero incumplimientos.
- Invarianza de los límites: los tres límites de un conjunto registrado nunca cambian posteriormente. Cero discrepancias.
- Invarianza «as-of»: situar el eje en un momento pasado T equivale a recortar los datos en T. Cero discrepancias, en ambos modos de casco, ambos modos de anclaje, ambos precios de anclaje y con la opción de congelación activada y desactivada.
Por favor, interpreta esta afirmación de forma estricta, ya que la formulamos de manera estricta. El «harness» es una adaptación de la misma lógica de trazado a otro lenguaje. No se trata de una segunda implementación diseñada de forma independiente, y no la presentamos como tal. Lo que hace que merezca la pena ejecutar la comprobación es el tipo de cosas que comprueba: se trata de propiedades matemáticas de la salida, como la invariancia ante el truncamiento, que la lógica que mira hacia adelante no puede satisfacer. Una adaptación de una regla que se adelantara a las barras futuras no superaría estas comprobaciones, ni las pasaría por simple parecido.
Se trata de una comprobación de la lógica de trazado, ejecutada fuera de MetaTrader. No es una afirmación sobre el comportamiento del mercado, ni una afirmación de que las líneas sean útiles.
Una consecuencia lógica. Las líneas no se mueven, pero eso no significa que la pantalla nunca cambie. Cuando el precio alcanza un nuevo máximo o mínimo, se añade un nuevo conjunto, y los conjuntos antiguos desaparecen del gráfico una vez que se alcanzan los límites de visualización. Las líneas antiguas no se han movido; se han retirado.
El eje «as-of» y los dos controladores
Una línea vertical en el gráfico es el eje «as-of». Si la arrastras hacia la izquierda, todo el gráfico se vuelve a dibujar tal y como estaba en ese momento: los mismos conjuntos, los mismos estados, las mismas etiquetas, sin tener en cuenta nada de lo que haya ocurrido después. Una segunda línea vertical establece el borde izquierdo del rango de exploración.
Cada una de las dos líneas lleva un controlador, y en este se lee el valor que controla dicha línea:
LINES :: AXIS 08.11 21:45 LINES :: RANGE 214
La palabra que aparece delante es una etiqueta abreviada del indicador al que pertenece la pestaña. Si un segundo indicador en el mismo gráfico también dibuja una pestaña «a fecha de», la etiqueta es lo que permite distinguir ambos de un vistazo.
El identificador es una pequeña pestaña, no un conjunto de elementos. Se diseña en píxeles de pantalla en lugar de en la cuadrícula de precios, por lo que mantiene el mismo tamaño y la misma forma en todos los niveles de zoom. Está rellenada con el mismo color que el panel, y el valor se dibuja sobre ese relleno. Una franja de dos píxeles a lo largo de su borde izquierdo lleva el color de la línea a la que pertenece la pestaña, y esa franja es lo que permite distinguir las dos pestañas de un vistazo.
Pulsa el botón izquierdo del ratón en cualquier punto de la pestaña y arrastra. La línea la sigue al instante. No hay ningún paso previo: no hay que seleccionar primero la pestaña, ni hacer doble clic en ella, ni buscar un objetivo más pequeño en su interior. El indicador realiza su propia comprobación de coincidencia con respecto al rectángulo que ha dibujado, por lo que el área que responde es la pestaña que se ve, más un margen de tres píxeles a su alrededor.
De hacerlo así se derivan tres cosas, y son la razón por la que se hace de esa manera.
- La pestaña no es un objeto seleccionable del gráfico, por lo que MetaTrader nunca coloca marcas de selección sobre ella.
- La pestaña no tiene puntos de arrastre. No se puede estirar, inclinar ni cambiar su tamaño agarrándola cerca de un borde, por lo que no hay ningún estado de deformación del que recuperarse.
- Mientras mantienes pulsada la pestaña, se suspende el desplazamiento horizontal del gráfico, de modo que este no se desliza fuera del cursor mientras arrastras. El indicador lee la configuración actual antes de cambiarla y vuelve a escribir ese mismo valor al soltar el botón. También se vuelve a escribir si no se suelta correctamente, al hacer clic en cualquier lugar, al arrastrar el siguiente objeto y cuando se retira el indicador.
Para levantar la pestaña es necesario pulsar el botón mientras el puntero ya se encuentra sobre ella. Si se pasa el puntero por encima de la pestaña con el botón ya pulsado, en medio de otro arrastre, no se transfiere ese arrastre.
Si una pestaña llegara a detenerse encima del panel, se desplaza por debajo del panel, y solo entonces. Cuando ambos están separados, la pestaña no se mueve en absoluto.
Las pestañas se colocan en carriles. Un carril es una fila que ocupa toda la altura de la pantalla, y el número de carril es un dato de entrada. Dos indicadores que dibujan ambos una pestaña «tal y como está» se colocan en carriles diferentes, de modo que las pestañas se sitúan una encima de la otra en lugar de superponerse. Con un indicador en el gráfico, el carril predeterminado deja la pestaña exactamente donde estaría de otro modo.
Una pestaña también se puede arrastrar hacia arriba y hacia abajo. Donde la sueltes, ahí se queda: a partir de ese momento se ignoran tanto el desplazamiento de la columna como el margen del panel, ya que ambos son estimaciones realizadas antes de que hubieras consultado el gráfico. Una pestaña no se puede soltar fuera del borde, por lo que siempre se puede volver a seleccionar. Mover una pestaña hacia arriba o hacia abajo no cambia nada, salvo la posición en la que se dibuja la pestaña. La altura no se conserva cuando cambia el intervalo de tiempo o se recarga el indicador; vuelve a empezar desde InpHandleYPct.
Por defecto, las líneas verticales no se pueden seleccionar con el ratón. Al hacer clic en una de ellas no ocurre nada, por lo que no es posible seleccionar una línea por error mientras se dibuja en el gráfico, y mover el eje accidentalmente modifica todas las líneas que dibuja la herramienta. La pestaña y el panel son los elementos que permiten mover el eje. Al establecer InpAsOfLineSelectable en «true», se restablece la forma habitual de mover un objeto del gráfico: seleccionar la línea y, a continuación, arrastrarla. MetaTrader dibuja pequeñas marcas de selección sobre el objeto seleccionado, e InpAsOfKeepSelected mantiene las líneas seleccionadas para que no sea necesario el primer clic. Esa opción solo tiene efecto mientras las líneas puedan seleccionarse. Las marcas nunca aparecen en las pestañas.
Las dos líneas verticales se pueden trazar de cuatro formas, y esta configuración existe porque no sabemos cuál preferirás en tu propio gráfico. «THIN» es el valor predeterminado: cada línea se traza como una línea de un píxel que se mimetiza con el fondo del gráfico, de modo que siguen estando ahí pero no compiten con las velas. «FULL» corresponde a las líneas tal y como se han descrito anteriormente, es decir, la forma en que este indicador las dibujaba antes de que se añadieran los modos. «BOTH» mantiene esas líneas tenues y añade tres marcas cortas a cada una, en el borde superior, en el centro y en el borde inferior de la ventana. «TICKS» difumina las líneas por completo en el fondo y deja solo las marcas. MetaTrader no admite transparencia para las líneas verticales, por lo que el efecto «faint» se consigue mezclando el color de la línea con el del fondo del gráfico; el grado de mezcla se ajusta mediante un parámetro. Las marcas no se difuminan, por lo que cada una conserva el color de su propia línea y el eje sigue distinguiéndose del rango. Siempre hay exactamente tres marcas por línea, independientemente de lo que muestre el gráfico: el recuento está fijado en el código y no aumenta con el número de barras. En todos los modos, incluido TICKS, ambos objetos de línea siguen ahí con sus valores temporales, por lo que un modo supone un cambio en lo que se ve y no en cómo se arrastra el eje o en lo que se dibuja a partir de él.
Al mover el eje, la línea de rango se desplaza con él, por lo que el número de barras entre ambas líneas no cambia. El eje indica desde dónde se está observando; el rango indica hasta qué punto se remonta la observación, y se desplaza por sí solo cuando se desea modificar ese alcance. Cuando la línea de rango alcanza la barra más antigua del gráfico, se detiene allí; el eje sigue moviéndose y el recuento del panel sigue la distancia que realmente queda, de modo que el cambio es visible y no pasa desapercibido. Al desplazar el eje hacia la derecha, el rango se amplía de nuevo hasta el número solicitado.
Se trata del mismo mecanismo que la comprobación de truncamiento descrita anteriormente, pero expuesto como un control. Su finalidad es que la herramienta sea inspeccionable, no demostrar nada sobre el mercado.
El panel
Un pequeño panel plano se encuentra en una esquina del gráfico. Está construido a partir de rectángulos sencillos y etiquetas, en lugar de botones de la plataforma, por lo que no tiene biseles ni estilos 3D.
Tiene tres filas:
- La hora de referencia y un marcador que indica «LIVE» (en tiempo real) o «PAST» (pasado).
- La fila de los ejes: un botón para volver al tiempo real.
- La fila de rango: el rango actualmente en vigor y un botón que restablece el rango al valor de las entradas.
Los pasos de menos cincuenta, menos diez, más diez y más cincuenta barras están desactivados por defecto. Cuando están desactivados, las dos filas se pliegan en una sola y el panel tiene dos filas de altura en lugar de tres. Al activar «InpShowAsOfSteps», vuelven a aparecer las ocho teclas y el panel recupera su forma anterior. La tecla que restablece el rango permanece en cualquier caso: con los pasos desactivados, el rango se modifica arrastrando la línea del rango, que se sitúa en valores como 214, y esa tecla sirve para volver a un número redondo. Su etiqueta es el valor de los campos de entrada, por lo que también sirve como indicación del rango configurado.
La hora que aparece en el panel y la que aparece en el controlador del eje corresponden siempre a la misma barra, y es la barra a partir de la cual la herramienta ha realizado el cálculo. Mientras el eje está activo, se trata de la última barra cerrada, no de la barra que aún se está formando, aunque la línea vertical en sí esté situada sobre la barra en formación. Cualquier elemento que muestre números indica la barra de la que proceden dichos números.
El panel mide su propio texto antes de maquetarse y se ensancha si un valor no cabe, de modo que nada se superpone a cualquier escala de visualización. Puede situarse en cualquiera de las cuatro esquinas y mantiene el margen que se establezca desde la esquina que se elija. La esquina, los márgenes y sus dos tipos de letra son parámetros configurables. Se puede desactivar por completo; en ese caso, el indicador está siempre activo y no dibuja ningún objeto de control.
Lo que escribe en el registro
Dos líneas al iniciarse. La primera indica que la ventaja estadística de estas líneas no se ha verificado. La segunda es un resumen de una línea de la configuración realmente vigente: símbolo, marcos temporales, ancho fractal, ventana, modo de anclaje, extremo del casco, recuento de líneas, cuotas establecidas, precio de anclaje, congelación, si los controles están activados y cuál de los cuatro modos de línea se está utilizando, seguido de una sugerencia de una sola cláusula que indica que THIN y BOTH hacen que las dos líneas verticales resulten menos intrusivas.
Eso es todo, por defecto. La explicación detallada de cada configuración, de varios párrafos, sigue ahí, pero solo se muestra cuando InpDebugEvents está activado. No se ha eliminado nada; simplemente se ha ocultado tras un conmutador, porque un registro que se llena de explicaciones sobre el propio indicador es un registro que uno deja de leer. La primera línea no está detrás del conmutador y nunca lo estará.
Estados de las líneas y cómo interpretar los colores
Cada línea lleva una etiqueta breve, por ejemplo, D OUT T2 (ramo bajista, línea exterior, tocada dos veces) o D MID BRK T0 (ramo bajista, línea central, rota).
Los toques y las rupturas se evalúan en función de los cierres respecto a una tolerancia escalada según el ATR, por lo que una mecha que atraviese una línea sin un cierre más allá de ella no se tiene en cuenta. Ambos umbrales son datos de entrada. Son valores predeterminados operativos, no valores calibrados.
Se codifican cuatro elementos, y cada uno tiene su propio canal, por lo que ningún canal tiene dos significados:
- Cuál de las tres líneas es: color. La exterior es de un amarillo apagado, la central de un rojo apagado y la interior de un azul apagado.
- Si la línea se ha roto: estilo de línea. La línea continua significa intacta, la discontinua significa rota. Las líneas rotas no tienen color propio.
- Si el conjunto es el más reciente: brillo. Los conjuntos más antiguos se dibujan en una versión más oscura de los mismos tres colores.
- De qué marco temporal procede: grosor. Los marcos temporales superiores se dibujan con mayor grosor.
Los seis colores son parámetros de entrada, y se puede desactivar el desvanecimiento de los conjuntos más antiguos.
Intervalos de tiempo
Se pueden trazar hasta tres intervalos de tiempo en un gráfico. Por defecto, solo se utiliza el intervalo de tiempo del gráfico. Las barras de intervalos de tiempo superiores solo se utilizan una vez que se han cerrado, y el cierre se evalúa en función de la última barra cerrada del propio gráfico, en lugar de según el reloj de la terminal, por lo que el comportamiento es el mismo en el probador de estrategias que en tiempo real. Las líneas de los marcos temporales superiores se trazan con mayor grosor y sus etiquetas indican el marco temporal.
La ventana de análisis se cuenta en barras del marco temporal que se está procesando, sin convertir. En H4, 120 barras equivalen a 20 días. El retraso de confirmación se cuenta igualmente en barras de ese marco temporal.
Parámetros de entrada
Hay 62 parámetros de entrada, distribuidos en siete grupos en el cuadro de diálogo de propiedades. A continuación se enumeran en ocho listas breves en lugar de siete, ya que la configuración del panel resulta más fácil de leer por sí sola; en el cuadro de diálogo se encuentran dentro del grupo «as-of». Todos los valores predeterminados que aparecen aquí son los valores predeterminados de fábrica.
Regla de trazado:
- InpDirMode: traza los tramos bajistas, los tramos alcistas o decide automáticamente cuál de los extremos aparece primero.
- InpFractalN: medio ancho del pivote en barras. 2 significa un fractal de 5 barras.
- InpScanBars: longitud de la ventana de análisis, en barras del marco temporal que se está procesando. Por defecto, 120.
- InpAnchorMode: punto de inicio del intervalo. Borde fijo de la ventana o punto final del tramo anterior.
- InpMaxSpanBars: límite superior de la longitud del intervalo en el modo de tramo anterior, antes de recurrir a una ventana fija.
- InpLineCount: número de líneas que se van a trazar de entre las tres disponibles, de 1 a 3.
- InpRequireTurnPivot: espera a que se confirme un pivote opuesto después de B antes de trazar.
- InpHullEnd: borde derecho del intervalo utilizado para construir el casco. Hasta la barra cerrada actual, o hasta B.
- InpFreezeOnBreak: una vez que el cierre rompe la línea exterior de un tramo, se deja de redibujar dicho tramo.
- InpAnchorPrice: mechas (máximos y mínimos) o cuerpos (apertura y cierre).
Eje y rango «As-of»:
- InpShowAsOfControls: muestra las dos líneas verticales, sus controles y el panel. «Off» significa que siempre se muestra en tiempo real.
- InpAsOfLineColor, InpFromLineColor: colores de la línea del eje y de la línea del rango.
- InpAsOfLineWidth: ancho de las dos líneas verticales en píxeles. Cuanto más gruesas, más fáciles de seleccionar.
- InpAsOfLineFront: dibuja las líneas verticales delante de las velas en lugar de detrás de ellas.
- InpAsOfLineMode: cómo se dibujan las dos líneas verticales. THIN es el valor por defecto: una línea fina para cada una, difuminadas con el fondo del gráfico. FULL son las líneas tal y como se dibujaban antes de que se añadieran los modos. BOTH es esa línea tenue más tres marcas de tick. TICKS son solo las marcas. El eje y el rango funcionan de la misma manera en los cuatro modos.
- InpAsOfLineFadePct: en qué medida THIN y BOTH difuminan una línea en el fondo del gráfico, de 0 a 100. El valor por defecto es 65. Los valores fuera de ese rango se ajustan dentro del mismo y el registro lo indica.
- InpAsOfTickPx: la longitud de una marca de escala en píxeles, utilizada por BOTH y TICKS. El valor predeterminado es 18, y se ajusta dentro del rango de 2 a 400. Siempre hay tres marcas por línea, independientemente del valor que se establezca.
- InpAsOfLineSelectable: permite seleccionar y arrastrar las propias líneas verticales. Desactivada por defecto, para que no se pueda seleccionar una línea por accidente. Las pestañas y el panel siguen moviendo el eje.
- InpAsOfKeepSelected: mantiene seleccionadas las dos líneas verticales. Desactivada por defecto, y solo tiene efecto mientras InpAsOfLineSelectable esté activada, ya que las marcas solo se dibujan en objetos seleccionables.
- InpHandleLane: en qué carril se colocan las pestañas, contando desde arriba. Si se asigna un segundo indicador que dibuje su propia pestaña «as-of» en un carril diferente, las pestañas dejarán de superponerse entre sí. Al arrastrar una pestaña hacia arriba o hacia abajo se anulan tanto el carril como el desplazamiento del panel hasta que se recargue el gráfico.
- InpShowAsOfSteps: muestra las teclas «menos cincuenta», «menos diez», «más diez» y «más cincuenta» en el panel. Desactivado por defecto, lo que pliega el panel en dos filas. «NOW» y la tecla de reinicio del rango siempre se muestran.
- InpShowAsOfHandles, InpHandleFontSize, InpHandleYPct: muestra los controladores, el tamaño de su texto y la altura a la que se sitúan en el gráfico. El tamaño de la fuente también establece la anchura mínima que puede tener una pestaña, por lo que es el ajuste que debes aumentar si deseas un área más grande para arrastrar.
- InpAsOfHandleFill: dibuja la pestaña rellena. Si se desactiva, la lectura se muestra como texto sin formato, y el texto deja de ser un objetivo de selección, por lo que el eje se desplaza mediante las líneas y las teclas del panel.
- InpDebugEvents: muestra en el registro la descripción detallada de la configuración y todos los eventos del gráfico. Desactivado por defecto. Se trata de un indicador de diagnóstico, para enviarnos información que podamos analizar cuando un gráfico se vea incorrecto.
Panel:
- InpUiCorner: en qué esquina se sitúa el panel.
- InpUiX, InpUiY: márgenes del panel desde esa esquina, en píxeles.
- InpUiSafeBottom: espacio que siempre se mantiene libre en el borde inferior, para la escala de tiempo.
- InpHudFontStamp, InpHudFontNum: la fuente de las etiquetas y la fuente de los números del panel.
- InpKeyAffordance: indica qué partes del panel se pueden pulsar y cuáles son solo para leer. RAISED es el valor por defecto: solo las teclas conservan una cara y un borde, y la parte superior de una tecla se destaca un tono más claro, de modo que una indicación como LIVE o PAST aparece en texto sin formato. MARK resalta las teclas solo con el borde. OFF corresponde al panel antiguo, en el que una tecla y su texto tenían el mismo aspecto.
Marcos temporales:
- InpTF1, InpTFEnable2, InpTF2, InpTFEnable3, InpTF3: hasta tres marcos temporales en un gráfico.
- InpTFWidthStep: ancho adicional de la línea en píxeles por cada paso hacia arriba en el marco temporal. El valor cero mantiene los anchos iguales.
- InpMaxSetsHTF: conjuntos que se mantienen por cada marco temporal superior en la dirección actual.
- InpMaxSetsOppHTF: conjuntos que se mantienen por cada marco temporal superior en la dirección opuesta. El valor cero no mantiene ninguno.
Cuánto se muestra en pantalla:
- InpReplayBars: número de barras hacia atrás que se remonta la reproducción secuencial, de modo que también se muestren los conjuntos más antiguos.
- InpMaxSets: conjuntos que se mantienen en el marco temporal del gráfico en la dirección actual.
- InpMaxSetsOpp: conjuntos que se mantienen en el marco temporal del gráfico en la dirección opuesta. El valor cero indica que no se mantiene ninguno.
- InpMaxHistoryBars: límite máximo de barras analizadas. El valor cero significa todas ellas.
Umbrales de estado:
- InpTouchTolATR: distancia en ATR dentro de la cual un cierre se considera que toca la línea.
- InpBreakTolATR: distancia en ATR más allá de la línea en la que un cierre se considera una ruptura.
- InpATRPeriod: periodo ATR utilizado por las pruebas de contacto y ruptura.
Apariencia de las líneas:
- InpOuterColor, InpMiddleColor, InpInnerColor: las tres líneas del conjunto más reciente.
- InpOuterColorOld, InpMiddleColorOld, InpInnerColorOld: las mismas tres líneas para conjuntos más antiguos.
- InpLineWidth: ancho de línea en píxeles, antes de añadir el intervalo de tiempo.
- InpLineStyle: estilo de las líneas que no se han roto.
- InpBrokenStyle: estilo de las líneas rotas. Debe ser diferente de InpLineStyle.
- InpFadeOldSets: dibuja los conjuntos más antiguos en colores más oscuros.
Etiquetas:
- InpShowLabels: muestra la etiqueta de estado en el extremo derecho de cada línea.
- InpShowAB: marca el inicio A y el final B del intervalo.
- InpLabelFontSize: tamaño de fuente de las etiquetas de estado.
Cada entrada numérica que tenga un rango se comprueba al inicio, y el indicador se niega a ejecutarse antes que mostrar algo engañoso. Basta con un solo valor fuera de su rango: el inicio se detiene y el registro indica la entrada, su rango y el valor que has introducido. Lo mismo ocurre con un par contradictorio, por ejemplo, una tolerancia de ruptura menor que la tolerancia táctil, o un estilo de línea discontinua idéntico al estilo de línea normal. InpAsOfLineFadePct e InpAsOfTickPx son las dos únicas entradas que se comportan de forma diferente, y son las dos descritas anteriormente: un valor fuera de su rango se ajusta dentro del mismo y el registro lo indica, en lugar de detener el inicio.
¿Qué se instala?
Un archivo de indicador compilado. No hay que copiar nada más, ni archivos «include» que colocar manualmente, ni bibliotecas que instalar, ni llamadas a DLL, ni conexiones externas de ningún tipo. Basta con soltarlo en un gráfico y se ejecuta.
Limitaciones
- Sin señales de entrada o salida, sin flechas, sin alertas, sin operaciones. Traza líneas y las etiqueta.
- No se afirma que ofrezca ventaja estadística. No hemos comprobado si estas líneas tienen valor predictivo.
- Las líneas aparecen con retraso, por diseño. Un pivote necesita que se cierren las barras de su derecha y, por defecto, la herramienta espera a que se forme un pivote opuesto después de B. Hasta entonces no se dibuja nada. Este retraso es el precio a pagar por no repintar, y no puede eliminarse sin anticiparse al futuro.
- Solo se tienen en cuenta los cierres. No se cuenta el contacto con la mecha ni la ruptura de la misma.
- No se tienen en cuenta los empates. Si el máximo o mínimo del intervalo es igual en todas las barras, no se cumple el requisito del pivote y no se trazan líneas en ese momento. Esta es la forma segura de proceder, no una solución alternativa.
- Los marcos temporales superiores necesitan historial. Si tu bróker no proporciona suficiente historial para un marco temporal seleccionado, no se traza nada para ese marco temporal y se escribe un mensaje en el registro.
- El primer trazado aumenta con la longitud del gráfico y no se ha cronometrado en una terminal real. En esa primera pasada, el indicador lee todas las barras que contiene el gráfico. InpMaxHistoryBars e InpReplayBars limitan la detección y la reproducción; no limitan esa primera lectura.
- Trabajo realizado tras el primer dibujo. Un tick que no abre una nueva barra no dibuja nada en absoluto. Cuando se abre una barra, el trabajo está limitado por InpMaxHistoryBars en lugar de por la longitud del gráfico, y ese mismo límite se aplica mientras se arrastra el eje a lo largo de las barras. Nada de esto se ha cronometrado en una terminal real; se trata de un recuento del trabajo solicitado, no de una medición del tiempo que lleva, y no dice nada sobre el primer dibujo mencionado anteriormente. Las rutas de los marcos temporales más altos no están limitadas de esta manera y siguen leyendo toda su serie.
- Se ofrecen las cuatro formas de trazar las líneas verticales porque no sabemos cuál se adaptará mejor a tu gráfico y no hemos decidido una por ti. El efecto «pálido» se consigue mezclando el color de la línea con el color de fondo del gráfico, por lo que el grado de palidez de un ajuste determinado depende de tu fondo.
- El consumo de memoria aumenta con el número de barras del gráfico y no está limitado por ningún ajuste. El indicador mantiene su propia copia de la serie del gráfico para que, al arrastrar el eje, nunca tenga que volver a leerla: ocho matrices de ocho bytes por barra más dos de un byte, lo que supone 66 bytes por cada barra que le envía el terminal. Se trata de un cálculo aritmético a partir de la fuente, no de una medición: en un gráfico con tres millones de barras, el resultado es de aproximadamente un cuarto de gigabyte, y no hemos comprobado esta cifra en un terminal en funcionamiento. Si esto te preocupa, reduce el valor de «Máximo de barras en el gráfico» en la configuración del terminal; los ajustes de historial del propio indicador no lo modifican.
- Se han elegido los valores por defecto para el XAUUSD. El indicador funciona con otros símbolos, pero los valores por defecto no se han ajustado para ellos y se escribe una nota en el registro al iniciarse.
- Los umbrales y la longitud de la ventana son valores por defecto operativos. No son valores calibrados, y esta descripción no pretende lo contrario.
- El panel utiliza Bahnschrift y Consolas de forma predeterminada. MetaTrader sustituye silenciosamente estas fuentes por otras cuando no están instaladas y no ofrece forma alguna de averiguar qué fuente ha utilizado realmente, por lo que, en un equipo que no cuente con dichas fuentes, el panel seguirá funcionando pero no se verá como se pretende. Ambas fuentes son parámetros de entrada.
- El panel necesita espacio. En una ventana de gráfico más estrecha que unos 250 píxeles, o más corta que unos 100 píxeles, no cabe y se recortará en lugar de ocultarse, ya que no se puede hacer clic en un panel oculto.
- La línea del eje, la línea de rango y los controladores son objetos del gráfico que pertenecen al indicador. Eliminarlos manualmente no desactiva la función; se vuelven a crear. Utilice la entrada para desactivar los controles.
- Las dos líneas verticales son objetos normales del gráfico. Por defecto, no se pueden seleccionar en absoluto, y con InpAsOfLineSelectable activado permanecen deseleccionadas, por lo que MetaTrader no dibuja marcas de selección sobre ellas y se mueven de la forma habitual: seleccionar y, a continuación, arrastrar. Que la selección requiera un clic o dos es una configuración de la terminal, no algo que un indicador pueda leer o modificar. InpAsOfKeepSelected, en cambio, las mantiene seleccionadas, lo que ahorra ese clic y muestra las marcas en pantalla. En cualquier caso, las marcas nunca aparecen en los controladores.
- Arrastrar un controlador depende de que la terminal envíe eventos de movimiento del ratón al indicador. El indicador solicita estos eventos al gráfico al iniciarse y deja de solicitarlos cuando se elimina. Si otro indicador del mismo gráfico desactiva esa configuración, los controladores dejan de responder, y las líneas y las teclas del panel siguen siendo las formas de mover el eje.
- Suspender el desplazamiento del gráfico mientras se mantiene pulsado un controlador es una configuración que afecta a todo el gráfico, por lo que, si se cargan dos indicadores que lo hacen, el que se restablezca en último lugar determinará el valor que quede.
- El controlador se dibuja como un panel relleno en el espacio de la pantalla, del mismo modo que se dibuja el propio panel del indicador. No hemos medido en un gráfico en tiempo real qué parte de una vela cubre un controlador cuando se sitúa sobre el precio, y no hacemos ninguna afirmación al respecto.
- Con InpAsOfHandleFill desactivado, no hay pestaña y la lectura se convierte en texto sin formato que no es un objetivo de selección. El eje se desplaza entonces con las teclas del panel o con las líneas verticales tras activar InpAsOfLineSelectable.
- El entorno de verificación reimplementa la lógica de dibujo fuera del terminal y es una adaptación de dicha lógica, más que un diseño independiente. Comprueba la lógica, no el archivo compilado.
A quién probablemente no va dirigido
- Cualquiera que busque señales de entrada, flechas, alertas o un sistema automatizado.
- Cualquiera que quiera un gráfico en el que el conjunto de líneas nunca cambie en absoluto, en lugar de un gráfico en el que las líneas individuales nunca se muevan.
- Cualquiera que necesite pruebas de que las líneas tienen ventaja antes de comprar. No disponemos de esa evidencia y no la inventaremos.
Asistencia técnica
Utiliza la sección de comentarios del producto o el sistema de mensajes de mql5.com. Se aceptan preguntas sobre la función de un parámetro específico o sobre un gráfico en el que el resultado parezca incorrecto. Incluye el símbolo, el marco temporal y tu configuración de parámetros.
