En la carga de los recursos... Cargando...

Estrategia de inversión de media reversión de la banda de Bollinger en dólar-costo promedio

El autor:¿ Qué pasa?, Fecha: 2024-12-12 17:17:15
Las etiquetas:- ¿ Qué?DCAEl EMALa SMA

img

Resumen general

Esta estrategia es un enfoque de inversión inteligente que combina el promedio de costo del dólar (DCA) con el indicador técnico de Bollinger Bands. Construye posiciones sistemáticamente durante los retrocesos de precios aprovechando los principios de reversión media. El mecanismo central ejecuta compras de cantidad fija cuando los precios se rompen por debajo de la banda inferior de Bollinger, con el objetivo de lograr mejores precios de entrada durante las correcciones del mercado.

Principios de estrategia

La estrategia se basa en tres pilares fundamentales: 1) El promedio del costo del dólar, que reduce el riesgo de tiempo a través de inversiones regulares de cantidad fija; 2) La teoría de la reversión media, que asume que los precios eventualmente regresarán a su promedio histórico; 3) Indicador de bandas de Bollinger para identificar zonas de sobrecompra y sobreventa.

Ventajas estratégicas

  1. Reducción del riesgo de tiempo - La compra sistemática en lugar de un juicio subjetivo reduce el error humano
  2. Se trata de la suma total de las pérdidas por pérdidas por pérdidas por pérdidas por pérdidas por pérdidas por pérdidas por pérdidas por pérdidas por pérdidas por pérdidas.
  3. Se aplicarán las siguientes condiciones para los valores de los instrumentos de inversión:
  4. Reglas claras de entrada/salida - señales objetivas basadas en indicadores técnicos
  5. Ejecución automatizada - No se requiere intervención manual, evitando el comercio emocional

Riesgos estratégicos

  1. El riesgo medio de incumplimiento de la inversión - Puede generar señales falsas en mercados de tendencia
  2. El riesgo de gestión de capital - Requiere una reserva de capital suficiente para señales de compra consecutivas
  3. Riesgo de optimización de parámetros - La optimización excesiva puede conducir al fracaso de la estrategia
  4. En el caso de las entidades de crédito, el importe de las pérdidas de capital de las entidades de crédito incluidas en la columna 060 del anexo I del Reglamento (UE) n.o 575/2013 será el importe de las pérdidas de capital de las entidades de crédito incluidas en el anexo I del Reglamento (UE) n.o 575/2013. Se recomienda aplicar normas estrictas de gestión de capital y evaluar regularmente el desempeño de la estrategia para gestionar estos riesgos.

Direcciones para la optimización de la estrategia

  1. Incorporar filtros de tendencia para evitar operaciones contrarias a la tendencia en tendencias fuertes
  2. Añadir mecanismos de confirmación de marcos de tiempo múltiples
  3. Optimizar el sistema de gestión de capital con el tamaño de las posiciones basado en la volatilidad
  4. Implementar mecanismos de obtención de beneficios cuando el precio vuelve a la media
  5. Considere la combinación con otros indicadores técnicos para mejorar la fiabilidad de la señal

Resumen de las actividades

Esta es una estrategia robusta que combina el análisis técnico con métodos de inversión sistemáticos. Utiliza bandas de Bollinger para identificar oportunidades de sobreventa mientras implementa el promedio de costo en dólares para reducir el riesgo. La clave del éxito radica en la configuración adecuada de parámetros y la estricta disciplina de ejecución.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("DCA Strategy with Mean Reversion and Bollinger Band", overlay=true) // Define the strategy name and set overlay=true to display on the main chart

// Inputs for investment amount and dates
investment_amount = input.float(10000, title="Investment Amount (USD)", tooltip="Amount to be invested in each buy order (in USD)") // Amount to invest in each buy order
open_date = input(timestamp("2024-01-01 00:00:00"), title="Open All Positions On", tooltip="Date when to start opening positions for DCA strategy") // Date to start opening positions
close_date = input(timestamp("2024-08-04 00:00:00"), title="Close All Positions On", tooltip="Date when to close all open positions for DCA strategy") // Date to close all positions

// Bollinger Band parameters
source = input.source(title="Source", defval=close, group="Bollinger Band Parameter", tooltip="The price source to calculate the Bollinger Bands (e.g., closing price)") // Source of price for calculating Bollinger Bands (e.g., closing price)
length = input.int(200, minval=1, title='Period', group="Bollinger Band Parameter", tooltip="Period for the Bollinger Band calculation (e.g., 200-period moving average)") // Period for calculating the Bollinger Bands (e.g., 200-period moving average)
mult = input.float(2, minval=0.1, maxval=50, step=0.1, title='Standard Deviation', group="Bollinger Band Parameter", tooltip="Multiplier for the standard deviation to define the upper and lower bands") // Multiplier for the standard deviation to calculate the upper and lower bands

// Timeframe selection for Bollinger Bands
tf = input.timeframe(title="Bollinger Band Timeframe", defval="240", group="Bollinger Band Parameter", tooltip="The timeframe used to calculate the Bollinger Bands (e.g., 4-hour chart)") // Timeframe for calculating the Bollinger Bands (e.g., 4-hour chart)

// Calculate BB for the chosen timeframe using security
[basis, bb_dev] = request.security(syminfo.tickerid, tf, [ta.ema(source, length), mult * ta.stdev(source, length)]) // Calculate Basis (EMA) and standard deviation for the chosen timeframe
upper = basis + bb_dev // Calculate the Upper Band by adding the standard deviation to the Basis
lower = basis - bb_dev // Calculate the Lower Band by subtracting the standard deviation from the Basis

// Plot Bollinger Bands
plot(basis, color=color.red, title="Middle Band (SMA)") // Plot the middle band (Basis, EMA) in red
plot(upper, color=color.blue, title="Upper Band") // Plot the Upper Band in blue
plot(lower, color=color.blue, title="Lower Band") // Plot the Lower Band in blue
fill(plot(upper), plot(lower), color=color.blue, transp=90) // Fill the area between Upper and Lower Bands with blue color at 90% transparency

// Define buy condition based on Bollinger Band 
buy_condition = ta.crossunder(source, lower) // Define the buy condition when the price crosses under the Lower Band (Mean Reversion strategy)

// Execute buy orders on the Bollinger Band Mean Reversion condition
if (buy_condition ) // Check if the buy condition is true and time is within the open and close date range
    strategy.order("DCA Buy", strategy.long, qty=investment_amount / close) // Execute the buy order with the specified investment amount

// Close all positions on the specified date
if (time >= close_date) // Check if the current time is after the close date
    strategy.close_all() // Close all open positions

// Track the background color state
var color bgColor = na // Initialize a variable to store the background color (set to 'na' initially)

// Update background color based on conditions
if close > upper // If the close price is above the Upper Band
    bgColor := color.red // Set the background color to red
else if close < lower // If the close price is below the Lower Band
    bgColor := color.green // Set the background color to green

// Apply the background color
bgcolor(bgColor, transp=90, title="Background Color Based on Bollinger Bands") // Set the background color based on the determined condition with 90% transparency

// Postscript:
// 1. Once you have set the "Investment Amount (USD)" in the input box, proceed with additional configuration. 
// Go to "Properties" and adjust the "Initial Capital" value by calculating it as "Total Closed Trades" multiplied by "Investment Amount (USD)" 
// to ensure the backtest results are aligned correctly with the actual investment values.
//
// Example:
// Investment Amount (USD) = 100 USD
// Total Closed Trades = 10 
// Initial Capital = 10 x 100 = 1,000 USD

// Investment Amount (USD) = 200 USD
// Total Closed Trades = 24 
// Initial Capital = 24 x 200 = 4,800 USD


Relacionados

Más.