Торговая стратегия на основе пересечения скользящих средних TEMA
Данная стратегия использует пересечение двух линий индикатора TEMA с разными периодами для захвата ценового тренда среднесрочного периода. Индикатор TEMA эффективно отфильтровывает ценовой шум и идентифицирует развороты тренда.
Принцип стратегии:
-
Рассчитываются две скользящие средние TEMA: быстрая и медленная. Типичные параметры: быстрая — 5 периодов, медленная — 8 периодов.
-
Когда быстрая линия пересекает медленную снизу вверх, открывается длинная позиция.
-
Когда быстрая линия пересекает медленную сверху вниз, осуществляется закрытие короткой позиции.
-
Опционально добавляется фильтр по направлению тела свечи, чтобы избежать торговли против тренда.
-
Устанавливается период тестирования на исторических данных, моделируются торговые сигналы.
Преимущества стратегии:
-
Индикатор TEMA обладает сильным фильтрующим эффектом относительно ценового шума.
-
Сочетание быстрой и медленной TEMA позволяет захватывать среднесрочные тренды.
-
Фильтр направления предотвращает вход против тренда, что повышает вероятность успешной сделки.
Риски стратегии:
-
TEMA всё ещё имеет задержку, что может привести к пропуску оптимальной точки входа.
-
Требуется оптимизация комбинации параметров для достижения наилучшего соответствия.
-
На боковом рынке (флэте) сложно получать последовательные сигналы.
В целом, данная стратегия, основанная на пересечении двух TEMA, позволяет отслеживать тренд, эффективно фильтровать шум и повышать стабильность. Однако проблема задержки TEMA сохраняется, и требуется настройка параметров для адаптации к рыночному ритму.
/*backtest
start: 2022-09-11 00:00:00
end: 2023-09-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Tema",overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075)
startP = timestamp(input(2017, "Start Year"), input(12, "Start Month"), input(17, "Start Day"), 0, 0)
end = timestamp(input(9999, "End Year"), input(1, "End Month"), input(1, "End Day"), 0, 0)- 1
