Стратегия отслеживания тренда кросс-моментума с несколькими индикаторами в сочетании с системой оптимизации стоп-профита и стоп-лосса

SMA AO AC
Дата создания: 2024-12-05 16:21:07 Последнее изменение: 2024-12-05 16:21:07
Копировать: 1 Количество просмотров: 364
1
Подписаться
1617
Подписчики

Стратегия отслеживания тренда кросс-моментума с несколькими индикаторами в сочетании с системой оптимизации стоп-профита и стоп-лосса

Обзор

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

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

Основная логика стратегии основана на трех основных компонентах:

  1. Система криптовалют: используется подвижная средняя с различным периодом 13/8/5, чтобы определить направление тренда через пересечение линии губ и зубной линии.
  2. Система подтверждения динамики: в сочетании с показателями AO и AC, для подтверждения силы тренда с помощью определения положительных и отрицательных значений этих двух показателей.
  3. Система управления рисками: используется динамическая стоп-стоп настройка, основанная на наивысшей/наименьшей точке стоп-стоп на прошлых 5 K-линии, и используется 1: 2 риск-прибыль соотношение установки стоп-стоп.

Условия для запуска множественного сигнала:

  • Многоглазые вступление: ношение зубной нити на линии губ + AO положительно + AC положительно
  • Вход с пустой головой: зубная щетка под губами + AO - отрицательный + AC - отрицательный

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

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

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

  1. Многочисленные показатели могут привести к задержке сигнала и пропуску оптимального момента входа в игру.
  2. Некоторые эксперты считают, что это может привести к возникновению ложных сигналов на рынке.
  3. Фиксированный риск-прибыль может не подходить для всех рыночных условий.
  4. Динамическая остановка может быть вызвана преждевременно при усилении колебаний.

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

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

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

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

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

//@version=5
strategy("Alligator with AO and AC Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ---------------------------- Индикатор Аллигатор ----------------------------

// Параметры Аллигатора
jawLength = input.int(13, title="Jaw Length")
teethLength = input.int(8, title="Teeth Length")
lipsLength = input.int(5, title="Lips Length")

jawOffset = input.int(8, title="Jaw Offset")
teethOffset = input.int(5, title="Teeth Offset")
lipsOffset = input.int(3, title="Lips Offset")

// Расчёт скользящих средних
jawLine = ta.sma(close, jawLength)
teethLine = ta.sma(close, teethLength)
lipsLine = ta.sma(close, lipsLength)

// Сдвиг линий
jaw = jawLine[jawOffset]
teeth = teethLine[teethOffset]
lips = lipsLine[lipsOffset]

// Отображение линий Аллигатора
plot(jaw, color=color.blue, linewidth=2, title="Jaw (13,8)")
plot(teeth, color=color.red, linewidth=2, title="Teeth (8,5)")
plot(lips, color=color.green, linewidth=2, title="Lips (5,3)")

// ---------------------------- Awesome Oscillator (AO) ----------------------------

// Расчёт AO
medianPrice = (high + low) / 2
ao = ta.sma(medianPrice, 5) - ta.sma(medianPrice, 34)

// Отображение AO
hline(0, "Zero Line", color=color.gray)
plot(ao, title="Awesome Oscillator", color=(ao >= 0 ? color.green : color.red), style=plot.style_histogram, linewidth=2)

// ---------------------------- Accelerator Oscillator (AC) ----------------------------

// Расчёт AC
ac = ao - ta.sma(ao, 5)

// Отображение AC
plot(ac, title="Accelerator Oscillator", color=(ac >= 0 ? color.green : color.red), style=plot.style_histogram, linewidth=2)

// ---------------------------- Логика сигналов и управление позицией ----------------------------

// Условия для открытия длинной позиции
longCondition = ta.crossover(lips, teeth) and ao > 0 and ac > 0
if (longCondition)
    // Определение уровней stop-loss и take-profit
    stopLevel = ta.lowest(low, 5) // Минимум за последние 5 свечей
    takeProfit = close + (close - stopLevel) * 2 // Соотношение риска к прибыли 1:2

    // Открытие длинной позиции
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit", "Long", limit=takeProfit, stop=stopLevel)

// Условия для открытия короткой позиции
shortCondition = ta.crossunder(lips, teeth) and ao < 0 and ac < 0
if (shortCondition)
    // Определение уровней stop-loss и take-profit
    stopLevelShort = ta.highest(high, 5) // Максимум за последние 5 свечей
    takeProfitShort = close - (stopLevelShort - close) * 2 // Соотношение риска к прибыли 1:2

    // Открытие короткой позиции
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit Short", "Short", limit=takeProfitShort, stop=stopLevelShort)

// Отображение уровней на графике
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")