Стратегия трейлинг-стопа Momentum Oscillator


Дата создания: 2024-02-19 14:39:51 Последнее изменение: 2024-02-19 14:39:51
Копировать: 1 Количество просмотров: 670
1
Подписаться
1617
Подписчики

Стратегия трейлинг-стопа Momentum Oscillator

Обзор

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

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

В этой стратегии используются буринские полосы длиной 20 и стандартной разницей 2, чтобы определить, касается ли цена верхней или нижней полосы. Прикосновение нижней полосы указывает на возможное перепродажа, а прикосновение верхней полосы - на возможное перепродажа. Кроме того, в этой стратегии используется случайный индикатор, который имеет K-линейный цикл 14, D-значение с гладким циклом 3.

После входа в рынок стратегия использует индикатор средней реальной колебательной amplitude для отслеживания стоп-порогов. Стоп-пороги в 1,5 раза превышают среднюю реальную колебательную amplitude и позволяют устанавливать стоп-пороги в зависимости от степени волатильности рынка, чтобы избежать слишком близкого или слишком мягкого стоп-порога.

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

У этой стратегии есть следующие преимущества:

  1. Комбинированное использование лент Брин и случайных индикаторов для определения перепродажи и повышения точности определения времени сделки

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

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

  4. Правила стратегии четкие, простые и понятные для исполнения

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

Однако есть и другие риски:

  1. Брин-банк вверх-вниз не может быть уверен, что цена изменится, но есть вероятность, что прорыв продолжится.

  2. Неправильная настройка параметров случайного индикатора может привести к ошибочному сигналу

  3. Прекращение отслеживания может привести к тому, что остановка будет слишком большой и превысит разумные колебания рынка.

  4. addDynamic trailing stop, возможно, лучше, но с небольшим отклонением в зависимости от рыночных колебаний

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

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

  1. Тестирование влияния на результат различных параметров Брин-полосы для поиска оптимальной комбинации параметров

  2. Тестирование различных параметров случайных показателей для повышения эффективности показателей

  3. Динамически корректируйте стоп-дистанцию в зависимости от количества триггеров и прибыли

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

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

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

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

Исходный код стратегии
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger y Estocástico con Trailing Stop", overlay=true)

// Parámetros de entrada
lengthBB = input(20, title="Longitud BB")
stdDevBB = input(2, title="Desviación Estándar BB")
kLength = input(14, title="Longitud K Estocástico")
dLength = input(3, title="Longitud D Estocástico")
smooth = input(3, title="Suavizado Estocástico")
atrLength = input(14, title="Longitud ATR")
trailStopATRMultiple = input(1.5, title="Multiplicador ATR para Trailing Stop")

// Cálculos
[upperBB, basisBB, lowerBB] = ta.bb(close, lengthBB, stdDevBB)
stochK = ta.sma(ta.stoch(close, high, low, kLength), smooth)
atr = ta.atr(atrLength)

// Condiciones de trading
longCondition = close < lowerBB and stochK < 20
shortCondition = close > upperBB and stochK > 80

// Ejecutar operaciones
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Trailing Stop
strategy.exit("Exit Long", from_entry="Long", trail_points=atr * trailStopATRMultiple, trail_offset=atr * trailStopATRMultiple)
strategy.exit("Exit Short", from_entry="Short", trail_points=atr * trailStopATRMultiple, trail_offset=atr * trailStopATRMultiple)