Дневные максимумы и минимумы в сочетании с количественной торговой стратегией тренда EMA с несколькими таймфреймами

EMA MA
Дата создания: 2024-11-28 15:20:59 Последнее изменение: 2024-11-28 15:20:59
Копировать: 1 Количество просмотров: 487
1
Подписаться
1617
Подписчики

Дневные максимумы и минимумы в сочетании с количественной торговой стратегией тренда EMA с несколькими таймфреймами

Обзор

Это количественная торговая стратегия, объединяющая прорывы вверх-вниз в часовой линии и многовременные EMA-тенденции. Стратегия используется для определения времени торговли, в основном путем мониторинга прорыва цены вверх-вниз в течение предыдущего дня в сочетании с средней линией EMA и показателем движения денег (CMF). Стратегия одновременно использует среднюю 200-циклическую EMA в часовой линии и двух временных периодах в дневной линии, чтобы повысить точность торговли путем проверки нескольких технических показателей.

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

Основная логика стратегии включает в себя следующие ключевые элементы:

  1. Используйте функцию request.security, чтобы получить максимальные и минимальные цены за предыдущий день в качестве ключевых уровней сопротивления поддержки.
  2. В сочетании с 24-циклической средней линией EMA в качестве базовой линии для определения тренда.
  3. Введение CMF (20 циклов) в качестве комплексного показателя объема и цены сделок, используемого для определения движения капитала на рынке.
  4. Одновременно рассчитывается средняя линия 200 для текущего временного цикла и 1-часового цикла, которая используется для определения направления тенденции более крупного цикла.

Конкретные правила сделки следующие: При условии: цена превзошла максимум за день + цена закрылась выше EMA + CMF положительная Условия прорыва: цена упала до предыдущего дневного минимума + Закрытие цены ниже EMA + CMF как отрицательная Условия равновесного положения: цена на лизинг упала до EMA, цена на лизинг превзошла EMA

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

  1. Комплексная проверка множества технических показателей повышает надежность транзакций
  2. Анализ рынка с использованием нескольких временных циклов позволяет лучше понимать тенденции рынка
  3. Индекс CMF в сочетании с ценовой и количественной зависимостью позволяет лучше оценить состояние капитала на рынке
  4. Использование высоких и низких значений предыдущего дня в качестве ключевых цен, соответствующих торговым привычкам участников рынка
  5. Логика стратегии ясна, проста для понимания и реализации.
  6. Ясные условия для входа и выхода из игры, уменьшающие субъективные суждения

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

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

Предложения по контролю рисков:

  1. Установка разумного стоп-позиции
  2. Параметры, адаптируемые к различным рыночным условиям
  3. Добавить фильтр тренда
  4. Рассмотреть возможность включения показателя волатильности

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

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

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

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

Исходный код стратегии
/*backtest
start: 2024-10-28 00:00:00
end: 2024-11-27 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='The security Daily HIGH/LOW strategy', overlay=true, initial_capital=10000, calc_on_every_tick=true, 
         default_qty_type=strategy.percent_of_equity, default_qty_value=100, 
         commission_type=strategy.commission.percent, commission_value=0.1)

// General Inputs
len = input.int(24, minval=1, title='Length MA', group='Optimization parameters')
src = input.source(close, title='Source MA', group='Optimization parameters')
out = ta.ema(src, len)

length = input.int(20, minval=1, title='CMF Length', group='Optimization parameters')
ad = close == high and close == low or high == low ? 0 : (2 * close - low - high) / (high - low) * volume
mf = math.sum(ad, length) / math.sum(volume, length)

// Function to get daily high and low
f_secureSecurity(_symbol, _res, _src) =>
    request.security(_symbol, _res, _src[1], lookahead=barmerge.lookahead_on)

pricehigh = f_secureSecurity(syminfo.tickerid, 'D', high)
pricelow = f_secureSecurity(syminfo.tickerid, 'D', low)

// Plotting previous daily high and low
plot(pricehigh, title='Previous Daily High', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))
plot(pricelow, title='Previous Daily Low', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))

// Entry Conditions
short = ta.crossunder(low, pricelow) and close < out and mf < 0
long = ta.crossover(high, pricehigh) and close > out and mf > 0

if short and barstate.isconfirmed
    strategy.entry('short', strategy.short, stop=pricelow[1])
    strategy.close('short', when=close > out)

if long and barstate.isconfirmed
    strategy.entry('long', strategy.long, stop=pricehigh[1])
    strategy.close('long', when=close < out)

// 200 EMA on 1-hour timeframe
ema_200 = ta.ema(close, 200)
ema_200_1h = request.security(syminfo.tickerid, "60", ta.ema(close, 200))

plot(ema_200_1h, color=color.purple, title="200 EMA (1H)")
plot(ema_200, color=color.white, title="200 EMA")