EMA 추적 전략

저자:차오장, 날짜: 2024-01-24 14:27:37
태그:

img

전반적인 설명

EMA 추적 전략 (EMA tracking strategy) 은 트렌드를 추적하기 위해 EMA 지표를 사용하는 트렌드 전략이다. 가격의 EMA 값을 계산하고 비율 대역과 결합하여 가격 트렌드를 결정하고 거래 신호를 생성합니다.

전략 논리

이 전략의 핵심 지표는 EMA이다. EMA는 트렌드 추적 지표인 기하급수적인 이동 평균을 의미합니다. EMA는 역사적 가격과 설정된 기간을 기반으로 현재 평균 가격을 계산합니다. EMA는 또한 가격을 매끄럽게하는 효과를 가지고 있습니다.

이 전략은 먼저 가격의 50 기간 EMA 값을 주요 판단 지표로 계산합니다. 그 다음 EMA 값의 특정 비율을 기반으로 상부 및 하부 레일을 설정합니다. 여기서 EMA 값의 ±0.3%로 설정됩니다. 가격이 EMA의 상부 레일을 뚫을 때 구매 신호가 생성됩니다. 가격이 EMA의 하부 레일을 넘어갈 때 판매 신호가 생성됩니다. 이것은 EMA 사이클 내에서 트렌드 변화를 추적 할 수 있습니다.

이점 분석

  1. 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동
  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")

더 많은