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

EMA 트렌드와 둥근 숫자 브레이크업 거래 전략

저자:차오장, 날짜: 2025-01-17 16:17:10
태그:EMASLTP수익률

 EMA Trend with Round Number Breakout Trading Strategy

전반적인 설명

이 전략은 EMA 트렌드, 라운드 숫자 브레이크아웃, 거래 세션 필터링을 결합한 양적 거래 전략이다. 이 전략은 주로 EMA 트렌드 방향에 의존하며, 주요 라운드 숫자 수준에서 거래 신호로 가격 브레이크아웃 패턴과 결합하여 거래 품질을 향상시키기 위해 세션 필터링을 통합합니다. 이 전략은 리스크 관리를 위해 비율 기반의 스톱 로스와 영리를 사용합니다.

전략 원칙

핵심 논리는 다음의 핵심 요소들을 포함합니다. 1. 트렌드 식별 도구로 20 일간의 EMA를 사용하며, EMA 위에 길게 이동하고 아래에 짧게 이동합니다. 2. 주요 둥근 숫자 근처에 포식 패턴을 찾습니다 ($ 5 간격) 3. 낮은 변동성 기간을 피하기 위해 런던 및 뉴욕 세션 중만 거래 4. 긴 신호는: 상승 추세, EMA 이상의 가격, 활성 거래 세션 5. 짧은 신호는: 하향 포식 패턴, EMA 이하의 가격, 활성 거래 세션 6. 무역 관리에 대한 1%의 스톱 로스 및 1.5%의 이익 취득 위험 보상 비율을 구현

전략적 장점

  1. 다중 신호 확인 메커니즘은 거래 신뢰성을 크게 향상시킵니다.
  2. 기술 분석과 심리적 가격 수준을 결합하여 높은 승률을 얻습니다.
  3. 세션 필터링은 활성 시장 기간 동안 거래를 보장하며 가짜 브레이크를 피합니다.
  4. 일정한 비율의 스톱 로스 및 영업이익은 위험 관리에 도움이 됩니다.
  5. 명확한 전략 논리, 이해하기 쉽고 실행하기 쉬운
  6. 높은 변동성을 가진 시장에 적합합니다.

전략 위험

  1. 다양한 시장에서 과도한 잘못된 신호를 생성 할 수 있습니다.
  2. 고정 스톱 손실 및 취득 유연성이 부족, 더 큰 움직임을 놓칠 수 있습니다
  3. 기술적인 지표에만 의존하고 근본적인 요소를 무시합니다.
  4. 주요 보도자료에서 미끄러질 위험
  5. 세션 제한은 다른 기간에 기회를 놓칠 수 있습니다.

최적화 방향

  1. 시장의 변동성에 기반한 적응적 스톱 로스 및 수익 취득 메커니즘을 도입
  2. 분산 신뢰성을 높이기 위해 부피 확인 지표를 추가합니다.
  3. 트렌드 강도 필터를 포함하여 약한 트렌드에 거래하는 것을 피합니다.
  4. 입시 시기를 최적화하기 위해 시장 감정 지표를 추가하는 것을 고려하십시오.
  5. 더 지능적인 둥근 숫자 레벨 식별 알고리즘 개발

요약

이 전략은 EMA 트렌드, 가격 패턴 및 세션 필터링을 포함한 여러 메커니즘을 결합하여 논리적으로 엄격한 거래 시스템을 구축합니다. 특정 제한이 있지만 지속적인 최적화 및 정교화는 전략의 안정성과 수익성을 잠재적으로 향상시킬 수 있습니다. 전략은 특정 거래 요구 사항에 따라 사용자 정의에 적합한 중장기 트렌드 다음 시스템의 견고한 기초로 작용합니다.


/*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))


관련

더 많은