
Die Strategie ist ein umfassendes Handelssystem, das mehrere Zeitrahmenanalysen, Fair-Value-Gaps (FVG) und Breakout of Structure (BOS) kombiniert. Es identifiziert potenzielle Handelseinstiege, indem es Ausbrüche in der Preisstruktur in höheren Zeiträumen erkennt und gleichzeitig nach Fair-Value-Lücken sucht, die sich in niedrigeren Zeiträumen bilden können. Die Strategie integriert außerdem ein Risikomanagementsystem, einschließlich der automatischen Festlegung von Stop-Loss- und Gewinnzielen.
Die Kernlogik der Strategie basiert auf drei Hauptsäulen: Erstens, die Verwendung längerer Zeitrahmen (standardmäßig 1 Stunde oder mehr) zur Identifizierung von Ausbrüchen in der Preisstruktur (BOS), die den grundlegenden Rahmen für die Handelsrichtung bieten. Zweitens: Suchen Sie in kürzeren Zeiträumen nach einem Fair Value Gap (FVG). Die Bildung eines FVG weist darauf hin, dass in diesem Bereich ein potenzielles Ungleichgewicht zwischen Angebot und Nachfrage auf dem Markt besteht. Schließlich werden diese beiden Bedingungen mit der aktuellen Preisposition kombiniert, um bei einer günstigen Preisposition ein Handelssignal auszulösen. Das System verwaltet das Risiko jedes Handels durch das Risiko-Ertrags-Verhältnis und den Stop-Loss-Faktor.
Die Strategie baut ein komplettes Handelssystem auf, indem sie die Analyse mehrerer Zeiträume, Durchbrüche in der Preisstruktur und Fair-Value-Lücken kombiniert. Seine Vorteile liegen in seinen mehrdimensionalen Analysemethoden und seinem perfekten Risikomanagementmechanismus, Händler müssen jedoch immer noch eine entsprechende Parameteroptimierung und Risikokontrolle basierend auf den tatsächlichen Marktbedingungen durchführen. Die nachfolgende Optimierung kann mit der Signalbestätigung, der dynamischen Parameteranpassung und der Filterung des Marktumfelds beginnen, um die Stabilität und Zuverlässigkeit der Strategie weiter zu verbessern.
/*backtest
start: 2024-01-17 00:00:00
end: 2025-01-15 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy("ICT Strategy with Historical Backtest", overlay=true)
// === Настройки ===
tf = input.timeframe("60", title="Higher Timeframe (1H or above)") // Таймфрейм для анализа BOS
fvg_length = input(3, title="FVG Lookback Length") // Длина для поиска FVG
risk_reward = input(2, title="Risk-Reward Ratio") // Риск-вознаграждение
show_fvg_boxes = input(true, title="Show FVG Boxes") // Показывать FVG
stop_loss_factor = input.float(1.0, title="Stop Loss Factor") // Множитель для стоп-лосса
// === Переменные для анализа ===
var float bos_high = na
var float bos_low = na
// Получаем данные с более старшего таймфрейма
htf_high = request.security(syminfo.tickerid, tf, high)
htf_low = request.security(syminfo.tickerid, tf, low)
htf_close = request.security(syminfo.tickerid, tf, close)
// Определение BOS (Break of Structure) на старшем таймфрейме
bos_up = ta.highest(htf_high, fvg_length) > ta.highest(htf_high[1], fvg_length)
bos_down = ta.lowest(htf_low, fvg_length) < ta.lowest(htf_low[1], fvg_length)
// Обновляем уровни BOS
if (bos_up)
bos_high := ta.highest(htf_high, fvg_length)
if (bos_down)
bos_low := ta.lowest(htf_low, fvg_length)
// === Определение FVG (Fair Value Gap) ===
fvg_up = low > high[1] and low[1] > high[2]
fvg_down = high < low[1] and high[1] < low[2]
// Визуализация FVG (Fair Value Gap)
// if (show_fvg_boxes)
// if (fvg_up)
// box.new(left=bar_index[1], top=high[1], right=bar_index, bottom=low, bgcolor=color.new(color.green, 90), border_color=color.green)
// if (fvg_down)
// box.new(left=bar_index[1], top=high, right=bar_index, bottom=low[1], bgcolor=color.new(color.red, 90), border_color=color.red)
// === Логика сделок ===
// Условия для входа в Лонг
long_condition = bos_up and fvg_up and close < bos_high
if (long_condition)
strategy.entry("Long", strategy.long, stop=low * stop_loss_factor, limit=low + (high - low) * risk_reward)
// Условия для входа в Шорт
short_condition = bos_down and fvg_down and close > bos_low
if (short_condition)
strategy.entry("Short", strategy.short, stop=high * stop_loss_factor, limit=high - (high - low) * risk_reward)
// === Надписи для прогнозируемых сделок ===
if (long_condition)
label.new(bar_index, low, text="Potential Long", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)
if (short_condition)
label.new(bar_index, high, text="Potential Short", color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)