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

Двойная сглаженная скользящая средняя тенденция по стратегии - на основе модифицированного Хайкина-Аши

Автор:Чао Чжан, Дата: 2024-11-29 15:03:37
Тэги:

img

Обзор

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

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

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

  1. Первоначальное сглаживание EMA данных о ценах OHLC
  2. Расчет модифицированных свечей Хайкина-Аши с использованием сглаженных цен
  3. Вторичное сглаживание EMA рассчитанных свечников Хайкина-Аши
  4. Определение изменения цвета путем сравнения сглаженных открытых и закрытых цен
  5. генерация сигналов покупки, когда свечи меняются с красного на зеленый, и сигналов продажи, когда меняется с зеленого на красный
  6. Торговля с определением размеров позиций собственного капитала на 100%

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

  1. Двойная сглаживание значительно уменьшает ложные сигналы
  2. Подход, основанный только на длинных продажах, исключает риски короткой продажи
  3. Вход после подтверждения тренда повышает процент выигрыша
  4. Полная сигнальная система поддерживает автоматическую торговлю
  5. Гибкий выбор временных рамок удовлетворяет различным потребностям торговли
  6. Простые и понятные правила въезда/выезда облегчают исполнение
  7. Поддерживает управление деньгами в различных рыночных условиях

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

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

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

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

Резюме

Стратегия строит надежную систему трендоустройства с использованием двойного сглаживания и модифицированных свечей Хайкина-Аши в качестве основных компонентов.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Smoothed Heiken Ashi Strategy Long Only", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input.int(10, title="EMA Length")
len2 = input.int(10, title="Smoothing Length")
start_date = input(defval=timestamp("2020-01-01"), title="Backtest Start Date")

o = ta.ema(open, len)
c = ta.ema(close, len)
h = ta.ema(high, len)
l = ta.ema(low, len)

haclose = (o + h + l + c) / 4
var float haopen = na
haopen := na(haopen[1]) ? (o + c) / 2 : (haopen[1] + haclose[1]) / 2
hahigh = math.max(h, math.max(haopen, haclose))
halow = math.min(l, math.min(haopen, haclose))

o2 = ta.ema(haopen, len2)
c2 = ta.ema(haclose, len2)
h2 = ta.ema(hahigh, len2)
l2 = ta.ema(halow, len2)

col = o2 > c2 ? color.red : color.lime

// Plot candles without visible wicks
plotcandle(o2, o2, c2, c2, title="Heikin Smoothed", color=col, wickcolor=color.new(col, 100))

// Delayed Buy and Sell signals
colorChange = col != col[1]
buySignal = colorChange[1] and col[1] == color.lime
sellSignal = colorChange[1] and col[1] == color.red

plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Strategy entry and exit
if (true)
    if (buySignal)
        strategy.entry("Long", strategy.long)
    if (sellSignal)
        strategy.close("Long")

// Add a vertical line at the start date
// if (time == start_date)
//     line.new(x1=bar_index, y1=low, x2=bar_index, y2=high, color=color.blue, width=2)

// Alert conditions
alertcondition(colorChange[1], title="Color Change Alert", message="Heiken Ashi Candle Color Changed")
alertcondition(buySignal, title="Buy Signal Alert", message="Buy Signal: Color changed from Red to Green")
alertcondition(sellSignal, title="Sell Signal Alert", message="Sell Signal: Color changed from Green to Red")

Больше