Impecavel Vitória DCA Impulso e Estratégia de Volatilidade

Autora:ChaoZhang, Data: 2024-03-22 10:54:40
Tags:

img

Estratégia geral

A Estratégia de Momentum e Volatilidade DCA é uma estratégia quantitativa de negociação que combina o indicador de momentum RSI e o indicador de volatilidade Bollinger Bands, juntamente com DCA (Dollar Cost Averaging).

Princípios de estratégia

A estratégia utiliza dois indicadores técnicos: RSI e Bollinger Bands. O RSI é um oscilador de momento usado para medir a velocidade e mudança dos movimentos de preços, com um comprimento de 14 usado na estratégia.

A lógica principal da estratégia é a seguinte:

  1. Quando o preço está abaixo da banda de Bollinger inferior e o RSI está acima do limiar de sobrevenda (42), um sinal de compra é acionado.
  2. Se o DCA estiver habilitado e a condição de tempo estiver preenchida (cada número especificado de horas), é inserida uma posição longa com base na condição de compra.
  3. Quando o preço está acima da banda superior de Bollinger e o RSI está acima do limiar de sobrecompra (70), um sinal de venda é acionado.
  4. Uma vez que a condição de venda é cumprida, a estratégia sai da posição longa e define os níveis de stop loss e take profit.

No geral, a estratégia combina indicadores técnicos como o RSI e as Bandas de Bollinger com lógica condicional para entrada, saída e média de custo em dólares em potencial.

Vantagens da estratégia

  1. Combinação de Impulso e Volatilidade: a estratégia leva em conta tanto o impulso do mercado (através do RSI) como a volatilidade (através das Bandas de Bollinger), proporcionando uma visão mais abrangente das condições do mercado.
  2. Averagem de custo em dólar: a estratégia oferece a opção de DCA, permitindo a construção gradual de posições durante as quedas de preços, reduzindo o custo médio de detenção.
  3. Gestão de riscos: A estratégia define níveis explícitos de stop loss e take profit, ajudando a controlar perdas potenciais e bloquear os lucros realizados.
  4. Configurações de parâmetros flexíveis: a estratégia fornece vários parâmetros de entrada ajustáveis, como percentagem de stop loss, percentagem de lucro, intervalo DCA, etc., permitindo a personalização com base em diferentes condições de mercado e preferências de risco.

Análise de riscos

  1. Sensibilidade dos parâmetros: o desempenho da estratégia pode ser sensível a parâmetros de entrada (como limiares do RSI, multiplicador de bandas de Bollinger, etc.) e configurações inadequadas dos parâmetros podem levar a um desempenho subóptimo.
  2. Mudanças nas condições de mercado: a estratégia baseia-se em indicadores técnicos específicos e pode não se adaptar bem a determinadas condições de mercado (como variações de mercados ou inversões de tendência).
  3. O DCA deve ser utilizado para a realização de transações de curto prazo, incluindo transações de curto prazo.
  4. Colocação de Stop Loss e Take Profit: A colocação de níveis de stop loss e take profit pode afetar o desempenho geral da estratégia.

Orientações de otimização

  1. Optimização de parâmetros: realizar otimização e análise de sensibilidade dos parâmetros-chave da estratégia (como limiares RSI, multiplicador de bandas de Bollinger, intervalo DCA, etc.) para encontrar a combinação de parâmetros ideal.
  2. Inclusão de indicadores adicionais: considerar a incorporação de outros indicadores técnicos (como MACD, ATR, etc.) para melhorar a fiabilidade e a robustez do sinal.
  3. Dinâmico Stop Loss e Take Profit: ajustar os níveis de stop loss e take profit de forma dinâmica com base nas condições do mercado, como o uso de trailing stops para proteger os lucros.
  4. Filtragem do ambiente de mercado: aplicar filtros à estratégia com base em ambientes de mercado (como tendências, intervalos, etc.) para se adaptar a diferentes estados de mercado.
  5. Optimização da gestão do dinheiro: Optimize as regras de gestão do dinheiro da estratégia, como determinar o tamanho da posição com base nos retornos ajustados ao risco.

Conclusão

A Estratégia de Momentum e Volatilidade DCA da Flawless Victory é uma estratégia de negociação quantitativa que combina o indicador de momentum RSI, o indicador de volatilidade Bollinger Bands e DCA. As principais vantagens da estratégia estão em sua consideração tanto do momento e volatilidade do mercado, a opção de DCA, e medidas explícitas de gerenciamento de risco (stop loss e take profit). No entanto, a estratégia também tem alguns riscos potenciais, como sensibilidade às configurações de parâmetros e adaptabilidade às condições de mercado em mudança. As direções de otimização futuras podem incluir otimização de parâmetros, inclusão de indicadores adicionais, otimização de perda e ganho dinâmicos, filtragem do ambiente de mercado e otimização do gerenciamento de dinheiro.


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

//FOR BUY STRATGY : @Suameer
//Create by zipix


//@version=4
strategy(overlay=true, shorttitle=" DCA Strategy", default_qty_type = strategy.percent_of_equity, initial_capital = 100000, default_qty_value = 100, pyramiding = 0, title="Flawless Victory DCA Strategy", currency = 'USD')

////////// ** Inputs ** //////////

// Stoploss and Profits Inputs
stoploss_input = input(6.604, title='Stop Loss %', type=input.float, minval=0.01)/100
takeprofit_input = input(2.328, title='Take Profit %', type=input.float, minval=0.01)/100
stoploss_level = strategy.position_avg_price * (1 - stoploss_input)
takeprofit_level = strategy.position_avg_price * (1 + takeprofit_input)

// DCA Settings
dca_enabled = input(false, title="Enable DCA")
dca_interval = input(1, title="DCA Interval (hours)", type=input.integer)

////////// ** Indicators ** //////////

// RSI
len = 14
src = close
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)

// Bollinger Bands
length = 20
mult = 1.0
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev

////////// ** Triggers and Guards ** //////////

// Strategy Parameters
RSILowerLevel = 42
RSIUpperLevel = 70
BBBuyTrigger = src < lower
BBSellTrigger = src > upper
rsiBuyGuard = rsi > RSILowerLevel
rsiSellGuard = rsi > RSIUpperLevel

//////////** Strategy Signals ** //////////

// Entry Condition
buy_condition = BBBuyTrigger and rsiBuyGuard

// DCA Logic
if dca_enabled and (hour % dca_interval == 0)
    strategy.entry("DCA Long", strategy.long, when = buy_condition, alert_message = "DCA - Buy Signal!")
else
    strategy.entry("Long", strategy.long, when = buy_condition, alert_message = "Buy Signal!")

// Exit Condition
sell_condition = BBSellTrigger and rsiSellGuard
strategy.exit("Stoploss/TP", "Long", stop = stoploss_level, limit = takeprofit_level, when = sell_condition, alert_message = "Sell Signal!")


Mais.