
DZ London Session Breakout Strategyは,ロンドン取引時間の突破に基づく量化取引戦略である.この戦略の主な考え方は,ロンドン取引時間の間の突破の機会を捕捉し,価格が以前の高点または低点を破ったかどうかを判断することによって取引決定を行うことである.戦略は,現在の時間が指定されたロンドンの取引時間の内にあるかどうかをチェックし,その後,価格が現在の取引日,周期,または週の最高価格または最低価格を破ったかどうかを判断する.
DZ London Session Breakout Strategyの核心原則は,ロンドン取引時間の突破取引である.ロンドンは世界最大の外国為替取引センターの1つであるため,取引量は巨大で,市場の波動性が高い.戦略は,ロンドン取引時間の開始と終了時間を設定して,現在の時間がその時間帯にあるかどうかを判断する.その後,戦略は,現在の取引日,周期,および週の最高価格と最低価格を取得して,価格がこれらの鍵値を破ったかどうかを判断する.
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)