
TEMA 쌍평평선 교차전략은 두 개의 다른 주기의 트리플 지수 이동 평균 ((TEMA) 교차 신호를 기반으로 거래를 생성하는 양적 거래 전략이다. 이 전략은 두 개의 TEMA 라인의 상대적 위치를 비교하여, 단기 TEMA 라인을 가로질러 긴 TEMA 라인을 가로질러 포지션을 열 때 더 많이 하고, 단기 TEMA 라인을 가로질러 긴 TEMA 라인을 가로질러 포지션을 열 때 공백하고, 반대 교차 신호가 발생했을 때 평소한다. 이 전략은 불안한 시장에서 단기 트렌드를 포착하는 데 적합하다.
TEMA 쌍평평선 교차전략의 핵심은 두 개의 다른 주기의 TEMA 선을 구축하는 것이다. TEMA는 EMA (인덱스 이동 평균) 에 대한 개선이며, EMA의 EMA를 다시 한 번 EMA로 계산하여, EMA와 SMA (단순 이동 평균) 에 비해 지연성이 적고, 가격 움직임에 더 가깝고, 단기 트렌드에 더 민감하다.
전략은 단기 TEMA 라인과 장기 TEMA 라인의 위치 관계를 비교하여 거래 신호를 생성한다:
두 개의 다른 주기의 TEMA 선의 교차 신호를 통해 포지션을 개시하고 평화 포지션을 설정하여 흔들리는 시장에서 단기 가격 추세를 잡을 수 있습니다.
TEMA 쌍평평선 교차 전략은 간단한 사용 가능한 양적 거래 전략으로, 두 개의 다른 주기의 TEMA 지표 교차 신호를 통해 단기 가격 경향을 포착한다. 이 전략은 논리적으로 명확하며, 불안정한 시장에서 사용하기에 적합하다. 그러나 이 전략에는 빈번한 거래, 가짜 신호 및 극단적인 행동 위험 등과 같은 위험이 있습니다.
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('2 TEMA Cross Strategy', shorttitle='2 TEMA Cross Strat', overlay=true, initial_capital=25000, currency=currency.USD)
//My backtesting showed best results on a 5 min chart
//Create 2 TEMA Input and pre-populate
len1 = input.int(9, minval=1, title='Length 1')
len2 = input.int(26, minval=2, title='Length 2')
//Calculate Tema values for each Input
//Tema 1
ema1 = ta.ema(close, len1)
ema11 = ta.ema(ema1, len1)
ema111 = ta.ema(ema11, len1)
tema1 = 3 * (ema1 - ema11) + ema111
//Tema 2
ema2 = ta.ema(close, len2)
ema22 = ta.ema(ema2, len2)
ema222 = ta.ema(ema22, len2)
tema2 = 3 * (ema2 - ema22) + ema222
//Plot the MAs
plot(tema1, color=color.new(color.black, 20))
plot(tema2, color=color.new(color.maroon, 20))
// Define long/short conditions
long = ta.crossover(tema1, tema2) and tema1 > tema2
short = ta.crossunder(tema1, tema2) and tema1 < tema2
exitLong = ta.crossunder(tema1, tema2)
exitShort = ta.cross(tema1, tema2)
// Buys when buy condition met
strategy.entry('long', strategy.long, when=long)
strategy.close('long', when=exitLong)
// Closes position when sell condition met
strategy.entry('short', strategy.short, when=short)
strategy.close('short', when=exitShort)