Estratégia de média de custo em dólar com banda de Bollinger de reversão média

BB DCA EMA SMA
Data de criação: 2024-12-12 17:17:15 última modificação: 2024-12-12 17:17:15
cópia: 2 Cliques: 447
1
focar em
1617
Seguidores

Estratégia de média de custo em dólar com banda de Bollinger de reversão média

Visão geral

A estratégia é uma estratégia de investimento inteligente que combina a média de custo do dólar (DCA) e os indicadores técnicos da faixa de Brin. Ela investe usando o princípio da regressão do valor médio, construindo sistematicamente uma posição durante a correção de preços. O núcleo da estratégia é executar operações de compra de quantias fixas quando o preço se desvia da faixa de Brin para obter melhores preços de entrada em períodos de correção de mercado.

Princípio da estratégia

Os princípios centrais da estratégia baseiam-se em três fundamentos: 1) a média de custo do dólar, para reduzir o risco de escolha, investindo um montante fixo regularmente; 2) a teoria da regressão da média, que acredita que o preço eventualmente retornará ao seu nível médio histórico; 3) o indicador da faixa de Bryn para identificar áreas de sobrevenda e sobrevenda. Quando o preço quebra a faixa de Bryn para baixo, o sinal de compra é acionado, e o valor da compra é determinado pela quantidade de investimento definida, dividida pelo preço atual.

Vantagens estratégicas

  1. Reduzir o risco de escolha - reduzir o erro humano através da compra sistemática e não do julgamento subjetivo
  2. Aproveite as oportunidades de retração - execute automaticamente a compra quando o preço ultrapassa a queda
  3. Configuração flexível de parâmetros - Parâmetros de Brinks e quantidade de investimento podem ser ajustados de acordo com diferentes condições de mercado
  4. Regras de entrada e saída claras - sinais objetivos baseados em indicadores técnicos
  5. Execução automática - sem intervenção humana, evitando transações emocionais

Risco estratégico

  1. Risco de falha de regressão à média - pode gerar mais falsos sinais em mercados em tendência
  2. Risco de gerenciamento de fundos - necessidade de reservar fundos suficientes para responder a sinais de compra contínua
  3. Risco de otimização de parâmetros - otimização excessiva pode levar à falha da estratégia
  4. Dependência do cenário de mercado - pode ser fraco em mercados de alta volatilidade Recomenda-se a adoção de sistemas rigorosos de gestão de fundos e avaliação periódica do desempenho da estratégia para gerir esses riscos.

Direção de otimização da estratégia

  1. Introdução de filtros de tendência para evitar operações de contracorrente em tendências fortes
  2. Adição de mecanismo de confirmação de múltiplos períodos de tempo
  3. Otimizar o sistema de gestão de fundos, ajustando o montante dos investimentos de acordo com a dinâmica da volatilidade
  4. A adição de um mecanismo de fechamento de lucro, que é fechado quando o preço retorna à média
  5. Considere a combinação de outros indicadores técnicos para melhorar a confiabilidade do sinal

Resumir

Esta é uma estratégia robusta que combina análise técnica com métodos de investimento sistematizados. Identificar oportunidades de superação e queda através do Brent, em conjunto com a média de custo do dólar para reduzir o risco. A chave para o sucesso da estratégia está na configuração racional dos parâmetros e na rigorosa disciplina de execução.

Código-fonte da estratégia
/*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