EMA 지표를 활용한 추세 추종 전략


생성 날짜: 2024-01-24 14:27:37 마지막으로 수정됨: 2024-01-24 14:27:37
복사: 0 클릭수: 581
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

EMA 지표를 활용한 추세 추종 전략

개요

EMA 추적 전략은 EMA 지표를 사용하여 트렌드를 추적하는 전략이다. 이 전략은 가격의 EMA 값을 계산하고, 설정된 비율과 결합하여 가격 트렌드를 판단하고 거래 신호를 생성한다.

전략 원칙

이 전략의 핵심 지표는 EMA이다. EMA는 지수 이동 평균을 나타내고, 트렌드를 추적하는 지표이다. EMA는 역사적 가격과 설정된 기간에 따라 현재의 평균 가격을 계산한다. EMA는 가격 평준화의 역할도 한다.

이 전략은 우선 가격의 50주기 EMA값을 계산해 주요 판단 지표로 사용한다. 그 다음 EMA값의 일정한 비율에 따라 상향과 하향을 설정한다. 여기서는 EMA값의 마이너스 0.3%로 설정한다. 가격이 상향 EMA 궤도를 지우면 구매 신호가 발생한다. 가격이 하향 EMA 궤도를 깨면 판매 신호가 발생한다. 이렇게 EMA 주기 내의 가격 경향 변화를 추적할 수 있다.

우위 분석

  1. EMA를 사용하여 트렌드를 판단하여 가격 변동의 방해를 피할 수 있습니다.
  2. EMA는 가격을 평평하게 하고, 무작위적인 변동을 명확한 추세로 바꾸어 판단하는데 도움이 됩니다.
  3. EMA를 궤도 상하로 설정하여 범위를 형성하여 잘못된 신호를 줄일 수 있다.
  4. 전략이 명확하고 이해하기 쉽고, 변수 조정도 간단합니다.

위험 분석

  1. EMA 지표는 트렌드 전환점에 신호가 늦어 지고 있습니다.
  2. 고정 비율의 상하 레일은 흔들림 단계에서 잘못된 신호를 일으킬 수 있다.
  3. 리포트 데이터 적합성 위험, 실 디스크 가격 변동이 더 커질 수 있다
  4. 손해 방지 장치가 없고, 손해를 제어할 수 없습니다.

최적화 방향

  1. 더 많은 변수 최적화, 최적의 변수 조합을 찾는 것
  2. 스톱로스 메커니즘을 추가하고, 통제 전략을 최대한 철회합니다.
  3. 착륙과 퇴각의 계산 방식을 최적화하여 잘못된 신호율을 감소시킵니다.
  4. 추가 조건 필터링으로 진동 현상 오류를 방지합니다.
  5. 다른 지표와 결합하여 전략적 안정성을 강화합니다.

요약하다

EMA 추적 전략 전체적인 생각은 명확하고, EMA 지표를 통해 가격 경향을 판단하고, 범위대를 설정하여 거래 신호를 생성한다. 장점은 규칙이 간단하고 이해하기 쉽다는 점, 일부 잡음을 피할 수 있다는 점이다. 그러나 파라미터 조정 공간이 제한되어, 신호 지연, 회수 제어 차등과 같은 문제가 있다. 다음 단계는 다중 지표 결합, 손해 방지 최적화 등의 수단을 통해 개선할 수 있으며, 전략이 더 실용적이고 안정적이다.

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

//@version=3
strategy(title="PingEMA50V.3 Piw", shorttitle="EMA50 Piw", overlay=true)

// input
src = input(title="Data Array",defval=close)
ema_period = input(title="EMA period", defval=50)
percent = input(title="Band %", type=float,defval=0.003)

// ema
ema50 = ema(src, ema_period)
plot(ema50, color=green)

// upper lower
upper = ema50 + (ema50*percent)
lower = ema50 - (ema50*percent)
plot(upper, color=blue)
plot(lower, color=blue)

// signal
buy = src > upper
sell = src < lower

// bar color
bcolor = buy ? lime : red
barcolor(color=bcolor)

// trade
if (buy)
    strategy.entry("long", strategy.long)
if (sell)
    strategy.close("long")