트리플 지수 이동 평균 장기 전략


생성 날짜: 2023-11-15 10:54:39 마지막으로 수정됨: 2023-11-15 10:54:39
복사: 0 클릭수: 619
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

트리플 지수 이동 평균 장기 전략

개요

트리플 엑스포네니셜 이동 평균 긴 유일한 전략 (Triple Exponential Moving Average Long Only Strategy) 은 트리플 엑스포네니셜 이동 평균을 기반으로 거래 신호를 제공하는 긴 전략이다. 이 전략은 세 개의 서로 다른 기간의 EMA를 계산하고, TEMA 지표로 변환하여, 단기 시장 소음을 제거하여, 중장기 트렌드 방향을 식별한다. 가격이 TEMA를 통과할 때 더 많은 것을하고, TEMA를 통과할 때 평소한다. 이 전략은 중장기 트렌드를 거래하려는 투자자에게 적합하다.

전략 원칙

이 전략은 TEMA 기술 지표를 통해 중장선 트렌드를 식별한다. TEMA 지표는 EMA 지수 이동 평균에 대해 3배 평준화 후 얻은 트렌드 지표이다. EMA 지표 자체는 가격에 일정하게 파동 작용한다.

구체적으로, 이 전략은 먼저 fastEmaPeriod 주기의 EMA 지수 ema1을 계산하고, 그 다음에는 ema1을 기반으로 동기기ema2를 계산하고, 마지막으로 ema2를 기반으로 ema3을 계산한다. 최종 TEMA 지수는:TEMA = 3 * (ema1 - ema2) + ema3의 공식에 따라 계산된다. 가격이 TEMA를 넘으면, 더 많이; 가격이 TEMA를 넘으면, 평점.

다중 지수 평준화를 통해 TEMA 지표는 반복되는 중장선 트렌드 방향을 효과적으로 식별하고, 거래에 대한 단기간의 잡음을 제거하여 공허의 장선 거래 전략에 적합합니다.

전략적 강점 분석

  • TEMA 지표를 사용하면 중장선 트렌드를 효과적으로 식별하고, 단기간의 노이즈 방해를 제거하고, 을 피한다.

  • 공백을 하지 않는 것 만으로도 공백으로 인한 무한 손실 위험을 피할 수 있습니다.

  • 백분율 포지션 관리, 계좌 자금에 따라 포지션 크기를 유연하게 조정할 수 있으며, 위험을 제어한다.

  • 시간 창 설정은 지정된 역사 기간을 재검토하고, 정책 파라미터를 최적화할 수 있다.

전략적 위험 분석

  • 장선 지주들은 주요 블랙 스 사건으로 인해 급격한 전환으로 인해 큰 손실을 입을 수 있습니다.

  • TEMA 지표는 트렌드 전환점이 실패했을 때, 적시에 손실을 멈출 기회를 놓칠 수 있다.

  • 단위 손실의 크기를 제한할 수 없는 지분 포지션으로, 손실을 막는 것을 통해 위험을 통제할 수 있다.

  • 리포트에는 과적합의 위험이 있으며, 매개 변수 최적화는 반드시 미래 시장에 적합하지 않다.

전략 최적화 방향

  • 변동률 지표 최적화 매개 변수와 결합하여 매개 변수의 안정성을 높인다.

  • 단편적 손실을 통제하기 위해 손실을 막는 전략을 추가하십시오.

  • 포지션 관리를 최적화하고, 철수할 때 포지션을 낮추는 것.

  • 트렌드 판단의 정확성을 높이기 위해 시간 주기를 가로질러 트렌드 지표를 추가합니다.

  • 다양한 포지션 주기 변수를 테스트하여 최적의 포지션周期을 찾습니다.

요약하다

요약하자면, 이 트리플 지수 이동 평균 긴 전략은 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 )