이중 및 삼중 기하급수적 이동 평균 교차 전략

저자:차오장, 날짜: 2024-01-03 16:47:08
태그:

img

I. 전략 개요

이 전략은 듀얼 및 트리플 기하급수적인 이동 평균 크로스오버 전략이라고 불립니다. 입출구를 결정하기 위해 듀얼 기하급수적 이동 평균 (DEMA) 및 트리플 기하급수적 이동 평균 (TEMA) 의 크로스오버 신호를 결합합니다.

II. 전략 논리

이 전략은 주로 트레이딩 신호를 생성하기 위해 듀얼 익스포넌셜 이동 평균 (DEMA) 과 트리플 익스포넌셜 이동 평균 (TEMA) 의 크로스오버를 사용합니다.

DEMA의 공식은

DEMA = 2*EMA1 - EMA2

여기서 EMA1과 EMA2는 N 기간의 기하급수적인 이동 평균입니다. DEMA는 EMA의 부드러움과 반응성을 결합합니다.

TEMA의 공식은

TEMA = 3*(EMA1 - EMA2) + EMA3

여기서 EMA1, EMA2 및 EMA3는 기간 N의 기하급수적인 이동 평균입니다. TEMA는 세 배 평평화로 가짜 브레이크오프를 필터링합니다.

DEMA가 TEMA를 넘을 때 구매 신호가 생성됩니다. DEMA가 TEMA를 넘을 때 판매 신호가 생성됩니다. 크로스오버 원칙에 따라 주기 변환을 적시에 캡처 할 수 있습니다.

III. 장점

  1. DEMA와 TEMA 모두 EMA를 최적화하여 거래 정확성을 향상시킵니다.
  2. DEMA는 가격 변화를 부드럽게 하고, TEMA는 가짜를 필터링하여 시너지를 형성하고 승률을 향상시킵니다.
  3. 빠른 DEMA와 느린 TEMA를 결합하면 크로스오버 신호가 더 신뢰할 수 있습니다.
  4. 크로스오버 원칙에 기초한 순환 회로 적시에 포착

IV. 위험 과 해결책

  1. 변동성 상태에서 빈번하게 교차하면 잘못된 신호가 발생합니다.
  2. 부적절한 매개 변수 설정은 신호 품질에 영향을 미칩니다. 매개 변수 최적화가 필요합니다.
  3. 근본적인 검증이 부족합니다. 다른 지표나 모델이 도움이 될 수 있습니다.

V. 최적화

  1. 가장 좋은 조합을 찾기 위해 DEMA와 TEMA의 매개 변수를 테스트하고 최적화합니다.
  2. 필터링을 위한 다른 기술적 지표, 예를 들어 트렌드를 위한 KDJ를 추가합니다.
  3. 신호를 검증하고 잘못된 신호를 줄이기 위해 기계 학습 예측을 추가합니다.
  4. 트레이딩 볼륨이나 감동을 확인해 실제 크로스오버나 가짜 크로스오버를 판단하세요.

VI. 요약

이 전략은 DEMA와 TEMA의 크로스오버에서 거래 신호를 생성하여 정확성을 향상시키기 위해 DEMA의 반응성과 TEMA의 필터링 기능을 결합합니다. 그러나 단일 지표 조합은 착각에 시달립니다. 장기적인 안정적인 이익을 위해 체계적인 거래 시스템을 형성하기 위해 멀티 검증 도구가 여전히 필요합니다.


/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("DEMA-TEMA Cross Strategy", shorttitle="DEMA-TEMA Cross", overlay=true)

// Input options for Double EMA (DEMA)
dema_length = input.int(10, title="DEMA Length", minval=1)
dema_src = input(close, title="DEMA Source")

// Calculate Double EMA (DEMA)
dema_e1 = ta.ema(dema_src, dema_length)
dema_e2 = ta.ema(dema_e1, dema_length)
dema = 2 * dema_e1 - dema_e2

// Input options for Triple EMA (TEMA)
tema_length = input.int(8, title="TEMA Length", minval=1)
tema_src = input(close, title="TEMA Source")

// Calculate Triple EMA (TEMA)
tema_ema1 = ta.ema(tema_src, tema_length)
tema_ema2 = ta.ema(tema_ema1, tema_length)
tema_ema3 = ta.ema(tema_ema2, tema_length)
tema = 3 * (tema_ema1 - tema_ema2) + tema_ema3

// Crossover signals for long (small green arrow below candle)
crossover_long = ta.crossover(dema, tema)

// Crossunder signals for short (small red arrow above candle)
crossunder_short = ta.crossunder(dema, tema)

plotshape(crossunder_short ? 1 : na, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
plotshape(crossover_long ? -1 : na, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

plot(dema, "DEMA", color=color.green)
plot(tema, "TEMA", color=color.blue)

if (crossover_long)
    strategy.entry("Long", strategy.long)

if (crossunder_short)
    strategy.entry("Short", strategy.short)


더 많은