Estrategia de seguimiento de tendencias de impulso cruzado de múltiples indicadores combinada con un sistema de optimización de stop-profit y stop-loss

SMA AO AC
Fecha de creación: 2024-12-05 16:21:07 Última modificación: 2024-12-05 16:21:07
Copiar: 1 Número de Visitas: 364
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias de impulso cruzado de múltiples indicadores combinada con un sistema de optimización de stop-profit y stop-loss

Descripción general

La estrategia es un sistema integral de seguimiento de la tendencia de comercio, combinado con un mecanismo de confirmación de múltiples señales de los indicadores de la caza (Alligator), el indicador de la oscilación dinámica (AO) y el indicador de la oscilación acelerada (AC). El sistema identifica las tendencias del mercado a través de la cruz y la confirmación de la tendencia de múltiples indicadores, y se combina con el stop loss dinámico para administrar el riesgo y lograr un efecto de comercio controlable.

Principio de estrategia

La lógica central de la estrategia se basa en tres componentes principales:

  1. Sistema de indicadores de tiburones: utiliza una media móvil de diferentes períodos (<13/8/5) para confirmar la dirección de la tendencia a través de la intersección de la línea de los labios () y la línea de los dientes ().
  2. Sistema de confirmación de la dinámica: combinación de indicadores AO y AC para confirmar la intensidad de la tendencia al juzgar los valores positivos y negativos de estos dos indicadores.
  3. Sistema de gestión de riesgos: Se utiliza un sistema de stop loss dinámico, basado en el máximo/mínimo punto de stop loss de las últimas 5 líneas K, y un sistema de stop loss con una relación de ganancias/riesgo de 1: 2.

Condiciones para el disparo de múltiples señales:

  • Entrada múltiple: Líneas de dientes en la línea de los labios + AO positivo + AC positivo
  • Entrada con la cabeza en blanco: Lado dental debajo de la línea de los labios + AO negativo + AC negativo

Ventajas estratégicas

  1. El mecanismo de confirmación de múltiples señales reduce el riesgo de una falsa brecha.
  2. La configuración de stop loss dinámica se adapta a los cambios en la volatilidad del mercado.
  3. El riesgo-beneficio fijo contribuye a la estabilidad de los beneficios a largo plazo.
  4. El conjunto de indicadores tiene en cuenta tanto la tendencia como la dinámica, lo que mejora la precisión de las operaciones.
  5. El alto grado de automatización del sistema reduce la interferencia con el juicio subjetivo.

Riesgo estratégico

  1. Los indicadores múltiples pueden causar un retraso en la señal y perder el mejor momento de entrada.
  2. Las señales falsas pueden ser frecuentes en mercados convulsionados.
  3. La relación riesgo-beneficio fija puede no ser adecuada para todos los entornos de mercado.
  4. El deterioro dinámico puede desencadenarse prematuramente cuando la oscilación se agrava.

Dirección de optimización de la estrategia

  1. Introducción de un mecanismo de adaptación de la volatilidad y ajuste dinámico de la proporción de pérdidas y pérdidas.
  2. Aumentar los filtros de intensidad de tendencia y evitar el comercio en un entorno de tendencia débil
  3. Desarrollar un sistema de clasificación de entornos de mercado que utilice diferentes combinaciones de parámetros en diferentes estados de mercado.
  4. La entrada en el mecanismo de confirmación de transacciones mejora la fiabilidad de la señal.
  5. Considere la posibilidad de introducir filtros de tiempo para evitar períodos de baja eficiencia.

Resumir

La estrategia utiliza una combinación de varios indicadores técnicos para crear un sistema de negociación completo. El sistema no solo se centra en la precisión de las señales, sino que también protege los fondos mediante una estricta gestión de riesgos. Aunque existe un cierto riesgo de atraso, la estrategia tiene perspectivas de obtener un mejor rendimiento a través de la orientación de optimización recomendada.

Código Fuente de la Estrategia
/*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")