Estrategia de ruptura del canal SSL con pérdida de parada de seguimiento

El autor:¿ Qué pasa?, fecha: 2023-10-25 17:40:37
Las etiquetas:

img

Resumen general

Esta estrategia utiliza el indicador de canal SSL para identificar la dirección de la tendencia y las rupturas comerciales con impulso. Se hace largo cuando el precio se rompe por encima de la banda superior de SSL y se hace corto cuando el precio se rompe por debajo de la banda inferior de SSL.

Estrategia lógica

  1. Calcular las bandas superior e inferior del canal SSL utilizando SMA de precios altos y bajos con N períodos.

  2. Generar una señal larga cuando el cerrado está por encima de la banda superior, y una señal corta cuando el cerrado está por debajo de la banda inferior.

  3. Establecer un stop loss fijo en la banda opuesta después de la entrada, para limitar las pérdidas.

  4. Establezca el stop loss que sigue el movimiento del precio, para obtener ganancias.

  5. Salida cuando el precio alcanza la parada fija o la parada de pérdida.

Ventajas

  1. Utilice el indicador de canal para determinar la dirección de la tendencia, evitar falsas rupturas.

  2. El doble stop loss combina la toma de ganancias y el control de riesgos.

  3. La alta frecuencia de negociación se ajusta a las operaciones a muy corto plazo.

  4. Parámetros flexibles y adaptables al estilo personal de negociación.

  5. Detección automática de largo / corto, sin necesidad de juicio direccional.

Los riesgos

  1. Las operaciones a corto plazo son propensas a las noticias impactantes y a una alta volatilidad.

  2. Las pérdidas de suspensión fijas pueden desencadenar pérdidas de gran tamaño después de la ruptura.

  3. La pérdida de detención de seguimiento incorrecta puede llevar a una salida prematura.

  4. Las rupturas del canal son susceptibles a señales falsas.

  5. Sólo es adecuado para operadores experimentados a corto plazo.

Soluciones:

  1. Establecer un límite razonable de pérdida fija para limitar las pérdidas por operación.

  2. Optimice los niveles de stop loss para evitar una salida temprana.

  3. Agregue el filtro de volumen para confirmar la verdadera fuga.

  4. Gestionar el tamaño de la posición, escalar para controlar la exposición al riesgo.

Optimización

  1. Optimizar los períodos SMA para encontrar la mejor longitud.

  2. Prueba con otros indicadores de canal como BB, KD, etc.

  3. Agregue el indicador de volumen para confirmar la credibilidad de la fuga.

  4. Tenga en cuenta la tasa de rotación para evitar una fuga falsa de bajo volumen.

  5. Prueba diferentes períodos de espera para encontrar el momento óptimo de salida.

  6. Prueba de parámetros de stop loss fijos y traseros.

  7. Ajustar la estrategia de posicionamiento para maximizar la eficiencia del capital.

Resumen de las actividades

Esta estrategia combina el sesgo direccional del canal SSL y las señales de ruptura, con gestión doble de pérdidas de parada. Reacciona rápidamente para capturar tendencias, adecuado para el comercio de alta frecuencia. Cuidado con las rupturas falsas, refina los mecanismos de pérdida de parada y controla el tamaño de la posición. Con una optimización adicional, tiene el potencial de ser una estrategia de negociación de ultrashort-term eficaz.


/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("SSL Channel Cross with Trailing Stop and Stop Loss", overlay=true)

period = input(title="Period", defval=10)
len = input(title="Length", defval=10)
smaHigh = sma(high, len)
smaLow = sma(low, len)

Hlv = 0
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]

sslDown = Hlv < 0 ? smaHigh : smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh

plot(sslDown, linewidth=2, color=color.red)
plot(sslUp, linewidth=2, color=color.lime)

longCondition = crossover(sslUp, sslDown)
shortCondition = crossunder(sslUp, sslDown)

// Define el tamaño del trailing stop en puntos (ajusta según tu preferencia)
trailingStopSize = input(title="Trailing Stop Size (in Points)", defval=10)

var float trailingStopPrice = na
var float stopLossPrice = na

if (longCondition)
    // Si se cumple la condición de compra, configura la posición larga, el trailing stop y el stop loss
    strategy.entry("Long", strategy.long)
    trailingStopPrice := low - trailingStopSize
    stopLossPrice := sslDown

if (shortCondition)
    // Si se cumple la condición de venta corta, configura la posición corta, el trailing stop y el stop loss
    strategy.entry("Short", strategy.short)
    trailingStopPrice := high + trailingStopSize
    stopLossPrice := sslUp

// Calcula el trailing stop
if (strategy.position_size > 0)
    trailingStopPrice := max(trailingStopPrice, stopLossPrice)
    if (close < trailingStopPrice)
        strategy.close("ExitLong", comment="Trailing Stop Long")

if (strategy.position_size < 0)
    trailingStopPrice := min(trailingStopPrice, stopLossPrice)
    if (close > trailingStopPrice)
        strategy.close("ExitShort", comment="Trailing Stop Short")


Más.