
La estrategia de negociación de la agencia de movimiento de precios en múltiples períodos es un sistema de negociación diurno basado en el concepto de las TIC (transacciones interbancarias), diseñado específicamente para capturar tendencias de caída en el mercado. La estrategia identifica el flujo de fondos de la agencia mediante el seguimiento del comportamiento de los precios en las tres principales horas de negociación de Londres, Nueva York y Asia, y busca oportunidades de desempate de alta probabilidad en áreas clave de precios.
El funcionamiento de la estrategia se basa en el análisis de la estructura de los precios en varios momentos de negociación, que incluye principalmente los siguientes componentes clave:
La apertura de Londres se establece entre las 2:00 y las 8:20 a.m. hora de Nueva York.Código a través de las variables:sessionLondonEstablezca la hora de inicio de la hora de Londres y actualice en tiempo real el precio más alto de la horalondonHighy el precio mínimolondonLowEl horario de Londres suele establecer la dirección inicial del día.
La zona de la matanza de Nueva York (Nueva York, 8:20-10:00)Configuración del código:sessionNYOpenCapturar el horario de apertura de Nueva York. Cuando el precio retrocede después de romper el punto más alto en el horario de Nueva York en el horario de Londres (conocido como “oscillación de Judas”), se cumple la condiciónjudasSwing = high >= londonHigh and time >= sessionNYOpenCuando el sistema esté listo para hacer vacío
El cierre de Londres compró y se estableció en 10:30 a 13:00 hora de Nueva York.En el código:londonCloseBuyPara determinar si las condiciones provocaron una señal de multiplicación durante el cierre de Londres, el precio debe caer por debajo de los mínimos de la hora de Londres con el objetivo de capturar una reversión de retracción.
La apertura de Asia está a la baja (hora de Nueva York: 19:00-2:00)El código ha sido aprobado.sessionAsiaLa hora asiática comienza cuando el precio supera el punto más alto de la hora asiática.close > asiaHighEl objetivo de este proyecto es crear una plataforma para que los estudiantes puedan participar en el evento.
La lógica de negociación central de la estrategia es aprovechar el concepto de la oscilación de Judas, cuando los precios retroceden después de una breve ruptura de los máximos de Londres en el tiempo de Nueva York, lo que indica que las grandes instituciones pueden tener un alto índice de ganancias en los altos niveles de salida. La estrategia también incluye varias inversiones en el tiempo de cierre de Londres y en el tiempo de Asia, formando un sistema de negociación para todo el tiempo.
A través de un análisis profundo del código, la estrategia tiene las siguientes ventajas:
Análisis colaborativo en varios momentosLa estrategia combina los datos de precios de las tres principales épocas de transacción, a través de las variables:londonHigh、nyHighyasiaHighEl análisis de los precios de los diferentes mercados, por ejemplo, evita la limitación de un análisis de un solo período.
La lógica de ingreso basada en el concepto de la instituciónEl concepto de “Judas Swing” es el núcleo de la estrategia.judasSwingLa evaluación condicional) de las transacciones directas con fondos de las instituciones de referencia, permite identificar eficazmente el comportamiento inducente y las verdaderas intenciones de las grandes instituciones.
Control de tiempo precisoAprobado:timestampLas funciones establecen con precisión el inicio y el final de cada período de negociación, lo que garantiza la negociación en los momentos más activos del mercado y mejora la efectividad de la negociación.
Una gestión de riesgos claraEl código contiene una configuración de stop loss clara:stopLoss = high + 10 * syminfo.mintick) y los objetivos de rentabilidadprofitTarget = low - 20 * syminfo.mintickEl objetivo de esta iniciativa es que las empresas puedan controlar el riesgo de cada transacción.
Apoyo visualLa estrategia fue aprobada.plotLa función traza los altos y bajos de cada período de tiempo, proporciona una referencia visual intuitiva para la toma de decisiones comerciales y mejora la practicidad de la estrategia.
A pesar de la buena concepción de la estrategia, existen los siguientes riesgos potenciales:
Riesgo de una falsa brechaEn un mercado de alta volatilidad, las señales de Judas Swing pueden generar falsas rupturas, causando errores de blanqueo. La solución es agregar condiciones de filtración, como la confirmación de volumen de transacción combinado o esperar un patrón de retroceso de precios más claro.
Es muy dependiente del tiempo.: La estrategia depende en gran medida de la conducta del mercado en un período de tiempo específico, y si las características del mercado cambian o si las noticias importantes se publican en un momento atípico, la eficacia de la estrategia puede disminuir. Se recomienda el uso de calendarios de noticias del mercado y la suspensión de la negociación antes de la publicación de datos importantes.
Parado de pérdidas fijoEl código de stop loss está configurado para un número fijo de puntos:10 * syminfo.mintick), sin tener en cuenta las diferencias de volatilidad en diferentes mercados y períodos de tiempo. Se puede mejorar el stop loss dinámico basado en indicadores de volatilidad como el ATR.
La falta de un mecanismo de filtrado: La estrategia no tiene en cuenta la tendencia general del mercado y el entorno de fluctuación, y puede generar señales de compras en blanco con frecuencia en condiciones de fuerte alza. Se recomienda agregar condiciones de filtro de tendencia, como la dirección de las medias móviles o el indicador de volumen.
Detección de riesgos de desviaciónDebido a que la estrategia depende del comportamiento del precio en un período de tiempo específico, puede haber una desviación de previsión cuando se hace una retrospectiva en un período de tiempo bajo. En las operaciones reales, se debe tener en cuenta la diferencia entre el rendimiento de la estrategia y los resultados de la retrospectiva.
Basado en el análisis de código, la estrategia se puede optimizar en las siguientes direcciones:
Mecanismo de detención de pérdidas dinámicasEl resultado fue un empate por 3-1.stopLoss = high + 10 * syminfo.mintickEn la actualidad, el ATR se ha convertido en el ATR de la pérdida dinámica.stopLoss = high + atr(14) * 1.5En la actualidad, la industria de la construcción de viviendas está experimentando un cambio radical en la forma en que las viviendas se adaptan a las características de las diferentes condiciones del mercado.
Filtrado de tendenciasAumentar la probabilidad de éxito de la estrategia: agregar condiciones de juicio de tendencia de períodos de tiempo más altos, como la dirección de la línea diaria o de la media móvil en el gráfico de 4 horas, y solo operar en la dirección que coincida con la tendencia general.
Confirmación de la entregaAumentar el análisis de volumen de transacción cuando se activa la señal de Judas Swing y ejecutar un shorting solo cuando el retorno de los precios se acompaña de un aumento de volumen de transacción, lo que reduce las pérdidas causadas por una falsa ruptura.
La participación en el Índice de Sentimiento del MercadoCombinado con VIX u otros indicadores de fluctuación del mercado, ajustar o suspender la estrategia en entornos de extrema volatilidad y evitar el comercio en mercados inestables.
Optimizar el tiempo de ingresoLa entrada a los cursos es gratuita y está abierta a todos los estudiantes.close < openSe puede mejorar la precisión de la entrada al esperar que el precio vuelva a los niveles de soporte clave (como el precio de apertura en el horario de Londres o VWAP).
Adición de confirmación de ciclo múltiple: Una estructura de precios que combina ciclos de tiempo más cortos, buscando puntos de entrada más precisos después de cumplir con los principales requisitos de entrada, reduciendo los puntos de deslizamiento y el riesgo innecesario.
Estas orientaciones de optimización tienen como objetivo aumentar la estabilidad y la fiabilidad de las estrategias, para que puedan mantener un buen rendimiento en diferentes entornos de mercado.
La estrategia de negociación de la agencia de movimiento de precios de múltiples períodos es un sistema integral de negociación diaria que integra la filosofía de negociación de las TIC para capturar oportunidades de negociación de alta probabilidad generadas por el flujo de fondos de la agencia a través del análisis de la estructura de precios de los tres períodos de negociación principales de Londres, Nueva York y Asia. La mayor característica de la estrategia es seguir el flujo de fondos de la agencia hacia el comercio, en particular, aprovechar el concepto de “oscillación de Judá” para capturar oportunidades de ventas en blanco, al tiempo que también incluye estrategias de ventas invertidas y ventas en blanco en el horario asiático, formando un sistema de negociación integral.
Si bien la estrategia está bien diseñada y contiene condiciones de entrada y reglas de gestión de riesgos claras, existen desventajas como el riesgo de falsas rupturas y la fuerte dependencia de un momento específico. La estabilidad y adaptabilidad de la estrategia se pueden mejorar aún más mediante la adición de medidas de optimización como el stop loss dinámico, el filtro de tendencias y la confirmación de la transacción.
La estrategia ofrece una forma estructurada de entender y aprovechar las características del mercado en diferentes períodos de negociación para los operadores que buscan oportunidades de negociación intradiaria, especialmente para aquellos que desean dominar el concepto de negociación institucional y obtener ganancias en el día corto.
/*backtest
start: 2024-03-26 00:00:00
end: 2025-03-25 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("ICT Bread and Butter Sell-Setup", overlay=true)
// Get current date values
t = time
currentYear = year(t)
currentMonth = month(t)
currentDay = dayofmonth(t)
// Time Settings
sessionNYOpen = timestamp(currentYear, currentMonth, currentDay, 08, 20) // CME Open
sessionLondon = timestamp(currentYear, currentMonth, currentDay, 02, 00) // London Open
sessionAsia = timestamp(currentYear, currentMonth, currentDay, 19, 00) // Asia Open
sessionEnd = timestamp(currentYear, currentMonth, currentDay, 16, 00) // Market Close
// Session Ranges (Initialize to the first bar values)
var float londonHigh = high
var float londonLow = low
var float nyHigh = high
var float nyLow = low
var float asiaHigh = high
var float asiaLow = low
// Update Highs & Lows for Each Session
if (time >= sessionLondon and time < sessionNYOpen)
londonHigh := math.max(londonHigh, high)
londonLow := math.min(londonLow, low)
if (time >= sessionNYOpen and time < sessionEnd)
nyHigh := math.max(nyHigh, high)
nyLow := math.min(nyLow, low)
if (time >= sessionAsia and time < sessionLondon)
asiaHigh := math.max(asiaHigh, high)
asiaLow := math.min(asiaLow, low)
// New York Judas Swing (Temporary Rally)
judasSwing = high >= londonHigh and time >= sessionNYOpen and time < sessionEnd
// Short Entry in NY Kill Zone
shortEntry = judasSwing and close < open
stopLoss = high + 10 * syminfo.mintick
profitTarget = low - 20 * syminfo.mintick
if shortEntry
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit", from_entry="Short", limit=profitTarget, stop=stopLoss)
// London Close Buy Setup
londonCloseBuy = time >= timestamp(currentYear, currentMonth, currentDay, 10, 30) and time <= timestamp(currentYear, currentMonth, currentDay, 13, 00) and close < londonLow
if londonCloseBuy
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit Buy", from_entry="Buy", limit=close + 20 * syminfo.mintick, stop=low - 10 * syminfo.mintick)
// Asia Open Sell Setup
asiaSell = time >= sessionAsia and time < sessionLondon and close > asiaHigh
if asiaSell
strategy.entry("Asia Short", strategy.short)
strategy.exit("Asia Profit", from_entry="Asia Short", limit=close - 15 * syminfo.mintick, stop=high + 10 * syminfo.mintick)
// Plot High/Low of Sessions
plot(londonHigh, color=color.blue, title="London High")
plot(londonLow, color=color.blue, title="London Low")
plot(nyHigh, color=color.red, title="NY High")
plot(nyLow, color=color.red, title="NY Low")
plot(asiaHigh, color=color.orange, title="Asia High")
plot(asiaLow, color=color.orange, title="Asia Low")