삼배 기하급수적 이동 평균 길게만 전략

저자:차오장, 날짜: 2023-11-15 10:54:39
태그:

img

전반적인 설명

트리플 익스포넌셜 모닝 오브레어 롱 오너 전략은 트리플 익스포넌셜 모닝 오브레어 (TEMA) 인디케이터를 기반으로 한 장기 트렌드 다음 전략이다. 그것은 TEMA를 사용하여 단기 시장 소음을 필터링하고 중장기 트렌드 방향을 식별합니다. 가격은 TEMA를 넘어서면 전략이 길어지고 가격이 TEMA 아래로 떨어지면 종료됩니다. 중장기 트렌드 거래에 관심이있는 투자자에게 적합합니다.

전략 논리

이 전략은 TEMA 지표를 사용하여 중장기 트렌드를 식별합니다. TEMA는 표준 EMA의 세 배 지수 평형화에서 파생된 평형 트렌드 지표입니다. EMA 자체는 약간의 노이즈 필터링 효과를 가지고 있습니다. TEMA는 다른 기간의 세 개의 EMA를 평평화함으로써 단기 노이즈를 더욱 감소시킵니다.

구체적으로, 전략은 먼저 기간 fastEmaPeriod의 EMA (ema1) 를 계산하고, 그 다음 같은 기간을 사용하여 ema1의 다른 EMA (ema2) 를 계산하고, 마지막으로 ema2를 기반으로 ema3를 계산합니다. 최종 TEMA는: TEMA = 3 * (ema1 - ema2) + ema3로 계산됩니다. 가격이 TEMA를 넘어서면 전략은 길고 가격이 TEMA를 넘어서면 종료됩니다.

다중 기하급수 평형을 통해 TEMA는 지그자그 및 역전에도 불구하고 중장기 트렌드 방향을 효과적으로 식별하여 단기 잡음을 필터링 할 수 있습니다. 따라서 장기적인 트렌드 다음 전략에 적합합니다.

이점 분석

  • TEMA는 중장기 동향을 효과적으로 파악하고 단기 소음을 필터링하여 화이프사를 피합니다.

  • 단지 긴 포지션만이 제한 없는 하락위험을 피할 수 있습니다.

  • 포지션 크기의 비율은 리스크 통제를 위해 계좌 크기에 따라 포지션을 유연하게 크게 합니다.

  • 타임 윈도우 백테스팅은 특정 역사적 기간에 대한 매개 변수를 최적화합니다.

위험 분석

  • 심각한 블랙 스완 사건은 장기간 유지 기간 동안 급격한 반전을 일으킬 수 있으며 큰 손실로 이어질 수 있습니다.

  • TEMA는 트렌드 변경을 신호하지 않을 수 있습니다.

  • % 크기는 거래당 손실 크기를 제한하지 않으며 정지해야 합니다.

  • 백테스팅은 너무 적합할 위험이 있고 최적화된 매개 변수는 미래의 시장에 적합하지 않을 수 있습니다.

개선 방향

  • 변동성 메트릭을 추가해서 매개 변수를 강화해

  • 단일 거래 손실 크기를 제어하기 위해 스톱 손실을 구현하십시오.

  • 지점 크기를 최적화하여 마감 기간 동안 크기를 줄이십시오.

  • 트렌드 정확성을 높이기 위해 크로스 타임프레임 트렌드 지표를 추가합니다.

  • 다양한 유지 기간 매개 변수를 테스트하여 최적을 얻습니다.

결론

요약하자면, 트리플 EMA 롱 오너 전략은 TEMA 지표를 통해 트렌드 방향을 파악하고, 단기 소음을 피하기 위해 장기 포지션을 보유하고, 제한없는 하향을 피하기 위해 오래 머물며, 중장기 트렌드를 효과적으로 잡습니다. 그러나 안정성을 향상시키기 위해 최적화를 필요로하는 위험이 있습니다. 전반적으로 트렌드 거래를 선호하는 어느 정도의 위험 관용을 가진 투자자에게 적합합니다.


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("TEMA_System_long_only", overlay=true)

//Collect inputs parameters

fastEmaPeriod = input(7, minval=1, title="Fast TEMA Period")

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 4, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2010, title = "From Year", minval = 2000)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2000)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

fastEma = ema(close, fastEmaPeriod)

//convert EMA into TEMA

ema1 = ema(close, fastEmaPeriod)
ema2 = ema(ema1, fastEmaPeriod)
ema3 = ema(ema2, fastEmaPeriod)

fastTEMA = 3 * (ema1 - ema2) + ema3


buy  = close > fastTEMA
sell = close < fastTEMA

plot(fastTEMA, title = 'TEMA', linewidth=3, color=white)

if window()
    strategy.entry("long",strategy.long, when = buy)
    strategy.close("long", when = sell )

더 많은