A Grid Dollar-Cost Averaging Strategy (GridDCA) é uma estratégia de negociação automatizada que utiliza a média de custo em dólares (DCA) para investir uma quantidade fixa em múltiplas grades de preços, reduzindo o risco de investimento e aumentando a estabilidade do acúmulo de ativos.
DCA é uma estratégia de investimento de longo prazo que envolve o investimento de uma quantidade fixa em intervalos de tempo regulares, independentemente do preço atual do ativo, para mitigar o impacto da volatilidade do mercado nos investimentos. A estratégia GridDCA introduz o conceito de grades de preços baseado nesta base. De acordo com o número definido pelo usuário de grades e distância da rede, gera várias grades em diferentes níveis de preço. Cada rede tem uma quantidade e preço correspondentes. Quando o preço atinge uma determinada rede, a estratégia executa uma ordem de compra usando uma ordem de mercado ou uma ordem de limite, dependendo das configurações. Além disso, a estratégia define níveis de stop-loss e take-profit para cada compra com base na porcentagem de stop-profit especificada e no alvo. Ao investir em diferentes níveis de preço da rede, a estratégia GridDCA suaviza efetivamente o custo de compra e reduz o risco de investimento.
A Grid Dollar-Cost Averaging Strategy (GridDCA) é uma estratégia de negociação automatizada baseada na média de custo do dólar que reduz efetivamente o impacto da volatilidade do mercado nos investimentos e aumenta a estabilidade do acúmulo de ativos investindo uma quantidade fixa em várias redes de preços. A estratégia oferece vantagens como negociação automatizada, redução de risco, alta flexibilidade e tipos de ordem diversificados. No entanto, também enfrenta desafios como risco de tendência de mercado, risco de definição de parâmetros e risco de liquidez. Através de direções de otimização como ajuste dinâmico de parâmetros, integração de tendência de julgamento e aplicação multi-moeda, multi-tempo, o desempenho da estratégia GridDCA pode ser melhorado, tornando-se uma estratégia que vale a pena pesquisa e aplicação no campo da negociação quantitativa.
/*backtest start: 2023-03-22 00:00:00 end: 2023-08-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("DCA Trading Strategy", overlay=true) // Define input options numGrids = input.int(5, title="Number of Grids") gridDistance = input.float(0.5, title="Grid Distance") stopLossPct = input.float(1, title="Stop Loss Percentage") takeProfitPct = input.float(1, title="Take Profit Percentage") useMarketOrder = input.bool(false, title="Use Market Order") // Define DCA function dca(quantity, price, stopLoss, takeProfit) => if useMarketOrder strategy.entry("DCA Buy", strategy.short, qty=quantity) else strategy.entry("DCA Buy", strategy.short, qty=quantity, limit=price) strategy.exit("Stop Loss/ Take Profit", "DCA Buy", stop=stopLoss, limit=takeProfit) // Calculate grid levels gridLevels = math.floor(strategy.position_size / (numGrids + 1) + 0.5) // Calculate buy quantity buyQuantity = strategy.position_size / numGrids // Loop through each grid level for i = 1 to numGrids priceLevel = strategy.position_avg_price * (1 - gridDistance * i) stopLossPrice = priceLevel * (1 - stopLossPct / 100) takeProfitPrice = priceLevel * (1 + takeProfitPct / 100) dca(buyQuantity, priceLevel, stopLossPrice, takeProfitPrice) // Plot grid levels plotshape(series=gridLevels, title="Grid Levels", location=location.abovebar, color=color.blue, style=shape.triangleup, size=size.small)