Estrategia de stop loss basada en tendencias


Fecha de creación: 2024-02-21 14:55:41 Última modificación: 2024-02-21 14:55:41
Copiar: 0 Número de Visitas: 629
1
Seguir
1617
Seguidores

Estrategia de stop loss basada en tendencias

Descripción general

La idea principal de la estrategia es determinar la dirección de la pluralidad de órdenes basándose en la tendencia semanal de los precios, entrando en la pluralidad de órdenes en caso de que se produzca una línea de sol en el caso de los bulls; se detiene cuando el precio sube hasta el punto de parada predeterminado y se detiene si baja hasta el punto de parada predeterminado.

Principio de estrategia

La estrategia primero define las condiciones para juzgar las tendencias semanales:

isUptrend = close > close[1] 

isDowntrend = close < close[1]

Si el precio de cierre actual es mayor que el precio de cierre del día anterior, se considera una tendencia a la baja, y viceversa, a la baja.

Luego, define las señales de transacción diarias:

buyCondition = getPrevDayClose() > getPrevDayOpen() and getPrevDayOpen() > getPrevDayClose()[1] and isUptrend

Es decir, el precio de cierre del día anterior es mayor que el precio de apertura del día anterior y el precio de apertura del día anterior es mayor que el precio de cierre del día anterior y se encuentra en una tendencia alcista, lo que satisface la condición de entrada múltiple.

Después de la entrada, el punto de parada se establece como el precio de cierre del día anterior menos 1.382 veces la longitud de la línea física del día anterior:

stopLoss = getPrevDayClose() - 1.382 * (getPrevDayClose() - getPrevDayOpen()) 

El punto de parada se establece como el precio de cierre del día anterior más el doble del punto de parada y el precio de cierre:

takeProfit = getPrevDayClose() + 2 * (getPrevDayClose() - stopLoss)

El objetivo es lograr la recuperación de pérdidas.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Comercio basado en tendencias, evitando el riesgo de una baja en la demanda
  2. La combinación de luz solar diurna y señal de apertura para evitar la entrada prematura de más personas.
  3. El objetivo de la estrategia es reducir las pérdidas.
  4. Más espacio para parar, más potencial para ganar dinero

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. No se puede determinar el punto de inflexión de la tendencia y se puede perder la oportunidad de 100000000000000000000
  2. El stop loss es demasiado cercano y es más probable que sea usado.
  3. Sin tener en cuenta el control de los costos, la frecuencia de las transacciones puede disminuir los ingresos

Para controlar estos riesgos, se puede considerar la inclusión de las siguientes optimizaciones:

  1. Establecer trailers cerca del punto de parada para rastrear el punto de parada
  2. Adición de un módulo de control de costos para limitar la frecuencia de apertura de depósitos
  3. Aumentar el juicio sobre SUPPORT/RESISTANCE

Dirección de optimización

La estrategia también puede ser optimizada en las siguientes direcciones:

  1. Tendencias basadas en más factores, como la dirección de las medias móviles, cambios en el volumen de negocios, etc.
  2. Optimización de la señal de entrada, combinada con más formas de línea K
  3. Trazado dinámico de stop loss, ajuste automático de acuerdo a las fluctuaciones de los precios
  4. Adición de módulos de cuantificación para controlar el tamaño de las posiciones
  5. Combinación de varios períodos de tiempo para filtrar las tendencias a un nivel más alto

Resumir

La estrategia en su conjunto es bastante práctica, la idea central es destacar el comercio de tendencias, al tiempo que se controla el riesgo. Se puede utilizar como estrategia básica para el comercio de líneas cortas durante el día, o se puede optimizar de manera modular según los diferentes mercados y variedades, para lograr una cartera de operaciones diversificada. En la aplicación práctica, es fundamental mantener la mentalidad adecuada para controlar los costos y evitar el riesgo de cobertura.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-24 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Trend Following Strategy with Stop Loss and Take Profit", overlay=true)

// Function to get previous day's close and open
getPrevDayClose() =>
    request.security(syminfo.tickerid, "D", close[1])

getPrevDayOpen() =>
    request.security(syminfo.tickerid, "D", open[1])

// Determine weekly trend
isUptrend = close > close[1]
isDowntrend = close < close[1]

// Determine daily conditions for buy
buyCondition = getPrevDayClose() > getPrevDayOpen() and getPrevDayOpen() > getPrevDayClose()[1] and isUptrend

// Calculate stop loss and take profit
stopLoss = getPrevDayClose() - 1.382 * (getPrevDayClose() - getPrevDayOpen())
takeProfit = getPrevDayClose() + 2 * (getPrevDayClose() - stopLoss)

// Strategy logic
if (isUptrend)
    strategy.entry("Buy", strategy.long, when = buyCondition)
    strategy.exit("Take Profit/Stop Loss", from_entry="Buy", loss=stopLoss, profit=takeProfit)
    
if (isDowntrend)
    strategy.entry("Sell", strategy.short)

// Plotting the trend on the chart
plotshape(series=isUptrend, title="Uptrend", color=color.green, style=shape.triangleup, location=location.abovebar)
plotshape(series=isDowntrend, title="Downtrend", color=color.red, style=shape.triangledown, location=location.belowbar)

// Plotting stop loss and take profit levels on the chart
plot(stopLoss, color=color.red, title="Stop Loss", linewidth=2, style=plot.style_cross)
plot(takeProfit, color=color.green, title="Take Profit", linewidth=2, style=plot.style_cross)