
Двухуровневая линия TEMA - это количественная торговая стратегия, которая генерирует сделки, основанные на трехзначных скользящих средних (TEMA) скрещивающих сигналов двух разных периодов. Эта стратегия используется для выявления краткосрочных тенденций на волатильных рынках, сравнивая взаимное положение двух линий TEMA.
Ключевым элементом стратегии TEMA является построение TEMA-линий с двумя различными циклами. TEMA является улучшением к EMA (индексовая скользящая средняя), рассчитываемая путем повторного выполнения EMA по EMA, которая имеет меньшую задержку по сравнению с EMA и SMA (простая скользящая средняя), более близко к движению цен и более чувствительна к краткосрочным тенденциям.
Стратегия генерирует торговый сигнал, сравнивая позиционные отношения между короткой и длинной линиями 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)