이동평균선 돌파트랩 전략


생성 날짜: 2024-02-21 11:29:01 마지막으로 수정됨: 2024-02-21 11:29:01
복사: 0 클릭수: 651
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이동평균선 돌파트랩 전략

개요

평균선 돌파 함정 전략은 1분 및 1시간 시간 프레임에 적용되는 다중 시간 프레임에 적용되는 일반적인 거래 도구입니다. 이 전략은 21일 이동 평균을 사용하여 중요한 시장 동향을 식별하고 ATR 지표를 사용하여 잠재적인 다중 헤드 및 빈 헤드 함정을 식별합니다. 이 전략은 85%의 수익률을 얻으며 최적의 환경에서 88%에 달합니다.

전략 원칙

이 전략은 우선 21일 지수 이동 평균을 계산하여 전체적인 추세와 방향을 판단한다. 그 다음에는 최근 N일간의 최고 가격과 최저 가격을 계산한다. (N은 조정 가능한 변수이다.) 종결 가격이 최근 하루의 최고 가격보다 높고, 그 후 최저가 ATR 지표와 곱한 후의 최근 최고 가격과 21일 선을 넘어간다면, 종결 가격이 다목적 함정 신호로 판단된다. 공중 함정 신호 판단 논리는 비슷하다.

일단 함정 신호가 확인되면, 가장 최근의 최고 가격과 최저 가격 사이의 80%의 거리에 따라 중지 손실을 설정하고, 역 동작을 한다. 예를 들어, 다중 머리 함정이 확인되면, 하위 거래를 하고, 중지 손실을 설정한다.

우위 분석

  • 동향을 판단하는 EMA를 사용해서 신뢰도가 높습니다.
  • ATR 지표로 함정을 식별하는 높은 정확도
  • 높은 수익률, 최대 85%
  • 여러 시간 프레임에 적용됩니다.
  • 조정 가능한 변수는 최적화 공간을 제공합니다.

위험 분석

  • EMA의 판단은 추세가 변할 때 무효가 될 수 있습니다.
  • ATR 파라미터가 잘못 설정되어 함정을 놓칠 수 있습니다.
  • 부당한 스톱 로드 위치로 인해 수익이 감소하거나 손실이 증가할 수 있습니다.
  • 고주파 거래시 거래비용과 슬라이드 포인트 영향

EMA 파라미터를 최적화하여 ATR 계수, 동적 트레일링 스톱로스 등의 방법을 통해 위험을 줄일 수 있다.

최적화 방향

  • ATR 변수 및 EMA 주기를 최적화하여 식별 정확도를 향상시킵니다.
  • 역동적인 손해 방지 장치를 추가
  • 다른 지표와 함께 확인 신호
  • 더 많은 시간 프레임의 적용성을 테스트하는 것

요약하다

평균선 돌파 함정 전략은 트렌드 판단과 함정 식별의 장점을 통합하고, 회수량이 작고, 수익률이 높으며, 다양한 거래 스타일에 적합하며, 권장되는 효율적인 전략이다. 매개 변수 최적화 및 메커니즘 최적화를 통해 안정성과 수익 공간을 더욱 강화할 수 있다.

전략 소스 코드
/*backtest
start: 2023-02-14 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bull and Bear Trap Strategy with EMA 21 - 1min Chart", overlay=true)

// Inputs
length = input(5, "Length")
atrMultiplier = input(1.0, "ATR Multiplier")
emaLength = input(21, "EMA Length")
price = close
atr = ta.atr(length)

// EMA Calculation
ema21 = ta.ema(price, emaLength)

// Define recent high and low
recentHigh = ta.highest(high, length)
recentLow = ta.lowest(low, length)

// Bull and Bear Trap Detection
bullTrap = price > recentHigh[1] and low <= recentHigh - atr * atrMultiplier and price < ema21
bearTrap = price < recentLow[1] and high >= recentLow + atr * atrMultiplier and price > ema21

// Plotting
plotshape(series=bullTrap, title="Bull Trap", location=location.abovebar, color=color.red, style=shape.triangleup, size=size.small)
plotshape(series=bearTrap, title="Bear Trap", location=location.belowbar, color=color.green, style=shape.triangledown, size=size.small)
plot(ema21, title="EMA 21", color=color.blue)

// Measured Move Implementation
moveSize = recentHigh - recentLow
targetDistance = moveSize * 0.8 // Target at 80% of the move size

// Strategy Execution with Measured Move Targets
if (bullTrap)
    strategy.entry("Enter Short (Sell)", strategy.short)
    strategy.exit("Exit Short (Buy to Cover)", "Enter Short (Sell)", limit=price - targetDistance)

if (bearTrap)
    strategy.entry("Enter Long (Buy)", strategy.long)
    strategy.exit("Exit Long (Sell)", "Enter Long (Buy)", limit=price + targetDistance)