더블 EMA 스팬 브레이크아웃 전략


생성 날짜: 2023-10-25 12:43:59 마지막으로 수정됨: 2023-10-25 12:43:59
복사: 0 클릭수: 637
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

더블 EMA 스팬 브레이크아웃 전략

개요

이중 EMA 간격 돌파 전략은 트렌드 추적 전략이다. 이 전략은 서로 다른 주기의 두 개의 EMA 평균선을 사용하며, 두 개의 EMA 라인 사이에 충분히 큰 간격이 형성되면 트렌드의 방향을 잡기 위해 거래한다. 이 전략은 트렌드성이 강한 시장에 적합하다.

전략 원칙

이 전략은 빠른 EMA 라인 ((작은 주기 EMA 라인) 과 느린 EMA 라인 ((대 주기 EMA 라인) 을 사용하여 거래 신호 판단을 한다. 구체적인 논리는 다음과 같다:

  1. 빠른 EMA와 느린 EMA를 계산한다.

  2. 빠른 EMA 위에 느린 EMA를 통과하고 두 EMA 라인 사이의 간격이 설정된 임계 값을 초과할 때 더 많이 한다.

  3. 빠른 EMA 아래에서 느린 EMA를 통과하고 두 EMA 라인 사이의 간격이 설정된 임값을 초과하면 공백을 다.

  4. 가격이 빠른 EMA 아래로 다시 떨어질 때, 평점 지점은 다수 상위 지점이다.

  5. 가격이 빠른 EMA를 다시 돌파했을 때, 평점 상위권에서 상위권을 다.

이렇게, EMA의 부드러움을 사용하여 트렌드 방향을 식별하고, EMA 간격의 돌파구와 결합하여 특정 입문 시점을 결정한다. △ 멀리 떨어져있는 것은 트렌드가 강할수록, 싱글의 기회가 더 크다.

전략적 강점 분석

  • EMA의 트렌드 추적성을 활용하여 트렌드를 효과적으로 추적할 수 있습니다.
  • EMA 간격의 돌파는 진입 시기를 판단하고, 진동 시기의 가짜 신호를 효과적으로 필터링 할 수 있습니다.
  • 다른 주기적 EMA 조합을 사용하면 트렌드 거래의 반전을 어느 정도 줄일 수 있습니다.
  • 합리적인 조건 설정으로 트렌드 상황에서 더 나은 수익을 얻을 수 있습니다.

전략적 위험 분석

  • EMA 자체는 가격 변화에 지체하여 전환점을 놓칠 수 있습니다.
  • 트렌드가 약한 상황에서는 효과가 좋지 않습니다.
  • 지진으로 인한 손해
  • EMA 파라미터를 잘못 설정하면 너무 많은 가짜 신호가 발생할 수 있습니다.

EMA 변수 조합을 조정하고, 스펙트럼 절벽을 조정하고, 스톱 포지션을 조정하여 위험을 줄일 수 있다.

전략 최적화 방향

  • 빠른 느린 EMA의 주기 변수 조합을 최적화
  • 다양한 EMA 간격 임계값을 테스트합니다.
  • 손해 방지 전략의 최적화
  • 다른 필터링 신호를 추가
  • 최적의 변수 조합을 찾기 위해 변수 조정

요약하다

이중 EMA 간격 돌파 전략은 전체적으로 비교적 간단하고 실용적인 트렌드 추적 전략이다. 트렌드 상황에서 효과적으로 수익을 올릴 수 있지만, 합리적인 파라미터를 설정해야 한다. 파라미터 최적화 및 위험 관리를 통해 이 전략의 장점을 충분히 발휘할 수 있다. 이것은 깊이 연구하고 적용할 가치가 있는 트렌드 전략이다.

전략 소스 코드
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("2-EMA Strategy", overlay=true, initial_capital=100, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075)

diffMinimum = input(0.95, step=0.01)

small_ema = input(13, title="Small EMA")
long_ema = input(26, title="Long EMA")

ema1 = ema(close, small_ema)
ema2 = ema(close, long_ema)


orderCondition = ema1 > ema2?((ema1/ema2)*100)-100 > diffMinimum:((ema2/ema1)*100)-100 > diffMinimum

longCondition = close > ema1 and ema1 > ema2
if (longCondition and orderCondition)
    strategy.entry("Long", strategy.long)

shortCondition = close < ema1 and ema1 < ema2
if (shortCondition and orderCondition)
    strategy.entry("Short", strategy.short)
    
strategy.close("Short", when=close > ema1)
strategy.close("Long", when=close < ema1)
    
plot(ema(close, small_ema), title="EMA 1", color=green, transp=0, linewidth=2)
plot(ema(close, long_ema), title="EMA 2", color=orange, transp=0, linewidth=2)