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).
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:
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.
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!")