T3 지표에 기초한 거래 전략을 따르는 경향

저자:차오장, 날짜: 2024-01-18 16:21:40
태그:

img

전략 개요

이 전략은 T3 이동 평균 지표에 기반한 트렌드 다음 거래 시스템을 설계합니다. 가격 트렌드의 방향을 자동으로 식별하고 그에 따른 긴 또는 짧은 포지션을 취할 수 있습니다. 가격이 상승하면 길고 가격이 하락하면 짧습니다. 이 시스템은 또한 반전 거래 기능을 가지고 있습니다.

전략 논리

이 전략은 가격 트렌드의 방향을 결정하기 위해 T3 지표를 사용합니다. T3 지표는 가격 변화에 더 빠르게 반응할 수있는 더 높은 감수성을 가진 적응 이동 평균입니다. 계산 공식은:

T3 (n) = GD (n)

여기서 GD는 일반화된 DEMA (Double Exponential Moving Average) 를 나타냅니다.

GD (n,v) = EMA (n) * (1+v) -EMA (n) * v

v는 선형 가격 트렌드에 대한 이동 평균의 반응의 민감도를 결정하는 볼륨 인수입니다. v=0일 때 GD=EMA; v=1일 때 GD=DEMA. 저자는 v=0.7을 설정하는 것을 제안합니다.

전략은 T3 지표를 가격과 비교합니다. T3가 가격 이상으로 넘으면 상승 가격 추세를 결정하고 길게 갈 수 있습니다. T3가 가격 아래로 넘으면 하락 가격 추세를 결정하고 짧게 갈 수 있습니다.

장점

  • 가격 트렌드 변화에 민감한 적응형 이동 평균 T3 지표를 사용합니다.
  • 자동으로 가격 트렌드 방향을 결정, 수동 판단 필요 없습니다
  • 설정 가능한 리버스 거래, 시장 변화에 적응할 수 있는 유연성

위험성

  • T3 지표는 범위에 묶인 통합 중 트렌드 방향을 결정하는 데 어려움을 겪을 수 있습니다.
  • 적응적인 이동 평균 지표는 잘못된 신호를 생성하는 경향이 있습니다.
  • 리버스 거래의 위험 통제는 신중해야 합니다.

이것은 T3 매개 변수를 조정하거나 필터레이션을 위한 다른 지표를 추가하거나 단일 손실을 제어하기 위해 Stop Loss를 설정함으로써 완화될 수 있다.

최적화 방향

  • 필터링을 위해 MACD, RSI 등과 같은 다른 지표를 추가합니다.
  • 추세 판단 규칙을 추가하여 옆 시장에서 잘못된 거래를 피합니다.
  • 매개 변수를 최적화, 더 나은 매개 변수 조합을 위해 v 값을 조정
  • 스톱 손실 논리를 추가합니다.

요약

이 전략은 수동 판단의 필요없이 T3 지표를 통해 자동으로 가격 트렌드 방향을 결정하고 자동으로 길거나 짧을 수 있습니다. 또한 더 복잡한 시장 상황에 대처하기 위해 반전 거래로 구성 될 수 있습니다. 전략이 더 잘 수행되도록 매개 변수, 거래 논리 등을 최적화하는 공간이 있습니다.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.00 29/11/2017
// This indicator plots the moving average described in the January, 1998 issue
// of S&C, p.57, "Smoothing Techniques for More Accurate Signals", by Tim Tillson.
// This indicator plots T3 moving average presented in Figure 4 in the article.
// T3 indicator is a moving average which is calculated according to formula:
//     T3(n) = GD(GD(GD(n))),
// where GD - generalized DEMA (Double EMA) and calculating according to this:
//     GD(n,v) = EMA(n) * (1+v)-EMA(EMA(n)) * v,
// where "v" is volume factor, which determines how hot the moving average’s response
// to linear trends will be. The author advises to use v=0.7.
// When v = 0, GD = EMA, and when v = 1, GD = DEMA. In between, GD is a less aggressive
// version of DEMA. By using a value for v less than1, trader cure the multiple DEMA
// overshoot problem but at the cost of accepting some additional phase delay.
// In filter theory terminology, T3 is a six-pole nonlinear Kalman filter. Kalman
// filters are ones that use the error — in this case, (time series - EMA(n)) — 
// to correct themselves. In the realm of technical analysis, these are called adaptive
// moving averages; they track the time series more aggres-sively when it is making large
// moves. Tim Tillson is a software project manager at Hewlett-Packard, with degrees in
// mathematics and computer science. He has privately traded options and equities for 15 years.   
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="T3 Averages", shorttitle="T3", overlay = true)
Length = input(5, minval=1)
b = input(0.7, minval=0.01,step=0.01) 
reverse = input(false, title="Trade reverse")
xPrice = close
xe1 = ema(xPrice, Length)
xe2 = ema(xe1, Length)
xe3 = ema(xe2, Length)
xe4 = ema(xe3, Length)
xe5 = ema(xe4, Length)
xe6 = ema(xe5, Length)
c1 = -b*b*b
c2 = 3*b*b+3*b*b*b
c3 = -6*b*b-3*b-3*b*b*b
c4 = 1+3*b+b*b*b+3*b*b
nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3
pos = iff(nT3Average > close, -1,
       iff(nT3Average < close, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )  
plot(nT3Average, color=blue, title="T3")

더 많은