리소스 로딩... 로딩...

적응형 FVG 탐지 및 동적 저항과 함께 MA 트렌드 거래 전략

저자:차오장, 날짜: 2024-11-29 14:50:09
태그:FVGMASMC정보통신

img

전반적인 설명

이 전략은 공정 가치 격차 (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)


관련

더 많은