Стратегия Origix Ashi на основе сглаженной скользящей средней

Автор:Чао Чжан, Дата: 2024-01-25 15:26:25
Тэги:

img

Обзор

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

Логика стратегии

Стратегия сначала определяет функцию smoothedMovingAvg для расчета скользящей средней, которая использует значение скользящей средней предыдущего периода и последнюю цену для расчета скользящей средней текущего периода на основе определенных весов.

Затем она определяет функцию getHAClose для расчета закрывающей цены Хайкена Аши на основе открытых, высоких, низких и закрывающих цен.

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

Наконец, он идет длинный, когда цена пересекает выше сглаженной цены закрытия Хайкена Аши, и закрывает позицию, когда цена пересекает ниже нее. Он идет короткий, когда цена пересекает ниже сглаженной цены закрытия Хайкена Аши, и закрывает позицию, когда цена пересекает выше нее.

Анализ преимуществ

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

Анализ рисков

Основными рисками этой стратегии являются:

  1. Неправильные настройки параметров сглаживания могут привести к тому, что стратегия упустит возможности переворота цены или создаст неправильные сигналы.

  2. Когда цены резко колеблются, сглаженная скользящая средняя может отставать от изменений цен, что приводит к запуску стоп-лосса или упущенным возможностям для реверсии.

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

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

Стратегия также может быть оптимизирована в следующих аспектах:

  1. Внедрение адаптивных параметров сглаживания для автоматической корректировки параметров при увеличении волатильности рынка.

  2. Комбинировать с другими индикаторами в качестве фильтров, чтобы избежать выдачи неправильных сигналов во время консолидации цен.

  3. Добавьте механизмы остановки потери для контроля по торговым потерям.

  4. Оптимизировать торговые продукты, торговые сессии и т. д., чтобы сосредоточиться на продуктах и сессиях с наибольшими преимуществами.

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

Заключение

Общая логика этой стратегии ясна и понятна. Вычисляя сглаженный Хайкен Аши для определения ценовых тенденций и соответствующих длинных и коротких позиций, его самое большое преимущество заключается в том, что он способен отфильтровать некоторый шум и улучшить точность суждения о сигнале. Но есть также определенные трудности в оптимизации параметров и риски отсутствия быстрых переворотов. Дальнейшие оптимизации могут быть выполнены путем внедрения адаптивных механизмов, расширения комбинаций индикаторов и т. Д., Чтобы сделать его достойным углубленного исследования.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

 //@version=5
strategy("Smoothed Heiken Ashi Strategy", overlay=true)

// Inputs
g_TimeframeSettings = 'Display & Timeframe Settings'
time_frame = input.timeframe(title='Timeframe for HA candle calculation', defval='', group=g_TimeframeSettings)

g_SmoothedHASettings = 'Smoothed HA Settings'
smoothedHALength = input.int(title='HA Price Input Smoothing Length', minval=1, maxval=500, step=1, defval=10, group=g_SmoothedHASettings)

// Define a function for calculating the smoothed moving average
smoothedMovingAvg(src, len) => 
    smma = 0.0
    smma := na(smma[1]) ? ta.sma(src, len) : (smma[1] * (len - 1) + src) / len 
    smma

// Function to get Heiken Ashi close
getHAClose(o, h, l, c) =>
    ((o + h + l + c) / 4)

// Calculate smoothed HA candles
smoothedHAOpen = request.security(syminfo.tickerid, time_frame, open)
smoothedMA1close = smoothedMovingAvg(request.security(syminfo.tickerid, time_frame, close), smoothedHALength)
smoothedHAClose = getHAClose(smoothedHAOpen, smoothedHAOpen, smoothedHAOpen, smoothedMA1close)

// Plot Smoothed Heiken Ashi candles
plotcandle(open=smoothedHAOpen, high=smoothedHAOpen, low=smoothedHAOpen, close=smoothedHAClose, color=color.new(color.blue, 0), wickcolor=color.new(color.blue, 0))

// Strategy logic
longCondition = close > smoothedHAClose
shortCondition = close < smoothedHAClose

strategy.entry("Buy", strategy.long, when=longCondition)
strategy.close("Buy", when=shortCondition)

plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)

Больше