Contenido del artículo

Evidencia y alcance

El material citado respalda la terminología y el contexto de la investigación. Los umbrales numéricos, la máquina de estados, la política de ejecución y los ejemplos sintéticos que se presentan a continuación son propuestos por este proyecto de investigación. No se ha realizado ninguna prueba retrospectiva nueva, y las referencias no establecen la rentabilidad de esta configuración.

Datos y mercadosUtilice datos OHLC validados con operaciones corporativas gestionadas de forma consistente. Registre la bolsa, el tipo de instrumento y la unidad para el volumen. Un flujo de datos de volumen de ticks de FX no representa el volumen total del mercado; no se deben mezclar el volumen de contratos al contado y perpetuos.
Marcos temporales de investigaciónH1, H4 y las barras diarias son configuraciones de investigación independientes. La duración de las ventanas, los costos de ejecución y los retrasos de confirmación deben calibrarse en una muestra de desarrollo. No se ha establecido un plazo óptimo para este detector.
El precio sube, prueba dos máximos cerca de 100, y luego cierra por debajo de la línea de cuello en 96 a medida que aumenta el volumen.Abrir ilustración en tamaño completo
Ilustración sintética creada para este artículo. Los máximos se confirman más tarde que sus marcas de tiempo extremas. La línea objetivo es una proyección, no una previsión.

Flujo de trabajo práctico

Flujo de trabajo de Doble techo y doble suelo: neckline, volumen y algoritmo causal
Los pasos completos aparecen abajo. En cada etapa, se debe registrar el motivo de rechazo si faltan datos o no se cumplen las condiciones.
  1. Confirmar los extremosEspere H1–L1–H2, o la secuencia inversa de un doble suelo.
  2. Fije la línea de cuelloGuarda el nivel intermedio, la profundidad, las tolerancias y la fecha de caducidad.
  3. Espere una ruptura confirmada por el cierreAcepte un cruce solo después de que exista el candidato.
  4. Consulta la recompensa disponible.Calcula el objetivo geométrico y el riesgo a partir de un precio ejecutable.
  5. Registra el resultadoConservar las operaciones, los candidatos caducados y los candidatos invalidados.

Lo que la estructura nos dice

Un doble techo contiene dos máximos similares separados por un mínimo; un doble suelo invierte esa relación. El extremo intermedio define la línea de cuello. Romper esa línea de cuello completa la estructura del gráfico descrita por IG. [1] La fuente proporciona una definición de patrón, no evidencia de que cada implementación o umbral de volumen será rentable.

Una interpretación útil es que el precio intenta continuar y luego falla. Sin embargo, dos toques no permiten identificar quién está distribuyendo o acumulando inventario. Antes de que se rompa la línea de cuello, el mismo contorno puede permanecer como una pausa dentro de la tendencia existente. Por lo tanto, un detector debería publicar tres resultados distintos: candidato creado, confirmación observada y candidato invalidado o expirado. Mantener estos resultados separados evita que una observación no operada se registre como una operación ganadora o perdedora.

Reglas que utilizan información ya disponible

Todos los umbrales en esta implementación son propuestas de investigación. Utilice pivotes que requieran tres barras a la izquierda y tres a la derecha. Publique un pivote solo después de que se cierre la tercera barra derecha: los pivotes tienen un retraso de confirmación. [2] Cuando el segundo máximo esté disponible, congele A = ATR(14), epsilon = max(2 ticks, 0.15A) y el búfer de ruptura b = max(2 ticks, 0.10A).

Para la secuencia cronológica H1, L1, H2, defina la profundidad D = min(H1,H2) − L1. Requiere D ≥ 1.5A y |H2−H1| ≤ max(2epsilon, 0.1D). Los dos máximos deben estar separados por al menos siete barras. Una tendencia alcista antes de H1 se puede definir como dos pares de máximos/mínimos más altos ya confirmados. Seleccione esa regla de contexto antes de evaluar los resultados; no infiera la tendencia anterior a partir de lo que sucede después del patrón.

Establezca la línea de cuello N=L1. Considere únicamente el primer cierre que cumpla los requisitos por debajo de N−b una vez que se haya confirmado H2 y se haya creado el candidato. Si el precio cruzó la línea de cuello durante el retraso de confirmación del pivote, esta versión omite dicho cruce. No debe mover una señal hacia atrás en el tiempo. El candidato expirará tras la mitad de la duración del patrón, redondeada al alza, con un mínimo de cinco barras.

Guarde tanto la marca de tiempo del extremo como la de su confirmación. Por ejemplo, un H2 que se produce en la barra 45 pasa a estar disponible después de la barra 48 cuando la ventana a la derecha consta de tres barras. Un candidato creado al cierre de la barra 48 puede empezar a buscar un cruce en la barra 49. Esta separación también permite comprobar que añadir nuevas barras nunca cambia una señal ya publicada.

on_close(t):
  update_confirmed_pivots(left=3, right=3)
  if new_H2 and valid(H1,L1,H2): freeze(candidate, A, N, D, expiry)
  if candidate and t > candidate.created:
    if High[t] > max(H1,H2)+epsilon: cancel
    elif t > expiry: expire
    elif Close[t-1] >= N-b and Close[t] < N-b: emit SHORT
# For double bottoms, reverse comparisons and use L1-H1-L2 with LONG.

Darle al volumen una función específica

Prueba el volumen en capas separadas: sin filtro de volumen, menor volumen alrededor del segundo máximo y mayor volumen en la ruptura de la línea de cuello. Para datos diarios, una medida propuesta es RVOL = V[t]/median(V[t−20:t−1]). Un umbral de 1.5 es una configuración experimental, no una regla universal. Compara ventanas de igual longitud alrededor de los máximos; de lo contrario, un primer repunte más largo puede parecer más activo simplemente porque contiene más barras.

La actividad reducida en el segundo intento es coherente con una posible hipótesis de falta de continuidad, pero la actividad elevada también puede acompañar a la absorción. Una sola columna de volumen no demuestra que los compradores se hayan debilitado. Para datos intradiarios, utilice intervalos horarios comparables de sesiones anteriores. Registre el volumen ausente o un volumen cero anómalo como dato no disponible, en lugar de considerarlo una prueba excepcionalmente sólida de una contracción del volumen.

Ejemplos numéricos y casos de fallos

Ejemplo sintético: H1=100, L1=96, H2=100.2, A=1 y tick size=0.01. Luego D=4, epsilon=0.15 y b=0.10. La diferencia 0.2 entre máximos está dentro de la tolerancia 0.4. Un cierre en 95.85 confirma la ruptura. Si se puede entrar en corto en 95.75, el stop estructural es 100.35 y el objetivo proyectado N−D es 92. La recompensa potencial es 3.75 frente a un riesgo de 4.60: solo 0.82R antes de los costos. El patrón es válido, pero no alcanza un mínimo propuesto de 1.5R.

Ejemplo de fallo: tras la misma estructura inicial, el precio cierra en 96.05 y luego sube a 100.6. No se produjo ningún cierre por debajo de 95.90, por lo que el candidato se invalidó sin que se realizara ninguna operación. En otro caso, una posición corta ya abierta en 95.75 puede rebotar hasta su stop. Esa operación sigue siendo una pérdida, incluso si un gráfico posterior muestra que la ruptura es claramente falsa. La validez del patrón, la validez del disparador y el resultado de la operación son términos diferentes.

Entrada, invalidación y salidas

La línea base entra en el siguiente evento ejecutable después del cierre de confirmación. Coloque el stop por encima del pico más alto más épsilon y congele el objetivo en N−D. Un stop por encima de H2 por sí solo es una estrategia aparte con una distribución de riesgo diferente. Para dobles suelos, coloque el stop por debajo del mínimo inferior y proyecte el objetivo a N+D.

Antes de enviar una orden, use una cotización ejecutable para calcular el riesgo por unidad y el tamaño de posición con presupuesto de riesgo fijo. Un gap observado después de ejecutarse la orden no puede cancelar retroactivamente la operación. Si stop y objetivo quedan dentro de una misma barra OHLC posterior, use datos más detallados o una convención conservadora, registrada de antemano, sobre qué evento ocurre primero.

Una prueba útil de ejecución introduce un salto de precio (gap) entre la confirmación y la siguiente cotización negociable. El detector debe conservar la misma marca de tiempo de la señal y los mismos niveles estructurales, mientras que la capa de ejecución cambia el precio de ejecución, el tamaño de la posición o el motivo de rechazo antes de enviar la orden. Esto distingue la imposibilidad de realizar una operación económicamente viable de un fallo al reconocer el patrón. Incluya el spread, las comisiones y el deslizamiento en el cálculo final de la relación beneficio potencial/riesgo.

Probando el valor incremental

Un control útil es romper el mínimo más reciente tras una tendencia alcista, sin exigir dos máximos similares. Compare expectativa neta, drawdown, cantidad de oportunidades y candidatos rechazados por poca recompensa respecto al riesgo. No evalúe solo si el precio empezó moviéndose en la dirección prevista. Use muestras de desarrollo y prueba ordenadas cronológicamente, con tolerancias fijadas antes de la prueba final. [3] aporta contexto de investigación, sin validar esta configuración.

Guarda cada candidato al crearlo, incluso aquellos que caduquen. Recopilar solo patrones completados elimina sistemáticamente los fallos antes de la confirmación. Fusiona los candidatos superpuestos en la misma región de precios en un solo evento, o aplica una política definida de una posición por región. Separa los intentos de reversión de los fallos de continuación al informar los resultados.

Las comprobaciones de implementación deben incluir máximos desiguales justo dentro y fuera de la tolerancia, un toque de la línea de cuello sin un cierre que cumpla los requisitos, un cruce temprano durante el retraso del pivote, el vencimiento inmediatamente antes de un cruce y una barra que infrinja tanto la invalidación estructural como la línea de cuello. El pseudocódigo otorga prioridad de invalidación a este último caso. Es posible un orden diferente, pero debe ser una versión con nombre, no una elección posterior a la observación del resultado.

Errores frecuentes

Entrando por el segundo extremo

Es una estrategia anticipatoria con un momento de entrada distinto al de confirmar la línea de cuello; informe sus resultados por separado.

Rediseñar los máximos para rescatar a un candidato.

Congelar los anclajes. Si se permiten las actualizaciones, crear una nueva versión candidata con su propia marca de tiempo.

Objetivo atractivo, riesgo excesivo

La altura del patrón no garantiza una recompensa restante suficiente para cubrir la distancia del stop y los costos de ejecución.

Lista de verificación antes de usar este método

Marca cada punto después de verificarlo con tus datos. El progreso se guarda en este navegador; no certifica que la estrategia sea rentable.

0/6 puntos

Preguntas frecuentes

¿Es necesario que los dos máximos tengan exactamente el mismo precio?

No. Una tolerancia basada en ATR y el tamaño del tick evita la dependencia del precio nominal. Pruebe tolerancias cercanas en lugar de elegir una que se ajuste a unos pocos ejemplos atractivos.

¿Es obligatorio un retest de la línea de cuello?

No. La entrada en retest es otra variante: necesita plazo de espera, un disparador de reacción y una regla para oportunidades que no llegan a ejecutarse. No suponga que toda ruptura vuelve a la línea de cuello.

Fuentes de investigación

Cada fuente respalda la definición o evidencia descrita a su lado. El pseudocódigo, los ejemplos sintéticos y los parámetros propuestos requieren una validación independiente.

  1. IG: How to trade double tops and double bottomsIG. Geometría de patrones y terminología de confirmación; se leyó la sección pública correspondiente. Verificado el: .
  2. TradingView: RepaintingTradingView. Retraso en la confirmación del punto de pivote y repintado. Verificado el: .
  3. Lo, Mamaysky, Wang: Foundations of Technical AnalysisNBER / Columbia University. Contexto de investigación sistemática de patrones; el estudio citado no prueba esta configuración. Verificado el: .

Métodos relacionados

Nota de riesgo

Este contenido sirve para la educación y el diseño de investigaciones; no constituye asesoría financiera. Backtest simula datos históricos, no garantiza resultados futuros y no ejecuta operaciones reales. Los métodos de esta biblioteca no son necesariamente funciones disponibles en la aplicación. Consulta la metodología y el centro de aprendizaje.

Valida las reglas antes de arriesgar capital real

Revisa la compatibilidad de la aplicación, los datos y cada operación simulada; los detectores avanzados pueden requerir una implementación independiente.

Descarga Backtest en App Store