Стратегия Triple EMA и Fisher Transform Trend Momentum

TEMA EMA Fisher Transform Zero Line SMA
Дата создания: 2025-02-20 17:41:02 Последнее изменение: 2025-02-20 17:41:02
Копировать: 2 Количество просмотров: 415
2
Подписаться
319
Подписчики

Стратегия Triple EMA и Fisher Transform Trend Momentum Стратегия Triple EMA и Fisher Transform Trend Momentum

Обзор

Эта стратегия объединяет в себе два технических показателя, ТРИМИ (Triple Index Moving Average - ТЕМА) и Fisher Transform, для определения времени входа и выхода, путем идентификации трендов и динамических сигналов. ТЕМА, как индикатор, отслеживающий тенденции с низкой задержкой, эффективно идентифицирует направление тенденции рынка, а Fisher Transform предоставляет более четкие динамические сигналы, преобразуя изменения цены в нормальное распределение Gaussian.

Стратегический принцип

Основная логика стратегии основана на двух основных показателях:

  1. Индекс TEMA использует метод вычисления тройной индексной подвижной средней, снижая задержку традиционной подвижной средней с формулой “3×EMA - 3×EMA ((EMA) + EMA ((EMA)) ” с по умолчанию 21 циклом.
  2. Показатель Fisher Transform преобразует данные о ценах в нормальное распределение с параметром 10, используя после стандартизированной обработки высоких и низких цены логическое преобразование, чтобы сделать сигнал более четким.

Правила торговли следующие:

  • Многоусловность: цены на линии TEMA и на оси 0 на преобразовании Fisher
  • Условия: цена проходит по линии TEMA и по оси 0 по преобразованию Fisher
  • Многоодиночное выступление: цены вниз по линии TEMA или вниз по оси 0 в соответствии с Fisher Transform
  • Пустые билеты: цены на линии TEMA или на оси 0 на Fisher Transform

Стратегические преимущества

  1. Высокая надежность сигнала: эффективное отфильтрование ложных сигналов с помощью комбинации трендовых и динамических показателей
  2. Низкая задержка: TEMA имеет более быструю скорость отклика по сравнению с традиционной мобильной средней
  3. Сигнал ясен: нормальное распределение Fisher Transform делает торговый сигнал более ясным
  4. Управление рисками: четкие ограничения на убытки
  5. Настраиваемые параметры: параметры индикатора могут быть изменены в зависимости от различных рыночных условий
  6. Хорошая визуализация: четкое отображение графики

Стратегический риск

  1. Риск волатильности рынка: на боковом рынке могут возникать частые ложные сигналы прорыва.
  2. Риск отставания: несмотря на то, что TEMA снижает отставание, существует определенная степень промедления
  3. Чувствительность параметров: различные настройки параметров могут привести к большим различиям в эффективности стратегии.
  4. Зависимость от рыночной конъюнктуры: стратегии лучше работают на рынках с заметной тенденцией

Направление оптимизации стратегии

  1. Введение фильтра волатильности: можно добавить фильтр ATR на торговый сигнал в условиях низкой волатильности
  2. Оптимизация механизмов выхода из игры: можно рассмотреть возможность включения механизмов мобильного остановки или защиты прибыли
  3. Дополнительная временная фильтрация: возможность корректировки стратегии торговли в зависимости от рыночных особенностей в разные периоды времени
  4. Добавление подтверждения загрузки: повышение надежности сигнала в сочетании с загрузкой
  5. Динамическая оптимизация параметров: динамическая корректировка параметров показателя в зависимости от состояния рынка

Подвести итог

Это целостная торговая стратегия, объединяющая трендовый и динамический анализ. Используемая в сочетании с TEMA и Fisher Transform, она гарантирует способность отслеживать тренды и обеспечивает четкие сигналы подтверждения динамики. Стратегия разработана разумно, имеет хорошую практичность, но в практическом применении требуется обратить внимание на адаптацию к рыночной среде и оптимизировать параметры в соответствии с конкретными обстоятельствами.

Исходный код стратегии
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-19 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Triple EMA (TEMA) + Fisher Transform Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ==== Triple EMA (TEMA) Settings ====
temaLength = input.int(21, title="TEMA Length", minval=1)

// Implementácia Triple EMA (TEMA)
// TEMA = 3 * EMA(close, length) - 3 * EMA(EMA(close, length), length) + EMA(EMA(EMA(close, length), length), length)
ema1 = ta.ema(close, temaLength)
ema2 = ta.ema(ema1, temaLength)
ema3 = ta.ema(ema2, temaLength)
tema = 3 * ema1 - 3 * ema2 + ema3
plot(tema, color=color.blue, title="TEMA")

// ==== Fisher Transform Settings ====
fisherLength = input.int(10, title="Fisher Length", minval=1)
fisherSmooth = input.int(1, title="Fisher Smoothing", minval=1)  // Zvyčajne sa používa 1 alebo 2

// Výpočet Fisher Transform
// Krok 1: Normalizácia ceny
price = (high + low) / 2
maxPrice = ta.highest(price, fisherLength)
minPrice = ta.lowest(price, fisherLength)
value = 0.5 * (2 * ((price - minPrice) / (maxPrice - minPrice)) - 1)
value := math.min(math.max(value, -0.999), 0.999)  // Orezanie hodnoty pre stabilitu

// Krok 2: Výpočet Fisher Transform
var float fisher = na
fisher := 0.5 * math.log((1 + value) / (1 - value)) + 0.5 * nz(fisher[1])
fisher := fisherSmooth > 1 ? ta.sma(fisher, fisherSmooth) : fisher
plot(fisher, color=color.red, title="Fisher Transform", linewidth=2)

// ==== Strategie Podmienky ====
 // Long Condition: Cena prekročí TEMA smerom nahor a Fisher Transform prekročí 0 smerom nahor
longCondition = ta.crossover(close, tema) and ta.crossover(fisher, 0)
if (longCondition)
    strategy.entry("Long", strategy.long)

 // Short Condition: Cena prekročí TEMA smerom nadol a Fisher Transform prekročí 0 smerom nadol
shortCondition = ta.crossunder(close, tema) and ta.crossunder(fisher, 0)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Exit Long Condition: Cena prekročí TEMA smerom nadol alebo Fisher Transform prekročí 0 smerom nadol
exitLong = ta.crossunder(close, tema) or ta.crossunder(fisher, 0)
if (exitLong)
    strategy.close("Long")

// Exit Short Condition: Cena prekročí TEMA smerom nahor alebo Fisher Transform prekročí 0 smerom nahor
exitShort = ta.crossover(close, tema) or ta.crossover(fisher, 0)
if (exitShort)
    strategy.close("Short")

// ==== Voliteľné: Vykreslenie Zero Line pre Fisher Transform ====
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)