
DZ London Session Breakout Strategy es una estrategia de trading cuantitativa basada en breakouts en la sesión de negociación de Londres. La idea principal de la estrategia es capturar oportunidades de breakout dentro de la sesión de negociación de Londres, para tomar decisiones comerciales al determinar si el precio ha superado los máximos o mínimos anteriores. La estrategia comprueba si el tiempo actual está dentro de la sesión de negociación de Londres designada, y luego determina si el precio ha superado el precio más alto o más bajo del día de negociación, ciclo o semana.
El principio central de la estrategia de breakout de la sesión de Londres de DZ es el de las brechas basadas en la hora de negociación de Londres. Londres, como uno de los centros de comercio de divisas más grandes del mundo, tiene un gran volumen de operaciones y una alta volatilidad del mercado. La estrategia determina si la hora actual está dentro de la hora de negociación de Londres al establecer las horas de inicio y finalización.
DZ London Session Breakout Strategy es una estrategia de trading cuantitativa basada en breakouts en la hora de negociación de Londres. La estrategia aprovecha el alto volumen de operaciones y la volatilidad de la hora de negociación de Londres para capturar oportunidades potenciales de negociación al determinar si el precio ha roto el precio clave. La estrategia tiene en cuenta los máximos y mínimos de varios marcos de tiempo y detecta brechas falsas mediante la confirmación de nuevos altos y bajos.
/*backtest
start: 2023-05-14 00:00:00
end: 2024-05-13 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("DZ Strategy ICT", overlay=true)
// Input parameters
london_open_hour = input(13, "London Open Hour")
london_open_minute = input(30, "London Open Minute")
london_close_hour = input(16, "London Close Hour")
// Get current datetime
hour = hour(time)
minute = minute(time)
// Get session high, daily high, and weekly high
sessionHigh = request.security(syminfo.tickerid, "D", high)
dailyHigh = request.security(syminfo.tickerid, "D", high)
weeklyHigh = request.security(syminfo.tickerid, "W", high)
// Condition for being in the specified time range
inLondonTimeRange = (hour >= london_open_hour and hour < london_close_hour) or (hour == london_close_hour and minute == 0)
// Check for breakout above session, daily, or weekly high
breakoutAboveSessionHigh = high > sessionHigh
breakoutAboveDailyHigh = high > dailyHigh
breakoutAboveWeeklyHigh = high > weeklyHigh
// Check for breakout below session, daily, or weekly high
breakoutBelowSessionHigh = low < sessionHigh
breakoutBelowDailyHigh = low < dailyHigh
breakoutBelowWeeklyHigh = low < weeklyHigh
// Check for new lower low or higher high on 1-minute chart
newLowerLow = ta.lowest(low, 10)[1] > low
newHigherHigh = ta.highest(high, 10)[1] < high
// Set entry point based on imbalance
imbalanceLevel = low[1] // Placeholder for imbalance level, adjust this as needed
// Entry conditions for short position
if (inLondonTimeRange and (breakoutAboveSessionHigh or breakoutAboveDailyHigh or breakoutAboveWeeklyHigh) and newLowerLow)
strategy.entry("Short Entry", strategy.short)
// Entry conditions for long position
if (inLondonTimeRange and (breakoutBelowSessionHigh or breakoutBelowDailyHigh or breakoutBelowWeeklyHigh) and newHigherHigh)
strategy.entry("Long Entry", strategy.long)