더블 EMA 스팬 트레이딩 전략


생성 날짜: 2023-09-19 19:36:03 마지막으로 수정됨: 2023-09-19 19:36:03
복사: 0 클릭수: 738
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이중 EMA 간격 거래 전략은 트렌드 팔링 전략으로, 두 개의 다른 기간의 EMA의 간격 비율을 계산하여 시장 추세를 판단하고 거래를합니다. 이 전략은 간단하고 직접적이며 중장선 추세를 효과적으로 추적 할 수 있으며 중장선 추세 거래자에게 매우 적합합니다.

전략 원칙

이 전략은 주로 두 개의 EMA의 수적 크기와 그 사이의 간격을 기반으로 트렌드 방향을 결정한다. 전략은 먼저 단기 EMA와 장기 EMA를 계산하며, 전형적인 구성은 13주기 및 26주기 EMA이다. 그리고 두 개의 EMA 사이의 간격을 계산한다.

이 전략의 핵심 논리는 다음과 같습니다.

  1. 단기 EMA와 장기 EMA를 계산합니다.
  2. 단기 EMA가 장기 EMA보다 높거나 낮다는 것을 판단하는 방법
  3. 두 EMA 사이의 간격의 비율이 설정된 임계값보다 높지 여부를 계산합니다.
  4. 추세에 따라 방향을 판단하고, 더 많이 하거나, 덜 많이 하거나
  5. 가격 하락 또는 단기 EMA 평준을 돌파

이러한 디자인을 통해 중·장기 트렌드를 효과적으로 추적하고 트렌드가 변할 때 신속하게 방향을 전환할 수 있습니다. 또한, 간격한 경미치를 설정하면 비중있는 기간의 조정이 불필요한 거래를 초래하는 것을 피할 수 있습니다.

전략적 이점

  • 이 전략은 직접적으로 효과적이며, 중·장기선 트렌드를 추적하는 데 적합합니다.
  • EMA를 사용하면 단기 시장 소음을 제거할 수 있습니다.
  • 구성 가능한 EMA 주기 및 스펙트럼 값, 적응력
  • 스펙트럼 계산을 사용하여 트렌드가 명확할 때만 거래하는 것을 보장합니다.
  • 단기 EMA를 돌파하는 것과 연동된 손실을 줄일 수 있는 위험

전략적 위험과 대책

  • 트렌드가 바뀌기 전에 빠져나오지 못해서 더 큰 회수를 감수해야 합니다.
  • 쇄국하는 동안 갇히기 쉽다.
  • 특정 품종에 따라 합리적으로 구성된 EMA 주기 및 스펙트럼 값

위험은 다음과 같은 방법으로 줄일 수 있습니다.

  1. 다른 지표와 결합하여 트렌드 반전 신호를 판단하여 조기 평준화
  2. 트렌드 필터링 조건을 추가하여 변동 거래가 발생하지 않도록하십시오.
  3. 특정 품종에 적합한 EMA 주기 및 스펙트럼 값을 선택하여 파라미터 구성을 최적화합니다.

전략 최적화 방향

이 전략은 다음과 같은 측면에서 최적화될 수 있습니다.

  1. 변수 최적화: EMA 주기의 변수 및 스펙트럼 값을 재검토하여 최적화하여 최적의 변수 조합을 찾습니다.

  2. 트렌드 필터: MACD, 브린 띠와 같은 다른 추세를 결정하는 지표를 추가하여 흔들림의 범위를 피하십시오.

  3. 손해 방지 전략: 단편적 손실을 제어하기 위해 이동적 손해 또는 시간적 손해를 설정

  4. 이윤 회전: 이윤의 일부를 설정한 후 이동 중지, 이윤의 일부를 잠금

  5. 양적 최적화: 전략의 양적 최적화를 구현하기 위해 기계 학습과 같은 방법을 사용하여 매개 변수 및 필터링 조건을 자동으로 최적화합니다.

  6. 조합 최적화: 이 전략을 다른 비관련 전략과 조합하여 회수량을 줄이고 안정성을 높인다.

매개 변수, 필터 조건, 손실, 수익 회전 등의 여러 가지 측면의 최적화를 통해 전략이 더 안정적이고, 더 많은 시장 상황에 적응하고, 더 과학적이고, 더 효과적입니다. 양적 및 조합 최적화는 전략의 효과를 크게 향상시킬 수 있습니다.

요약하다

이중 EMA 간격 전략은 간단한 직접, 트렌드 추적에 적합한 전략이다. 그것은 단지 두 개의 EMA를 통해 트렌드 방향을 판단할 수 있으며, 중장선 지위를 유지하는 데 적합하다. 또한, 매개 변수 최적화, 트렌드 필터링, 손실 중지 전략과 같은 여러 가지 방법으로 개선할 수 있으며, 전략을 더 안정적으로 신뢰할 수 있다. 이 전략은 구현하기 쉽고, 또한 양적 최적화를 쉽게 할 수 있으며, 권장되는 트렌드 추적 전략이다.

전략 소스 코드
/*backtest
start: 2023-08-19 00:00:00
end: 2023-08-23 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)