다중 EMA 구매 전략

저자:차오장날짜: 2024-02-20 15:38:08
태그:

img

전반적인 설명

이것은 가격 행동과 단기 트렌드를 기반으로 한 구매 전용 전략입니다. 여러 지수 이동 평균 (EMA) 을 입출 기술 지표로 사용합니다.

전략 논리

이 전략은 5일, 10일, 20일, 50일, 100일 및 200일 EMA를 6개로 사용한다.

  1. 5일 EMA가 10일 EMA를 넘는다
  2. 10일 EMA가 20일 EMA를 넘는다
  3. 20일 EMA가 50일 EMA를 넘는다
  4. 50일 EMA가 100일 EMA를 넘는다
  5. 100일 EMA가 200일 EMA를 넘는다
  6. 닫기 가격 5일 EMA를 넘는다

모든 6가지 조건이 충족되면, 긴 포지션이 시작됩니다.

출구 신호는 닫기 가격이 200일 EMA를 넘을 때 나타납니다.

이점 분석

이 전략의 장점은 다음과 같습니다.

  1. 중·단기 트렌드를 효과적으로 식별하기 위해 여러 EMA를 필터로 사용
  2. 여러 EMA에 대한 엄격한 크로스오버 기준은 잘못된 파장을 피하는 데 도움이 됩니다.
  3. 닫기 가격을 포함하면 잘못된 파기 위험을 피합니다.
  4. 구매만 하고 단축 리스크를 피합니다.
  5. 이익 취득에 유리한 보수적인 출구 메커니즘

위험 분석

또한 몇 가지 위험이 있습니다.

  1. 연속적인 EMA 크로스오버의 확률이 낮고 기회를 놓치는 경향이 있습니다.
  2. 구매만 가능하고, 판매에서 수익을 얻을 수 없습니다.
  3. 다양한 시장에 갇히기 쉽다
  4. 조기 퇴출하고 수익을 포기합니다.
  5. 정적 매개 변수 설정은 제품 및 시장에 적응하지 않습니다.

해결책:

  1. 시장 조건에 따라 EMA의 수를 줄이는 것
  2. CCI 등을 통합하여 단축 기회를 도입하는 것을 고려하십시오.
  3. 후속 스톱 손실 또는 수동 감독을 설정
  4. 트렌드 상품에 기반한 매개 변수를 조정합니다.
  5. 매개 변수를 조정하기 위해 수동 감독을 권장합니다.

더 나은 기회

전략을 강화하는 몇 가지 방법:

  1. 가짜 파장을 피하기 위해 부피를 포함합니다.
  2. 매개 변수를 최적화하기 위해 변동성 측정 방법을 사용
  3. 매개 변수를 동적으로 최적화하기 위해 기계 학습 모델을 도입
  4. 브레이크아웃 검증 메커니즘 추가
  5. 트렌드 예측을 위해 딥 러닝 모델을 포함
  6. 스톱 로스를 도입하고 이윤을 취합니다.

결론

요약하자면, 이것은 가격 기술 지표에 기반한 중단기 트렌드를 따르는 전략이다. 여러 EMA 필터를 사용하여 트렌드를 식별하고 잘못된 브레이크오웃을 피하기 위해 가까운 가격을 통합한다. 논리는 간단하고 이해하기 쉽습니다. 단점은 기회가 적고 함락되기 쉽다. 수동 감독과 결합한 보충 도구로 사용하도록 제안된다. 전략을 더 견고하게 만들기 위해 볼륨, 매개 변수 최적화 및 기계 학습과 같은 측면에서 개선이 가능합니다.


/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Multiple EMA Buy Strategy with Price Condition", overlay=true)

// Calculate EMAs
ema5 = ta.ema(close, 5)
ema10 = ta.ema(close, 10)
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
ema200 = ta.ema(close, 200)

// Plot EMAs
plot(ema5, color=color.blue, title="EMA 5")
plot(ema10, color=color.green, title="EMA 10")
plot(ema20, color=color.red, title="EMA 20")
plot(ema50, color=color.purple, title="EMA 50")
plot(ema100, color=color.orange, title="EMA 100")
plot(ema200, color=color.yellow, title="EMA 200")

// Entry conditions
buy_condition = ema5 > ema10 and ema10 > ema20 and ema20 > ema50 and ema50 > ema100 and ema100 > ema200 and close > ema5

// Exit conditions
exit_condition = close < ema200

// Strategy entry and exit conditions
strategy.entry("Buy", strategy.long, when = buy_condition)
strategy.close("Buy", when = exit_condition)

더 많은