손절매 및 이익 실현 자동화 시스템과 결합된 이중 이동 평균 돌파 거래 전략

EMA SL TP MA
생성 날짜: 2024-11-29 11:20:40 마지막으로 수정됨: 2024-11-29 11:20:40
복사: 0 클릭수: 426
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

손절매 및 이익 실현 자동화 시스템과 결합된 이중 이동 평균 돌파 거래 전략

개요

이 전략은 쌍평선 돌파 이론에 기반한 자동화 거래 시스템으로, 위험 관리 기능이 결합되어 있다. 전략의 핵심은 21주기 및 50주기의 지수 이동 평균 ((EMA) 을 신호 지표로 사용하여, 평선 교차를 통해 시장 추세 변화를 판단하고 자동으로 거래를 수행한다. 시스템은 스톱 로스 (Stop Loss) 및 스톱 테이크 프로피트 (Take Profit) 기능을 통합하여 각 거래의 위험과 수익 목표를 효과적으로 제어할 수 있다.

전략 원칙

전략의 핵심 논리는 기술 분석의 고전적인 평행선 교차 이론에 기초한다. 짧은 주기 (~21일) EMA가 상향으로 긴 주기 (~50일) EMA를 통과할 때, 시스템은 포이스 신호로 인식하고 포지션을 더 많이 열다. 짧은 주기 (~21일) EMA가 상향으로 긴 주기 (~50일) EMA를 통과할 때, 시스템은 포이스 신호로 인식하고 포지션을 공백으로 열다. 각 거래 신호는 자동으로 스톱로스 및 스톱포트 지점을 설정하며, 시스템은 기본으로 스톱로스를 최소 파동 40개로 설정하고, 스톱포트를 최소 파동 80개로 설정한다. 이 디자인은 거래의 위험/수익 비율이 1:2로, 전문 거래 관리 원칙에 부합하도록 보장한다.

전략적 이점

  1. 높은 수준의 자동화: 시스템이 완전히 자동화되어 신호 인식, 거래 실행 및 위험 관리에 대한 인적 개입이 필요하지 않습니다.
  2. 리스크 관리: 거래마다 명확한 스톱로스 스톱포인트가 있으며, 리스크를 효과적으로 제어합니다.
  3. 변수는 조정할 수 있습니다: 스톱 로즈 스톱 피트 지점은 시장 상황에 따라 유연하게 조정할 수 있습니다.
  4. 시각적 피드백이 명확하다: 시스템은 화살표로 매매 시그널을 표시하고, 허수선으로 스톱 스톱 위치를 표시한다.
  5. 전략 논리는 간단합니다: 고전 기술 지표를 사용하여 이해하기 쉽고 유지 관리 할 수 있습니다.

전략적 위험

  1. 위축 시장 위험: 위축 시장에서 종종 잘못된 신호를 유발할 수 있습니다.
  2. 슬라이드 포인트 위험: 시장의 급격한 변동으로 인해 실제 거래 가격과 신호 가격의 오차가 발생할 수 있습니다.
  3. 트렌드 리버스 리스크: 시장의 트렌드가 갑자기 변할 때 고정된 스톱 리스는 위험을 회피하기에 충분하지 않을 수 있습니다.
  4. 매개 변수 최적화 위험: 과도한 최적화 매개 변수는 전략의 실체에서의 성능에 영향을 미치는 과다 적합성을 초래할 수 있습니다.

전략 최적화 방향

  1. 트렌드 필터를 추가: ADX 또는 트렌드 강도 지수와 같은 추가적인 트렌드 판단 지표를 도입하여, 흔들리는 시장에서 가짜 신호를 필터링합니다.
  2. 다이내믹 스톱 메커니즘: 시장의 변동에 따라 자동으로 스톱 스톱 지점을 조정하여 리스크 관리의 유연성을 향상시킵니다.
  3. 거래 시간 필터를 추가: 중요한 뉴스 발표와 같은 높은 변동성 기간 동안 거래를 피하십시오.
  4. 포지션 관리 도입: 시장의 변동성과 계좌의 위험도에 따라 포지션 크기를 자동으로 조정
  5. 최적화된 신호 확인 메커니즘: 거래량과 같은 보조 지표를 증가시켜 신호 신뢰성을 향상시킨다.

요약하다

이것은 합리적이고 논리적으로 명확하게 설계된 자동화 거래 전략이다. 일률적인 교차 신호와 엄격한 위험 관리를 결합하여 거래 안전을 보장하면서 시장 추세 기회를 잡기 위해 신뢰할 수있는 기술 프레임 워크를 제공합니다.

전략 소스 코드
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover Strategy with SL & TP", overlay=true, default_qty_type=strategy.percent_of_equity)

// Input settings for SL and TP (ticks)
slTicks = input.int(40, title="Stop Loss (ticks)", minval=1)
tpTicks = input.int(80, title="Take Profit (ticks)", minval=1)

// Define EMA periods
ema21 = ta.ema(close, 21)
ema50 = ta.ema(close, 50)

// Detect crossovers
bullishCross = ta.crossover(ema21, ema50)
bearishCross = ta.crossunder(ema21, ema50)

// Plot the EMAs
plot(ema21, color=color.green, linewidth=2, title="EMA 21")
plot(ema50, color=color.red, linewidth=2, title="EMA 50")

// Calculate tick size in points
var float tickSize = syminfo.mintick

// Calculate stop loss and take profit prices for long and short positions
longSL = close - slTicks * tickSize
longTP = close + tpTicks * tickSize

shortSL = close + slTicks * tickSize
shortTP = close - tpTicks * tickSize

// Execute trades on crossover signals
if (bullishCross)
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", "Long", stop=longSL, limit=longTP)

if (bearishCross)
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", "Short", stop=shortSL, limit=shortTP)

// Plot arrows on crossovers
plotshape(series=bullishCross, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small)
plotshape(series=bearishCross, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small)

// Optional: Background coloring
bgcolor(bullishCross ? color.new(color.green, 90) : na, title="Bullish Background")
bgcolor(bearishCross ? color.new(color.red, 90) : na, title="Bearish Background")