Contenido del artículo
- Evidencia y alcance
- Ilustración
- Proceso
- Un evento extremo tiene un tiempo de ocurrencia y un tiempo de confirmación.
- Una definición determinista con un criterio de desempate explícito
- Ejemplos numéricos y casos que deben fallar
- Convertir referencias en una hipótesis de trading independiente
- Las características de volumen pertenecen a marcas de tiempo específicas.
- Verifique la corrección del evento antes de evaluar los retornos.
- Errores frecuentes
- Lista práctica de verificación
- Preguntas frecuentes
- Fuentes de investigación
Evidencia y alcance
Las fuentes respaldan la terminología de extremos locales y advierten sobre el peligro de interpretar la información retrospectivamente. El desempate, el manejo de eventos y el experimento de negociación que se describen a continuación son propuestas de investigación. No se ha realizado ninguna prueba retrospectiva de rentabilidad para esta implementación.
Flujo de trabajo práctico
- Validar barrasAceptar una ventana completa de observaciones cerradas.
- Retroceda r barras desde la actualEvaluar el candidato i=t−r.
- Compara ambos ladosAplique el convenio de meseta registrada.
- Registre la confirmaciónGuarda el evento y la confirmación por separado.
- Pasar a la estrategiaPermitir únicamente información posterior para activar las operaciones.
Un evento extremo tiene un tiempo de ocurrencia y un tiempo de confirmación.
En la barra i, un nuevo máximo es solo un candidato. Con una ventana derecha de r=3, deben cerrarse tres barras más antes de que el detector pueda determinar si sus máximos se mantuvieron por debajo de ella. Almacene occurred_at=i y confirmed_at=i+3. Un gráfico puede dibujar el marcador en i para facilitar la lectura, pero no puede existir una orden que utilice ese evento antes de la confirmación y el retraso de procesamiento de datos correspondiente.
TradingView describe la geometría de pivote bilateral [1] y advierte que representar gráficamente un pivote en el pasado puede distorsionar el momento en que se conoció [2]. SciPy find_peaks utiliza una convención diferente para las mesetas planas [3]. Por consiguiente, no basta con que la imagen final coincida al comparar implementaciones: sus anclas elegidas y las marcas de tiempo disponibles pueden diferir.
Un pivote confirmado sigue siendo una observación histórica aunque el precio rompa su nivel más adelante. Considerar cada ruptura posterior como prueba de que el pivote era incorrecto confunde un extremo local con una predicción de resistencia permanente. Guarde las observaciones por separado de las hipótesis sobre su uso futuro.
Una definición determinista con un criterio de desempate explícito
La línea base propuesta utiliza l=r=2 y selecciona el punto más a la derecha con máximos iguales. H[i] debe ser mayor o igual que cada máximo de la izquierda y estrictamente mayor que cada máximo de la derecha. Invierta las desigualdades para los mínimos. Estos parámetros y reglas de desempate son configuraciones experimentales, no valores óptimos ni una reproducción exacta de una biblioteca específica.
Se requieren l+r+1 barras válidas con marcas de tiempo únicas y ordenadas, y un calendario de negociación conocido. Si la ventana atraviesa datos faltantes, registre el motivo y omita la confirmación. Rellenar un intervalo faltante con una barra de negociación plana inventada puede cambiar tanto una meseta como su retraso de confirmación. Un cierre nocturno programado es diferente de una barra faltante inexplicable.
Emite cada evento una sola vez, utilizando un identificador que contenga el instrumento, el intervalo de tiempo, la versión del detector, la marca de tiempo de ocurrencia y el tipo. Si se cumplen las condiciones de máximo y mínimo en una barra externa, publica una observación ambigua. Un motor de patrones posterior no debe inventar el orden en que esa barra alcanzó su máximo y mínimo.
on_closed_bar(t):
i = t - r
if i < l or window_has_missing_bar(i-l, t): return
high_ok = H[i] >= max(H[i-l:i]) and H[i] > max(H[i+1:t+1])
low_ok = L[i] <= min(L[i-l:i]) and L[i] < min(L[i+1:t+1])
if high_ok and low_ok: emit_ambiguous(i, confirmed_at=t)
elif high_ok: emit_once('HIGH', i, H[i], confirmed_at=t)
elif low_ok: emit_once('LOW', i, L[i], confirmed_at=t)
Ejemplos numéricos y casos que deben fallar
Los máximos sintéticos 100, 102, 105, 104 y 103 identifican a 105 en el índice 2. Con l=r=2, el evento estará disponible solo después de que se cierre el índice 4. Para los cierres de barras por hora desde 09:00 hasta 13:00, el extremo se produjo en 11:00 y la confirmación se produjo en 13:00. Una orden basada en esa confirmación solo se puede enviar posteriormente.
Reemplazar el máximo final con 106 y el candidato en 105 falla. No es necesario eliminar ningún pivote publicado porque nunca se confirmó. En 100, 102, 105, 105, 104, 103, el segundo 105 es seleccionado por la regla propuesta más a la derecha. Las desigualdades estrictas en ambos lados rechazarían la meseta, produciendo un detector diferente que debe tener una versión diferente.
Una barra externa con H=108 y L=95 puede superar los máximos vecinos mientras cae por debajo de los mínimos vecinos. OHLC no puede establecer si 108 o 95 fueron primero. Conservar ambos hechos o una bandera de ambigüedad, pero no tratarlos como dos pasos ordenados en una secuencia de cabeza y hombros. Una prueba útil compara la misma barra OHLC con dos posibles rutas intrabarra y verifica que el detector de solo barra nunca afirma información no disponible en su entrada.
Convertir referencias en una hipótesis de trading independiente
El detector no coloca órdenes. Un experimento propuesto compra solo después de que un cierre posterior cruce el máximo de un pivote confirmado más un buffer, con buffer=max(2 ticks,0.1×ATR from before the trigger bar). El ATR de esa fórmula procede de antes de la barra que activa la señal. Entrar en la siguiente apertura ejecutable y mantener una orden buy-stop pendiente son modelos distintos; elija uno antes de medir el rendimiento.
Un mínimo de pivote previamente confirmado puede definir un stop estructural, mientras que una vida útil fija de K-bar limita cuánto tiempo el máximo permanece como nivel candidato. No registre una ruptura que supuestamente ocurrió antes de que el ancla requerida estuviera disponible. Si un detector diferente o datos retrasados indican que el nivel ya se ha cruzado, rechace la configuración obsoleta o defina una estrategia de entrada tardía separada.
Mantenga inmutable el flujo de pivote original. Una representación alternada de valores altos y bajos es una transformación posterior: dos valores altos consecutivos pueden requerir fusión o reemplazo de candidatos, pero estas operaciones deben estar versionadas y marcadas con fecha y hora. Un patrón publicado previamente no puede adquirir automáticamente un mejor ancla a partir de datos posteriores. Registre explícitamente la invalidación, la expiración o la creación de un candidato de reemplazo.
Las pruebas de ejecución deben incluir un gap entre la señal y la ejecución, la falta de activos disponibles para préstamo al vender en corto en las estrategias simétricas, y un stop cruzado antes de la apertura de la siguiente barra. Un evento válido del detector puede acabar sin operación o en una operación que no compensa económicamente; el informe debe distinguir ambos resultados.
Las características de volumen pertenecen a marcas de tiempo específicas.
Guarde el volumen en occurred_at y en confirmed_at en columnas separadas. El primero describe la actividad en el extremo; el segundo, la actividad durante la confirmación posterior. Una característica que usa las tres barras siguientes está disponible al confirmarse, no retrospectivamente en la barra del pivote. Su marca de tiempo no puede preceder al dato más reciente que utiliza.
Una prueba de ablación propuesta compara la regla basada solo en precio con RVOL en la activación posterior: volumen actual dividido entre la mediana de las 20 barras anteriores, con 1.5 como umbral experimental. En acciones intradía, comparar la misma hora de sesión suele estar mejor definido que mezclar la apertura con el mediodía. El volumen de ticks de FX mide actualizaciones de un proveedor, no necesariamente contratos negociados.
Compruebe si el volumen aporta información dentro de grupos de volatilidad y hora del día comparables. De lo contrario, un filtro de volumen podría simplemente seleccionar barras anchas con mayores costes de ejecución. Registre también las oportunidades rechazadas: evaluar solo las operaciones ejecutadas puede ocultar que el filtro eliminó la mayoría de las oportunidades o modificó sustancialmente la exposición.
Verifique la corrección del evento antes de evaluar los retornos.
Reproduzca cada prefijo de datos y compare los eventos publicados hasta su final. Añadir 100 barras no debe modificar el identificador, precio, tipo ni momento de confirmación de un evento anterior. Compare registros, no capturas. Añada casos de prueba con máximos o mínimos iguales, barras externas, intervalos faltantes, cambios de tick y precios negativos cuando el instrumento los permita.
Mida los pivotes por cada 1,000 barras, el retraso de confirmación, la separación entre referencias y la proporción de patrones posteriores que ya son inválidos cuando se conoce su última referencia. Estos diagnósticos explican cómo los cambios del detector alteran las oportunidades antes de introducir estadísticas de ganancias.
Compare l=r=2 con 3 y 5 usando datos de desarrollo y fije la selección antes de la prueba final. Pruebe también ventanas asimétricas como configuraciones registradas por separado. Las referencias visualmente más atractivas no demuestran una mayor expectativa neta. La evaluación de trading debe incluir spread, comisiones, gaps, ejecución del stop, tamaño de posición y costo de oportunidad del retraso de confirmación.
Errores frecuentes
Entrando exactamente en un extremo marcado retrospectivamente
El error consiste en usar como momento de la orden la ubicación pasada donde se dibujó el pivote. Reproducir los prefijos del histórico revela que esa información todavía no estaba disponible.
Confundir los puntos pivote locales con los puntos pivote de sesión.
Los extremos locales y las fórmulas P, R y S basadas en la sesión son herramientas diferentes con entradas diferentes.
Elegir la escala después de ver los resultados
Cada par l/r es un ensayo de investigación. Conserve las variantes fallidas junto con la configuración seleccionada.
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.
Preguntas frecuentes
¿Elimina r=0 el retardo?
Puede generar un detector de extremos que solo registra el pasado, pero no hay confirmación de inversión del lado derecho. Se trata de una señal diferente y requiere una evaluación independiente.
¿Puede el precio romper un pivote confirmado?
Sí. El extremo histórico sigue estando correctamente identificado; una ruptura posterior de la resistencia no borra la observación.
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.
- Auto trendlinesTradingView. Lea la definición de pivote bilateral; los ejemplos comerciales no se consideran evidencia de rentabilidad. Verificado el: .
- Pine Script: RepaintingTradingView. Lea las secciones sobre la representación gráfica en el pasado y los datos fluidos e incompletos. Verificado el: .
- scipy.signal.find_peaksSciPy. Lea el comportamiento de meseta y datos faltantes; esta es una especificación API, no evidencia financiera. 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