사이클 브레이크아웃 트레이딩 전략과 결합된 EMA 추세

EMA SL TP ROI
생성 날짜: 2025-01-17 16:17:10 마지막으로 수정됨: 2025-01-17 16:17:10
복사: 4 클릭수: 466
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

사이클 브레이크아웃 트레이딩 전략과 결합된 EMA 추세

개요

이는 EMA 추세, 사이클 돌파, 거래 세션 필터링을 결합한 양적 거래 전략입니다. 이 전략은 주로 이동 평균의 추세 방향에 대한 판단을 기반으로 하며, 주요 사이클 위치에서 가격의 돌파 패턴을 거래 신호로 사용합니다. 동시에 거래 기간 필터링을 도입하여 거래 품질을 개선합니다. 이 전략은 위험을 통제하기 위해 백분율 손절매와 이익 실현 방법을 사용합니다.

전략 원칙

전략의 핵심 논리에는 다음과 같은 핵심 요소가 포함됩니다.

  1. 20일 EMA를 추세 감지 도구로 사용하고 가격이 EMA보다 높을 때만 롱 포지션을 취하고, 가격이 EMA보다 낮을 때만 숏 포지션을 취하세요.
  2. 거래 신호로서 주요 회전 수준(5 USD 반올림 숫자) 근처에서 삼키는 패턴을 찾으십시오.
  3. 변동성이 낮은 기간을 피하기 위해 런던과 뉴욕 거래 세션 동안만 포지션을 오픈하세요.
  4. 롱 신호는 동시에 다음 조건을 충족해야 합니다: 강세 engulfing 패턴, EMA 위의 가격, 유효한 거래 세션
  5. 숏 신호는 동시에 다음 조건을 충족해야 합니다: 하락 Engulfing 패턴, EMA 아래의 가격, 유효한 거래 세션
  6. 거래 관리를 위해 1%의 손절매와 1.5%의 이익 실현 위험-보상 비율을 사용하십시오.

전략적 이점

  1. 다중 신호 확인 메커니즘으로 거래 신뢰성 대폭 향상
  2. 기술 분석과 가격 심리학을 결합하여 승률을 높이세요
  3. 시간대 필터링은 활발한 시장 기간 동안 거래를 보장하고 잘못된 브레이크아웃을 방지합니다.
  4. 고정된 비율의 손절매 및 이익 실현으로 위험 관리가 용이해집니다.
  5. 전략 논리는 명확하고 이해하기 쉬우며 구현하기 쉽습니다.
  6. 변동성이 큰 시장 환경에 적합

전략적 위험

  1. 횡보 시장에서는 너무 많은 거짓 신호가 생성될 수 있습니다.
  2. 고정된 손절매와 이익 실현은 충분히 유연하지 않으며 큰 시장 추세를 놓칠 수 있습니다.
  3. 근본적인 요소를 고려하지 않고 기술적 지표에만 의존하는 것
  4. 중요한 뉴스가 발표될 때 미끄러짐 위험에 직면할 수 있습니다.
  5. 거래 세션 제한으로 인해 다른 세션 동안 좋은 기회를 놓칠 수 있습니다.

전략 최적화 방향

  1. 적응형 손절매 및 이익실현 메커니즘을 도입하여 시장 변동성에 따라 동적으로 조정합니다.
  2. 돌파구 신뢰성을 개선하기 위해 볼륨 확인 지표 추가
  3. 약한 추세에서 거래하는 것을 피하기 위해 추세 강도 필터를 추가하세요
  4. 진입 시점을 최적화하기 위해 시장 감정 지표 도입을 고려하세요
  5. 회전 위치 식별을 위한 보다 스마트한 알고리즘 개발

요약하다

이 전략은 이동 평균 추세, 가격 패턴, 기간 필터링 등 여러 메커니즘을 결합하여 논리적으로 엄격한 거래 시스템을 구축합니다. 일정한 한계는 있지만, 지속적인 최적화와 개선을 통해 전략의 안정성과 수익성이 더욱 향상될 것으로 기대됩니다. 이 전략은 중장기 추세 추적 시스템의 기본 틀로 적합하며, 실제 거래 요구에 맞게 사용자 정의하고 개선할 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/


//@version=6
strategy("The Gold Box Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200)

// Inputs
roundNumberInterval = input.int(5, title="Round Number Interval ($)", minval=1)
useEMA = input.bool(true, title="Use 20 EMA for Confluence")
emaLength = input.int(20, title="EMA Length")

// Session times for London and NY
londonSession = input("0300-1200", title="London Session (NY Time)")
nySession = input("0800-1700", title="New York Session (NY Time)")

// EMA Calculation
emaValue = ta.ema(close, emaLength)

// Plot Round Number Levels
roundLow = math.floor(low / roundNumberInterval) * roundNumberInterval
roundHigh = math.ceil(high / roundNumberInterval) * roundNumberInterval

// for level = roundLow to roundHigh by roundNumberInterval
//     line.new(x1=bar_index - 1, y1=level, x2=bar_index, y2=level, color=color.new(color.gray, 80), extend=extend.both)

// Session Filter
inLondonSession = not na(time("1", londonSession))
inNYSession = not na(time("1", nySession))
inSession = true

// Detect Bullish and Bearish Engulfing patterns
bullishEngulfing = close > open[1] and open < close[1] and close > emaValue and inSession
bearishEngulfing = close < open[1] and open > close[1] and close < emaValue and inSession

// Entry Conditions
if bullishEngulfing
    strategy.entry("Long", strategy.long, comment="Bullish Engulfing with EMA Confluence")
if bearishEngulfing
    strategy.entry("Short", strategy.short, comment="Bearish Engulfing with EMA Confluence")

// Stop Loss and Take Profit
stopLossPercent = input.float(1.0, title="Stop Loss (%)", minval=0.1) / 100
takeProfitPercent = input.float(1.5, title="Take Profit (%)", minval=0.1) / 100

strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent), limit=close * (1 + takeProfitPercent))
strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent), limit=close * (1 - takeProfitPercent))