
DZ London Session Breakout Strategy - это количественная торговая стратегия, основанная на прорыве в лондонском торговом периоде. Основная идея стратегии заключается в том, чтобы захватить возможность прорыва в лондонском торговом периоде и принять торговое решение, определив, превзошла ли цена предыдущие максимумы или минимумы.
Основной принцип стратегии DZ London Session Breakout Strategy заключается в том, чтобы совершать прорывные сделки, основанные на торговом времени в Лондоне. Лондон, являясь одним из крупнейших мировых центров для торговли иностранными валютами, имеет огромный объем торгов и высокую волатильность рынка. Стратегия определяет, является ли текущее время в этом периоде, установив начало и окончание торговой сессии в Лондоне.
DZ London Session Breakout Strategy - это количественная торговая стратегия, основанная на прорыве в лондонские торговые часы. Стратегия использует высокий объем торговли и волатильность в лондонские торговые часы, чтобы захватить потенциальные торговые возможности, судя по тому, не превзошла ли цена ключевую цену. Стратегия анализирует наивысшие и низкие цены в нескольких временных рамках и фиксирует ложные прорывы, подтверждая новые высокие и низкие.
/*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)