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

EMA MACD HA SMA BUY SELL
Дата создания: 2025-01-06 16:20:56 Последнее изменение: 2025-01-06 16:20:56
Копировать: 3 Количество просмотров: 342
1
Подписаться
1617
Подписчики

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

Обзор

Стратегия представляет собой многопериодную систему следования за трендом, основанную на пересечении сглаженных свечей (Хейкин-Аши) и экспоненциальной скользящей средней (EMA). Объединив сглаживающие характеристики свечей Хейкин-Аши и способность скользящей средней отслеживать тренды за различные периоды времени, а также используя индикатор MACD в качестве фильтра, можно добиться точного определения рыночных тенденций. Стратегия использует иерархическую структуру временных периодов и выполняет расчет и проверку сигналов в трех временных периодах: 60 минут, 180 минут и 15 минут.

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

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

  1. Расчет свечей Хейкин-Аши: благодаря специальному методу расчета цен открытия, максимума, минимума и закрытия он сглаживает необработанные ценовые данные и снижает рыночный шум.
  2. Система EMA с несколькими временными периодами: EMA Хейкин-Аши рассчитывается на 180-минутном периоде и образует перекрестную сигнальную систему с более медленной EMA на 60-минутном периоде.
  3. Фильтр MACD: рассчитывает индикатор MACD за 15-минутный период для проверки достоверности торговых сигналов.
  4. Правила генерации сигнала: когда быстрая EMA Heikin-Ashi пересекает медленную EMA снизу вверх и индикатор MACD это подтверждает (если включен), генерируется длинный сигнал; в противном случае генерируется короткий сигнал.

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

  1. Высокая сглаженность сигнала: сглаживающие характеристики свечи Хейкин-Аши могут эффективно снижать количество ложных сигналов.
  2. Проверка нескольких временных периодов: скоординированное использование различных временных периодов повышает надежность сигнала.
  3. Хороший эффект отслеживания тренда: среднесрочные и долгосрочные тренды можно эффективно отслеживать с помощью системы пересечения EMA.
  4. Гибкий механизм фильтрации: дополнительный фильтр MACD обеспечивает дополнительное подтверждение сигнала.
  5. Широкие возможности настройки параметров: множество ключевых параметров можно оптимизировать в соответствии с различными характеристиками рынка.

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

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

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

  1. Добавьте фильтрацию волатильности: введите такие индикаторы, как ATR или полосы Боллинджера, для оценки волатильности рынка.
  2. Оптимизируйте выбор временного периода: комбинацию временных периодов можно корректировать в соответствии с характеристиками конкретных торговых продуктов.
  3. Улучшите механизм стоп-лосса: добавьте скользящий стоп-лосс или динамический стоп-лосс на основе волатильности.
  4. Добавлено управление позициями: динамическая корректировка размера позиции в зависимости от силы сигнала и волатильности рынка.
  5. Добавьте оценку рыночной среды: добавьте индикаторы силы тренда, чтобы различать различные рыночные среды.

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

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

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradingbauhaus

//@version=5
strategy("Heikin Ashi Candle Time Frame @tradingbauhaus", shorttitle="Heikin Ashi Candle Time Frame @tradingbauhaus", overlay=true)

// Inputs
res = input.timeframe(title="Heikin Ashi Candle Time Frame", defval="60")
hshift = input.int(1, title="Heikin Ashi Candle Time Frame Shift")
res1 = input.timeframe(title="Heikin Ashi EMA Time Frame", defval="180")
mhshift = input.int(0, title="Heikin Ashi EMA Time Frame Shift")
fama = input.int(1, title="Heikin Ashi EMA Period")
test = input.int(1, title="Heikin Ashi EMA Shift")
sloma = input.int(30, title="Slow EMA Period")
slomas = input.int(1, title="Slow EMA Shift")
macdf = input.bool(false, title="With MACD filter")
res2 = input.timeframe(title="MACD Time Frame", defval="15")
macds = input.int(1, title="MACD Shift")

// Heikin Ashi calculation
var float ha_open = na
ha_close = (open + high + low + close) / 4
ha_open := na(ha_open[1]) ? (open + close) / 2 : (ha_open[1] + ha_close[1]) / 2
ha_high = math.max(high, math.max(ha_open, ha_close))
ha_low = math.min(low, math.min(ha_open, ha_close))

// Adjusted Heikin Ashi Close for different timeframes
mha_close = request.security(syminfo.tickerid, res1, ha_close[mhshift])

// MACD calculation
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdl = request.security(syminfo.tickerid, res2, macdLine[macds])
macdsl = request.security(syminfo.tickerid, res2, signalLine[macds])

// Moving Averages
fma = ta.ema(mha_close[test], fama)
sma = ta.ema(ha_close[slomas], sloma)
plot(fma, title="Heikin Ashi EMA", color=color.green, linewidth=2)
plot(sma, title="Slow EMA", color=color.red, linewidth=2)

// Strategy Logic
golong = ta.crossover(fma, sma) and (macdl > macdsl or not macdf)
goshort = ta.crossunder(fma, sma) and (macdl < macdsl or not macdf)

// Plot Shapes for Buy/Sell Signals
plotshape(golong, color=color.green, text="Buy", style=shape.triangleup, location=location.belowbar)
plotshape(goshort, color=color.red, text="SELL", style=shape.triangledown, location=location.abovebar)

// Strategy Orders
strategy.entry("Long", strategy.long, when=golong)
strategy.close("Long", when=goshort)
strategy.entry("Short", strategy.short, when=goshort)
strategy.close("Short", when=golong)

// Alerts
alertcondition(golong, "Heikin Ashi BUY", "")
alertcondition(goshort, "Heikin Ashi SELL", "")