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

Стратегия тренда EMA с использованием ежедневной системы высоко-низкого прорыва

Автор:Чао Чжан, Дата: 2024-11-28 15:20:59
Тэги:ЕМАМ.А.

img

Обзор

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

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

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

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

Особые правила торговли: Длинный вход: перебои цены над предыдущим днемвысоким уровнем + закрытие выше средней средней стоимости + положительный CMF Короткий вход: перебои цены ниже предыдущего дневного минимума + закрытие ниже средней средней стоимости + отрицательный 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")

Связанные

Больше