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

Многовременная длительная средняя движущаяся тенденция по системе торговли

Автор:Чао Чжан, Дата: 2025-01-06 16:20:56
Тэги:ЕМАMACDHASMAКупитьПродать

img

Обзор

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

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

Основная логика включает в себя несколько ключевых компонентов:

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

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

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

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

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

Руководство по оптимизации

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

Резюме

Эта стратегия строит полную тенденцию после торговой системы с использованием многочасовых систем Хайкина-Аши и 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", "")




Связанные

Больше