Compre barato y en largo y siga la estrategia de stop-profit y stop-loss


Fecha de creación: 2023-11-23 16:50:01 Última modificación: 2023-11-23 16:50:01
Copiar: 0 Número de Visitas: 725
1
Seguir
1621
Seguidores

Compre barato y en largo y siga la estrategia de stop-profit y stop-loss

Descripción general

La estrategia de bloquear las ganancias y controlar el riesgo mediante el seguimiento de los puntos más bajos de los precios, hacer más inmediatamente después de que los precios bajan, y el seguimiento dinámico de los puntos de parada y de pérdida.

Principio de estrategia

La lógica central de esta estrategia es utilizar el indicador ATR para calcular las posiciones de parada y pérdida dinámicas. En concreto, se activa una multisignal cuando el precio de cierre está por debajo del precio mínimo de los últimos n días (establecido en el código como 7 días); durante la posesión de posiciones de múltiples cabezas, se utiliza el indicador ATR como base para calcular el precio de parada y pérdida dinámica (establecido a través de los parámetros de los múltiplos de ATR) y se muestra en tiempo real en el gráfico.

La estrategia utiliza la idea de la estrategia más sencilla, la de la reducción de la absorción y la combinación de varias estrategias, combinadas con la idea de la detención dinámica de los daños, para capturar las oportunidades a tiempo y controlar los riesgos.

Análisis de las ventajas

Las principales ventajas de esta estrategia son:

  1. Utilizando el indicador ATR dinámico para establecer el stop loss, se puede ajustar la posición de pérdidas en función de la amplitud de las fluctuaciones del mercado, para evitar que el stop loss se fije demasiado y cause pérdidas innecesarias o pierda la oportunidad de ganar más dinero. Esto es también el mayor punto de la estrategia.

  2. La estrategia de baja absorción tiene una mayor probabilidad de ganar en los ajustes de la situación de la bolsa, y las acciones con buenas condiciones fundamentales tienen una mayor probabilidad de rebotar y repararse cuando caen fuera de los niveles de soporte en el corto plazo.

  3. La estimación del Stop Loss Ratio es adecuada para el valor ATR y puede ajustarse de manera flexible según el entorno del mercado y la capacidad de asumir el riesgo personal.

  4. La lógica del código es simple, clara y fácil de entender, y la configuración de los parámetros es más intuitiva, lo que lo convierte en un ejemplo de aprendizaje de estrategias.

Análisis de riesgos

Los principales riesgos de esta estrategia son:

  1. No se puede determinar la amplitud y la intensidad de la rebote de baja absorción, existe el riesgo de un cierto hueco de ganancias. Se puede configurar una amplitud de parada diferente ajustando los parámetros del indicador ATR.

  2. Existe el riesgo de estar enjaulado. Si el precio sigue bajando después de la caída del nivel de soporte, se enfrenta a un mayor riesgo de pérdida. Se puede reducir adecuadamente el tamaño de la posición y reducir el multiplicador de ATR para reducir la pérdida individual.

  3. El punto de parada demasiado cercano también puede ser sacado fuera de la cancha. El multiplicador ATR debe ser liberado adecuadamente para evitar el daño innecesario.

  4. El análisis de los riesgos de la adecuación de los datos. Los datos deben ser probados en diferentes entornos de mercado, con una buena configuración de los costos de impacto.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimización de la determinación de las señales de soporte y rebote. Se puede sustituir por indicadores más precisos y fiables para determinar las señales de rebote, como el indicador KDJ o el canal de la banda de Brin.

  2. Optimización de las estrategias de gestión de posiciones. Se puede ajustar dinámicamente las posiciones en función de la volatilidad del mercado, por ejemplo, mediante el módulo de gestión de posiciones mejorado.

  3. Se puede configurar el módulo de seguimiento de las pérdidas. Después de que el precio se ejecute a una cierta amplitud, comienza a ajustar la distancia de pérdidas, bloqueando parte de las ganancias.

  4. Se añade un módulo de verificación sincronizada. Para verificar aún más la fiabilidad de las señales de compra, cuando el sector o el mercado donde se pretende comprar una acción también desciende en forma sincronizada a la posición de apoyo.

Resumir

Esta estrategia utiliza un mecanismo de alto y baja absorción, combinado con el seguimiento dinámico del ATR, para aprovechar las oportunidades de recuperación de la tendencia, y al mismo tiempo puede utilizar el alto y baja para administrar el riesgo de la operación. Aunque hay un gran espacio para la optimización, es una estrategia de estilo de aprendizaje de entrada simple y fácil de entender.

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