В процессе загрузки ресурсов... загрузка...

Elliott Wave и Tom DeMark Стратегия торговли в соответствии с трендом

Автор:Чао Чжан, Дата: 2024-07-31 11:38:39
Тэги:ЕМАTDЭВРСИ

img

Обзор

Эта стратегия сочетает в себе теорию волн Эллиота и последовательный индикатор Тома ДеМарка для улавливания рыночных тенденций и выполнения сделок в подходящие моменты. Она использует экспоненциальную скользящую среднюю (EMA) для выявления волн и использует уровни ретракции Фибоначчи для определения ключевых уровней поддержки и сопротивления. Одновременно она использует последовательный индикатор TD для подтверждения торговых сигналов, особенно когда возникают три последовательных сигнала покупки или продажи.

Принципы стратегии

  1. Идентификация волны Эллиота:

    • Использует 21-периодическую ЭМА в качестве базовой для идентификации волны.
    • Это знаменует собой начало новой волны, когда цена пересекает EMA.
    • Записывает пять основных точек волны: волна 1, волна 2, волна 3, волна 4 и волна 5.
  2. Фибоначчи ретрассемент:

    • Вычисляет уровень ретраксерации 61,8% для Второй волны и 38,2% для Второй волны.
    • Эти уровни используются для определения потенциальных зон поддержки и сопротивления.
  3. TD последовательные сигналы:

    • Использует по умолчанию 9 периодов для TD Sequential.
    • Формирует сигнал продажи, когда цена закрывается выше, чем 4 периода назад в течение 9 последовательных периодов.
    • Формирует сигнал покупки, когда цена закрывается ниже, чем 4 периода назад в течение 9 последовательных периодов.
  4. Производство торговых сигналов:

    • Запускает длинный сигнал, когда TD Sequential дает 3 последовательных сигнала покупки и волна 5 сформирована.
    • Запускает короткий сигнал, когда TD Sequential дает 3 последовательных сигнала продажи и волна 5 сформирована.
  5. Прекратить потерю и получать прибыль:

    • Установка стоп-лосса на волне 1 и прибыль на волне 3 для длинных сделок.
    • Установка стоп-лосса на волне 4 и прибыль на волне 2 для коротких сделок.

Преимущества стратегии

  1. Интеграция с несколькими индикаторами: объединяет теорию волн Эллиота и последовательный индикатор TD, повышая надежность сигнала.

  2. Следование за тенденциями: эффективно отслеживает рыночные тенденции с помощью идентификации волн и использования EMA.

  3. Управление рисками: обеспечивает четкую структуру управления рисками с использованием ключевых точек волны в качестве целей остановки потерь и прибыли.

  4. Подтверждение сигнала: требует трех последовательных идентичных сигналов от TD Sequential, что уменьшает влияние ложных сигналов.

  5. Приспособляемость: может быть адаптирована к различным рыночным условиям и торговым инструментам с помощью настроек параметров.

  6. Объективность: основана на четких технических показателях и правилах, уменьшая предвзятость субъективного суждения.

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

  1. Чрезмерная зависимость от технических показателей: может игнорировать фундаментальные факторы в определенных рыночных условиях.

  2. Отставание: как EMA, так и TD Sequential являются отстающими показателями, которые могут привести к медленной реакции на изменение тренда.

  3. Ложные прорывы: могут генерировать несколько ложных сигналов прорыва на рынках с диапазоном, увеличивая стоимость торговли.

  4. Чувствительность параметров: эффективность стратегии может быть очень чувствительна к выбору длины EMA и последовательного периода TD.

  5. Сложность: объединение нескольких индикаторов может сделать стратегию сложной, увеличивая риск чрезмерной адаптации.

  6. Зависимость от рыночных условий: может работать лучше на рынках с сильным трендом, но потенциально неэффективно на нестабильных рынках.

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

  1. Динамическая регулировка параметров:

    • Использование: автоматически корректировать длину EMA и последовательный период TD на основе волатильности рынка.
    • Причина: улучшение адаптивности стратегии к различным рыночным условиям.
  2. Включите анализ объема:

    • Внедрение: учитывать показатели объема в процессе генерации сигнала.
    • Причина: повышение надежности подтверждения тренда и сокращение ложных прорывов.
  3. Введите фильтр волатильности:

    • Использование: Сокращение или приостановка торговли в периоды низкой волатильности.
    • Причина: избегать частой торговли на рынках с ограниченным диапазоном, снижая затраты.
  4. Оптимизируйте стратегию стоп-лосса:

    • Использование: Использование динамических стоп-потерь, таких как ATR (средний истинный диапазон) или процентные стопы волатильности.
    • Причина: лучше адаптироваться к волатильности рынка и защитить прибыль.
  5. Добавить фильтр времени:

    • Использование: учитывать факторы времени рынка, избегая периодов высокой волатильности.
    • Причина: снижение рисков, связанных с торговлей в неблагоприятные периоды времени.
  6. Анализ многочасовых рамок:

    • Использование: подтверждение направления тренда в более короткие сроки перед началом торговли.
    • Причина: улучшение качества торговых сигналов и сокращение контратендентных сделок.

Заключение

Elliott Wave и Tom DeMark Trend-Following Trading Strategy - это комплексный метод технического анализа, который умно сочетает в себе теорию волн, тенденции и индикаторы импульса.

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

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


/*backtest
start: 2024-06-30 00:00:00
end: 2024-07-30 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Elliott Wave and Tom DeMark Strategy", overlay=true)

// Tom DeMark Sequential Settings
td_length = input(9, title="TD Sequential Length")

// Tom DeMark Sequential
var int tdUpCount = 0
var int tdDownCount = 0

if close > close[4]
    tdUpCount := na(tdUpCount) ? 1 : tdUpCount + 1
    tdDownCount := 0
else if close < close[4]
    tdDownCount := na(tdDownCount) ? 1 : tdDownCount + 1
    tdUpCount := 0
else
    tdUpCount := 0
    tdDownCount := 0

tdBuySetup = (tdDownCount == td_length)
tdSellSetup = (tdUpCount == td_length)

plotshape(series=tdBuySetup, title="TD Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=tdSellSetup, title="TD Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Elliott Wave Settings
wave_length = input(21, title="EMA Length for Wave Identification")
ema = ta.ema(close, wave_length)
var int wave_trend = na

wave_trend := ta.crossover(close, ema) ? 1 : ta.crossunder(close, ema) ? -1 : nz(wave_trend[1])

var float wave1 = na
var float wave2 = na
var float wave3 = na
var float wave4 = na
var float wave5 = na

wave1 := ta.valuewhen(wave_trend == 1, close, 0)
wave2 := ta.valuewhen(wave_trend == -1, close, 0)
wave3 := ta.valuewhen(wave_trend == 1, close, 0)
wave4 := ta.valuewhen(wave_trend == -1, close, 0)
wave5 := ta.valuewhen(wave_trend == 1, close, 0)

fibonacciRetracement(level, waveStart, waveEnd) =>
    waveStart + (waveEnd - waveStart) * level

wave2Fib = fibonacciRetracement(0.618, wave1, wave2)
wave4Fib = fibonacciRetracement(0.382, wave3, wave4)

plot(wave1, title="Wave 1", color=color.blue, linewidth=2)
plot(wave2, title="Wave 2", color=color.blue, linewidth=2)
plot(wave3, title="Wave 3", color=color.blue, linewidth=2)
plot(wave4, title="Wave 4", color=color.blue, linewidth=2)
plot(wave5, title="Wave 5", color=color.blue, linewidth=2)

plot(wave2Fib, title="Wave 2 Fib", color=color.yellow, linewidth=2)
plot(wave4Fib, title="Wave 4 Fib", color=color.yellow, linewidth=2)

// Strategy Conditions
if (tdUpCount == td_length * 3 and not na(wave5))
    strategy.entry("Buy", strategy.long)

if (tdDownCount == td_length * 3 and not na(wave5))
    strategy.entry("Sell", strategy.short)

// Stop Loss and Take Profit
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=wave3, stop=wave1)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", limit=wave2, stop=wave4)


Связанные

Больше