Стратегия торговли динамического сопротивления, основанная на своевременном обнаружении FVG и тренде скользящей средней

FVG MA SMC ICT
Дата создания: 2024-11-29 14:50:09 Последнее изменение: 2024-11-29 14:50:09
Копировать: 0 Количество просмотров: 558
1
Подписаться
1617
Подписчики

Стратегия торговли динамического сопротивления, основанная на своевременном обнаружении FVG и тренде скользящей средней

Обзор

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

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

Основная логика стратегии включает в себя следующие ключевые части:

  1. Обследование FVG: обследование пробелов в справедливой стоимости многоголовых и пустых голов в течение заданного временного периода (в 1 час по умолчанию)
  2. Определение тенденций: использование 20-циклических скользящих средних для определения направления тенденций рынка
  3. Подтверждение обратного курса: построение диаграммы для определения обратного курса
  4. Динамическое сопротивление: используйте недавние максимумы в качестве уровня сопротивления и цели прибыли
  5. Управление рисками: применение стратегии стоп-лосс

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

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

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

  1. Временная зависимость: различные временные рамки могут создавать конфликтные сигналы
  2. Изменчивость рынка: сильные колебания могут привести к слишком частым остановкам
  3. Чувствительные к параметрам: параметры влияют на эффективность стратегии
  4. Трендозависимость: возможна слабая динамика в условиях бурного рынка
  5. Задержка сигналов: движущаяся средняя имеет некоторую задержку

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

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

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

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

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMC FVG Entry Strategy with Retest", overlay=true)

// Parametreler
stopLossPercent = input(2, title="Stop Loss (%)") / 100
lookbackPeriod = input(50, title="Güçlü Direnç İçin Geriye Dönük Süre")
fvgLength = input.timeframe("60", title="FVG Zaman Dilimi")  // 1 saatlik zaman dilimi
maPeriod = input(20, title="MA Dönemi")  // Trend yönü için MA dönemi

// FVG'leri Hesapla
var float fvgLow = na
var float fvgHigh = na
var bool fvgFilled = false

// Seçilen zaman diliminde FVG'leri kontrol et
if (ta.change(time(fvgLength)))
    bull_fvg = low > high[2] and close[1] > high[2]
    bear_fvg = high < low[2] and close[1] < low[2]
    
    if (bull_fvg)
        fvgLow := low[2]
        fvgHigh := high
        fvgFilled := true
    else if (bear_fvg)
        fvgLow := low
        fvgHigh := high[2]
        fvgFilled := true

// Trend Yönü Kontrolü (MA kullanarak)
ma = ta.sma(close, maPeriod)
trendUp = close > ma
trendDown = close < ma

// Dönüş Mumu Kontrolü
bullishReversal = close > open and close[1] < open[1] and fvgFilled and close > fvgHigh
bearishReversal = close < open and close[1] > open[1] and fvgFilled and close < fvgLow

// İlk güçlü direnç noktası
resistanceLevel = ta.highest(high, lookbackPeriod)

// Giriş Koşulları
if (bullishReversal and trendUp)
    entryPrice = close
    stopLoss = entryPrice * (1 - stopLossPercent)
    takeProfit = resistanceLevel
    strategy.entry("Long", strategy.long)
    strategy.exit("TP", "Long", limit=takeProfit, stop=stopLoss)

if (bearishReversal and trendDown)
    entryPrice = close
    stopLoss = entryPrice * (1 + stopLossPercent)
    takeProfit = resistanceLevel
    strategy.entry("Short", strategy.short)
    strategy.exit("TP", "Short", limit=takeProfit, stop=stopLoss)

// FVG'leri Grafik Üzerinde Göster
// if (fvgFilled)
//     var box fvgBox = na
//     if (na(fvgBox))
//         fvgBox := box.new(left=bar_index[1], top=fvgHigh, bottom=fvgLow, right=bar_index, bgcolor=color.new(color.green, 90), border_color=color.green)
//     else
//         box.set_top(fvgBox, fvgHigh)
//         box.set_bottom(fvgBox, fvgLow)
//         box.set_left(fvgBox, bar_index[1])
//         box.set_right(fvgBox, bar_index)

// Direnç Noktasını Göster
plot(resistanceLevel, color=color.blue, title="Direnç Noktası", linewidth=2)
plot(ma, color=color.red, title="Hareketli Ortalama", linewidth=2)