Волны Эллиотта и стратегия следования за трендом Тома Демарка

EMA TD EW RSI
Дата создания: 2024-07-31 11:38:39 Последнее изменение: 2024-07-31 11:38:39
Копировать: 0 Количество просмотров: 904
1
Подписаться
1617
Подписчики

Волны Эллиотта и стратегия следования за трендом Тома Демарка

Обзор

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

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

  1. Эллиот:

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

    • Вычислите уровень обратной настройки 61.8% для Wave 2 и уровень обратной настройки 38.2% для Wave 4.
    • Эти уровни используются для определения потенциальной поддержки и сопротивления.
  3. Сигнал TD Sequential:

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

    • Когда TD Sequential дает три последовательных сигнала купить, а Wave 5 уже сформирована, вызывается многосигнал.
    • Когда TD Sequential три раза подряд дает сигнал продажи, а Wave 5 уже сформирована, запускается сигнал пустоты.
  5. Стоп-лосс и прибыль:

    • Стоп-лосс для многоторговли установлен на Wave 1, а цель на прибыль - на Wave 3.
    • Стоп-лосс для дефолтной торговли установлен на Wave 4, а цель на получение прибыли - на Wave 2.

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

  1. Мультииндикаторное слияние: объединение теории волн Эллиота и TD Sequential, повышение надежности сигнала.

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

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

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

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

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

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

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

  2. Отсталость: EMA и TD Sequential являются отсталыми индикаторами, что может привести к медленному реагированию при обратном тренде.

  3. Фальшивые прорывы: в криптовалютном рынке может быть несколько ложных прорывов, увеличивающих стоимость сделки.

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

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

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

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

  1. Изменение динамических параметров:

    • Реализация: автоматическая корректировка длины EMA и цикла TD Sequential в зависимости от волатильности рынка.
    • Причина: повышение адаптивности стратегии к различным рыночным условиям.
  2. Интегрированный анализ трафика:

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

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

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

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

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

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

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

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

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

Исходный код стратегии
/*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)