Compra de pérdidas con toma de ganancias y stop loss

El autor:¿ Qué pasa?, Fecha: 2023-11-23 16:50:01
Las etiquetas:

img

Resumen general

Esta estrategia compra la caída y obtiene ganancias para una alta tasa de ganancia mediante el seguimiento dinámico de los mínimos de precios, pasando mucho tiempo después de las caídas de precios, y bloqueando las ganancias y controlando los riesgos a través de la toma de ganancias adaptativa y el stop loss.

Principios

La lógica central de esta estrategia es utilizar el indicador ATR para calcular posiciones dinámicas de take profit y stop loss. Específicamente, se activa una señal larga cuando el precio de cierre está por debajo del mínimo de los últimos n días (establecido en 7 días en el código); durante las posiciones largas, los precios de take profit y stop loss se calcularán dinámicamente en función del indicador ATR (establecido a través de múltiplos de ATR) y se mostrarán en el gráfico en tiempo real.

La estrategia combina el enfoque más simple de compra con la idea de un stop loss/take profit dinámico para aprovechar las oportunidades de manera oportuna y controlar los riesgos.

Ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. El uso de indicadores ATR dinámicos para establecer stop loss y take profit puede ajustar los niveles de P/L basados en la volatilidad del mercado, evitando pérdidas innecesarias o perder oportunidades de mayor beneficio debido a un stop loss/take profit demasiado fijo.

  2. Las estrategias de caída de compra tienden a tener tasas de ganancia más altas durante las consolidaciones del mercado cuando los precios caen por debajo de los niveles de soporte de manera anormal y es probable que se recuperen.

  3. La estimación de los ratios de toma de ganancias/detención de pérdidas a través de los valores ATR es razonable y puede fijarse de forma flexible de acuerdo con las condiciones del mercado y la tolerancia personal al riesgo.

  4. La lógica del código es simple y clara, fácil de entender.

Los riesgos

Los principales riesgos de esta estrategia son:

  1. No se puede determinar la amplitud y la fuerza del rebote después de la caída. Existe el riesgo de que las expectativas de ganancias no alcancen. Esto se puede abordar ajustando los parámetros ATR para establecer diferentes rangos de ganancias.

  2. El riesgo de quedar atrapado en pérdidas cuando los precios rompen los soportes y continúan cayendo, enfrentándose a una mayor pérdida.

  3. Los múltiplos de ATR deben ser establecidos de manera más flexible para evitar paradas innecesarias.

  4. Los riesgos de sobreajuste de las pruebas de retroceso: es necesario realizar pruebas en diferentes condiciones de mercado, con ajustes adecuados de deslizamiento/comisión.

Mejoramiento

La estrategia puede mejorarse en los siguientes aspectos:

  1. Optimización del nivel de soporte y determinación de señales. Indicadores más sofisticados como KDJ o Bandas de Bollinger se pueden usar para juzgar las señales de reversión de manera más confiable.

  2. Optimización de las reglas de posicionamiento. Ajuste dinámico de posiciones basado en la volatilidad del mercado, etc.

  3. Implementar el módulo de stop loss de seguimiento, apretar los stop después de que los precios avancen por cierto rango, para obtener ganancias parciales.

  4. Añadir filtros de confluencia. Introducir largo sólo si el sector correspondiente/el mercado amplio también alcanza el soporte, verificando la fiabilidad de la señal.

Conclusión

Esta estrategia captura oportunidades de reversión media a través de caídas de compra, con tomar ganancias / detener pérdidas para controlar el riesgo. A pesar del margen de mayor sofisticación, es lo suficientemente simple para que los principiantes lo entiendan y aprendan.


/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © racer8
//@version=4
strategy("Buy-The-Dip", overlay=true)

atn = input(15, "ATR Period")
atr = sma(tr,atn)[1]
bought = strategy.position_size[0] > strategy.position_size[1]

slm = input(2.0,"ATR SL Multiple",minval=0)
StopPrice  = strategy.position_avg_price - slm*atr              // determines stop loss's price 
FixedStopPrice = valuewhen(bought,StopPrice,0)                  // stores original StopPrice  
plot(FixedStopPrice,"Stop Loss",color=color.red,linewidth=2,style=plot.style_cross)

tpm = input(1.0,"ATR TP Multiple",minval=0)
TakePrice  = strategy.position_avg_price + tpm*atr              // determines Take Profit's price 
FixedTakePrice = valuewhen(bought,TakePrice,0)                  // stores original TakePrice  
plot(FixedTakePrice,"Take Profit",color=color.green,linewidth=2,style=plot.style_cross)

nn = input(7,"Channel Length")
ll = lowest(low,nn)

if close<ll[1]
    strategy.entry("Buy",strategy.long)
if strategy.position_size > 0
    strategy.exit(id="XL SL", stop=FixedStopPrice, limit=FixedTakePrice)    // commands stop loss order to exit!

plot(ll,color=color.orange)

Más.