Estrategia de trading de alta frecuencia que combina las bandas de Bollinger y el DCA


Fecha de creación: 2024-03-29 16:20:13 Última modificación: 2024-03-29 16:20:13
Copiar: 5 Número de Visitas: 828
1
Seguir
1617
Seguidores

Estrategia de trading de alta frecuencia que combina las bandas de Bollinger y el DCA

Descripción general

La estrategia se llama “DCA Booster (1 minute) ” y es una estrategia de trading de alta frecuencia que se ejecuta en un marco de tiempo de 1 minuto. La estrategia combina las técnicas de la banda de Brin y la DCA (Dollar-Cost Averaging, el promedio del costo en dólares) con el objetivo de aprovechar las fluctuaciones del mercado para comprar y vender varias veces en un intento de obtener ganancias. La idea principal de la estrategia es: comenzar a dividir las posiciones en lotes de acuerdo con la DCA cuando el precio baja dos períodos consecutivos por debajo de la banda de Brin; y nivelar todas las posiciones cuando el precio cruza la banda de Brin.

Principio de estrategia

  1. Cálculo de la franja de Bryn: la subida y bajada de la franja de Bryn se calcula utilizando medias móviles simples y diferenciales estándar.
  2. Configuración de los parámetros de DCA: Divide la cantidad fija en varias partes, como la cantidad de capital por cada depósito.
  3. Condiciones para la creación de posiciones: Cuando el precio de cierre se encuentre por debajo de la línea de descenso de Brin por dos períodos consecutivos, comienza la creación de posiciones. Dependiendo de si el precio continúa por debajo de la línea de descenso, la estrategia puede crear un máximo de 5 posiciones.
  4. Condiciones de estabilidad: cuando el precio sube a la banda de Brin, elimine todas las posiciones.
  5. Si el precio sigue bajando, la estrategia continuará aumentando la posición, hasta un máximo de 5 posiciones.
  6. Gestión de posiciones: la estrategia registra la creación de posiciones para cada posición y liquida las posiciones correspondientes cuando se cumplen las condiciones de liquidación.

Ventajas estratégicas

  1. La combinación de las tecnologías Brin Belt y DCA permite capturar eficazmente las fluctuaciones del mercado y reducir el costo de compra.
  2. Permitir a las pirámides que se coloquen en la bolsa, lo que permite que se sigan colocando mientras los precios sigan bajando, lo que aumenta las oportunidades de ganar dinero.
  3. Las condiciones de estabilidad son sencillas y claras, lo que permite obtener ganancias rápidamente.
  4. Apto para un corto período de tiempo, como 1 minuto, para operaciones de alta frecuencia.

Riesgo estratégico

  1. Si el mercado fluctúa fuertemente y los precios se desvían rápidamente de la correlación de Brin, la estrategia puede no alcanzar la posición de equilibrio y, por lo tanto, causar pérdidas.
  2. La hipoteca de la pirámide puede causar una exposición excesiva y aumentar el riesgo si los precios siguen bajando.
  3. La estrategia puede no funcionar bien en un mercado convulso, ya que las compras y ventas frecuentes pueden generar costos de transacción más altos.

Dirección de optimización de la estrategia

  1. Se puede considerar la inclusión de un stop loss en las condiciones de equilibrio para controlar la pérdida máxima de una sola transacción.
  2. Se puede optimizar la lógica de la hipoteca de la pirámide, por ejemplo, ajustando la hipoteca en función de la magnitud de la caída de los precios, evitando la exposición excesiva.
  3. Se puede combinar con otros indicadores, como RSI, MACD, etc., para mejorar la precisión de entrada y salida.
  4. Los parámetros pueden ser optimizados, como el ciclo de la banda de Bryn y el múltiplo de la diferencia estándar, para adaptarse a diferentes condiciones de mercado.

Resumir

El “DCA Booster (1 minute) ” es una estrategia de negociación de alta frecuencia que combina la banda de Brin y la DCA para capturar la fluctuación del mercado y tratar de obtener ganancias mediante la creación de posiciones por lotes cuando el precio está por debajo de la banda de Brin y la apertura de posiciones cuando el precio está por encima de la banda de Brin. La estrategia permite el aumento de la pirámide, pero también se enfrenta al riesgo de una fuerte fluctuación del mercado y una exposición excesiva.

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

//@version=5
strategy("DCA Booster (1 minute)",
  overlay=true )

// Parameters for Bollinger Bands
length = input.int(50, title="BB Length")
mult = input.float(3.0, title="BB Mult")

// Bollinger Bands calculation
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev

// Variables for DCA
cantidad_dolares = 50000
orden1 = cantidad_dolares / close
orden2 = orden1 * 1.2
orden3 = orden2 * 1.3
orden4 = orden3 * 1.5
orden5 = orden4 * 1.5

// Variables for tracking purchases
var comprado1 = false
var comprado2 = false
var comprado3 = false
var comprado4 = false
var comprado5 = false

// Buy conditions
condicion_compra1 = close < lower and close[1] < lower[1] and not comprado1
condicion_compra2 = close < lower and close[1] < lower[1] and comprado1 and not comprado2
condicion_compra3 = close < lower and close[1] < lower[1] and comprado2 and not comprado3
condicion_compra4 = close < lower and close[1] < lower[1] and comprado3 and not comprado4
condicion_compra5 = close < lower and close[1] < lower[1] and comprado4 and not comprado5
// Variables de control
var int consecutive_closes_below_lower = 0
var int consecutive_closes_above_upper = 0

// Entry logic
if condicion_compra1 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra1", strategy.long, qty=orden1)
        comprado1 := true
        consecutive_closes_below_lower := 0

if condicion_compra2 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra2", strategy.long, qty=orden2)
        comprado2 := true
        consecutive_closes_below_lower := 0

if condicion_compra3 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra3", strategy.long, qty=orden3)
        comprado3 := true
        consecutive_closes_below_lower := 0

if condicion_compra4 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra4", strategy.long, qty=orden4)
        comprado4 := true
        consecutive_closes_below_lower := 0

if condicion_compra5 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra5", strategy.long, qty=orden5)
        comprado5 := true
        consecutive_closes_below_lower := 0


// Sell conditions
if close > upper  and comprado1 and barstate.isconfirmed
    strategy.close("Compra1")
    comprado1 := false

if close > upper  and comprado2 and barstate.isconfirmed
    strategy.close("Compra2")
    comprado2 := false

if close > upper  and comprado3 and barstate.isconfirmed
    strategy.close("Compra3")
    comprado3 := false

if close > upper and comprado4 and barstate.isconfirmed
    strategy.close("Compra4")
    comprado4 := false

if close > upper and comprado5 and barstate.isconfirmed
    strategy.close("Compra5")
    comprado5 := false