Стратегия двойного временного отслеживания тенденций

Автор:Чао Чжан, Дата: 2023-12-15 13:46:47
Тэги:

img

Обзор

Эта стратегия использует двойные скользящие средние, настроенные на ежедневных и часовых графиках, для определения основного направления тренда на ежедневном графике и входа и выхода сделок на часовом графике. Она длится, когда ежедневный график указывает на восходящую тенденцию, а часовой график видит золотой крест, и закрывает позицию, когда ежедневный график показывает восходящую тенденцию, но часовой график видит смертельный крест. Эта конфигурация позволяет нам захватить краткосрочные и среднесрочные возможности, избегая воздействия краткосрочных колебаний рынка.

Логика стратегии

  1. Вычислить быструю и медленную линию EMA на дневном графике
  2. Определить тенденцию к росту, когда быстрая линия EMA пересекает линию медленной EMA
  3. Также вычислить быстрые и медленные линии EMA на часовом графике
  4. Пройти длинный курс, когда часовая быстрая EMA пересекает медленную EMA
  5. Закрыть позицию, когда часовая быстрая EMA пересекается ниже медленной EMA

Анализ преимуществ

Основными преимуществами этой конфигурации двойных временных рамок являются:

  1. Захват краткосрочных торговых возможностей в соответствии с основными тенденциями, повышение рентабельности
  2. Двойной EMA фильтр избегает шлемов
  3. Проводить сделки только при благоприятном фоне тренда, эффективно контролируя риск
  4. Объединение нескольких временных рамок улучшает точность принятия решений

Анализ рисков

Основными рисками этой стратегии являются:

  1. Неправильное определение основного тренда приводит к увеличению риска стоп-лосса
  2. Волатильное часовое движение цен может генерировать ложные сигналы
  3. Неправильная настройка параметров вызывает переоценку и сбои

Эти риски могут быть смягчены путем расширения уровней стоп-лосса, оптимизации параметров или добавления фильтров.

Руководство по оптимизации

Эта стратегия может быть дополнительно оптимизирована путем:

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

Заключение

Эта стратегия использует двойной анализ временных рамок для поимки краткосрочных и среднесрочных возможностей в рамках основных тенденций. Двойная конфигурация EMA фильтрует шум. Это обеспечивает солидную прибыльность при эффективном управлении рисками. Дальнейшие оптимизации могут сделать стратегию более надежной и эффективной для более широкого применения.


/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Dual Time Frame Strategy", overlay=true)

// Define Daily Time Frame Inputs
lenShort = input.int(20, title="Short EMA Length (Daily)", minval=1)
lenLong = input.int(50, title="Long EMA Length (Daily)", minval=1)

// Calculate EMAs on Daily Time Frame
emaShort_D = ta.ema(close, lenShort)
emaLong_D = ta.ema(close, lenLong)

// Define Hourly Time Frame Inputs
lenShort_H = input.int(10, title="Short EMA Length (Hourly)", minval=1)
lenLong_H = input.int(30, title="Long EMA Length (Hourly)", minval=1)

// Calculate EMAs on Hourly Time Frame
emaShort_H = ta.ema(close, lenShort_H)
emaLong_H = ta.ema(close, lenLong_H)

// Daily Time Frame Condition
dailyUpTrend = emaShort_D > emaLong_D

// Hourly Time Frame Condition
hourlyBuy = ta.crossover(emaShort_H, emaLong_H)
hourlySell = ta.crossunder(emaShort_H, emaLong_H)

// Strategy Entry and Exit Conditions
if (dailyUpTrend and hourlyBuy)
    strategy.entry("Buy", strategy.long)
    
if (dailyUpTrend and hourlySell)
    strategy.close("Buy")

// Plot EMAs for Daily and Hourly Time Frames
plot(emaShort_D, color=color.blue, title="Short EMA (Daily)")
plot(emaLong_D, color=color.red, title="Long EMA (Daily)")

plot(emaShort_H, color=color.green, title="Short EMA (Hourly)")
plot(emaLong_H, color=color.orange, title="Long EMA (Hourly)")


Больше