Стратегия прорыва разрыва справедливой стоимости в течение нескольких временных периодов, основанная на историческом бэк-тестировании

FVG BOS HTF RR SL
Дата создания: 2025-01-17 14:45:10 Последнее изменение: 2025-01-17 14:45:10
Копировать: 0 Количество просмотров: 454
1
Подписаться
1617
Подписчики

Стратегия прорыва разрыва справедливой стоимости в течение нескольких временных периодов, основанная на историческом бэк-тестировании

Обзор стратегии

Стратегия представляет собой комплексную торговую систему, которая сочетает в себе анализ нескольких временных интервалов, разрывы справедливой стоимости (FVG) и прорыв структуры (BOS). Он определяет потенциальные входы в торговлю, выявляя прорывы в ценовой структуре на более высоких таймфреймах и одновременно ища разрывы справедливой стоимости, которые могут образоваться на более низких таймфреймах. Стратегия также интегрирует систему управления рисками, включая автоматическую установку стоп-лоссов и целевых показателей прибыли.

Стратегический принцип

Основная логика стратегии строится на трех основных принципах: во-первых, использование более высоких таймфреймов (по умолчанию 1 час или больше) для определения прорывов в ценовой структуре (BOS), что обеспечивает базовую основу для направления торговли. Во-вторых, ищите разрыв справедливой стоимости (FVG) на более низких таймфреймах. Формирование FVG указывает на то, что на рынке в этой области существует потенциальный дисбаланс спроса и предложения. Наконец, эти два условия объединяются с текущим положением цены, чтобы вызвать торговый сигнал, когда цена находится в благоприятном положении. Система управляет риском каждой сделки с помощью соотношения риска и прибыли и фактора стоп-лосса.

Стратегические преимущества

  1. Многомерный анализ: благодаря объединению анализа нескольких временных периодов повышается надежность торговых сигналов.
  2. Идеальное управление рисками: встроенная настройка соотношения риска и доходности и механизм контроля стоп-лоссов гарантируют, что каждая транзакция имеет четкий контроль рисков.
  3. Визуальная обратная связь: стратегия обеспечивает четкую визуальную обратную связь, включая отображение поля FVG и маркировку потенциальных торговых возможностей.
  4. Высокая адаптивность: благодаря настройке параметров стратегия может адаптироваться к различным рыночным условиям и стилям торговли.

Стратегический риск

  1. Риск ложного пробоя: на рынке может произойти ложный прорыв, что приведет к ложным торговым сигналам. Решение — добавить механизм подтверждения сигнала.
  2. Задержка сигнала: из-за использования данных более высокого таймфрейма возможна задержка сигнала. Рекомендуется подтверждать в сочетании с другими техническими индикаторами.
  3. Риск волатильности рынка: в периоды высокой волатильности формирование FVG может быть недостаточно стабильным. Это можно обеспечить, отрегулировав длину наблюдения FVG.

Направление оптимизации стратегии

  1. Фильтрация сигнала: можно добавить механизм подтверждения громкости, чтобы подтверждать сигнал только в том случае, если громкость его поддерживает.
  2. Динамические параметры: соотношение риска и доходности, а также фактор стоп-лосса можно динамически корректировать в зависимости от волатильности рынка.
  3. Фильтрация тренда: добавляйте индикаторы оценки тренда и открывайте позиции только в направлении тренда.
  4. Фильтр по времени: добавьте фильтры по временным периодам торговли, чтобы избежать торговли в неблагоприятные часы на рынке.

Подвести итог

Стратегия создает полноценную торговую систему, объединяя многопериодный анализ, прорывы в структуре цен и разрывы справедливой стоимости. Его преимущества заключаются в многомерных методах анализа и совершенном механизме управления рисками, но трейдерам все равно необходимо выполнять соответствующую оптимизацию параметров и контроль рисков на основе реальных рыночных условий. Последующая оптимизация может начинаться с подтверждения сигнала, динамической настройки параметров и фильтрации рыночной среды для дальнейшего повышения стабильности и надежности стратегии.

Исходный код стратегии
/*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)