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


Дата создания: 2024-01-25 15:26:25 Последнее изменение: 2024-01-25 15:26:25
Копировать: 1 Количество просмотров: 623
1
Подписаться
1617
Подписчики

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

Обзор

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

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

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

Затем определяется функция getHAClose, которая используется для вычисления цены закрытия на основе цены открытия, цены максимума, цены минимума и цены закрытия.

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

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

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

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

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

Основные риски, связанные с этой стратегией:

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

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

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

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

  1. Добавление параметров самостоятельной адаптации к сглаживанию, автоматическая коррекция параметров при усилении рыночных колебаний.
  2. В сочетании с другими показателями в качестве фильтра, чтобы избежать ошибочных сигналов при колебаниях цен. Например, MACD, KD и т. Д.
  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)