Este é um sistema de estratégia de negociação baseado em uma média móvel simples de quatro períodos, integrado com mecanismos dinâmicos de gerenciamento de stop-loss e take-profit. A estratégia capta pontos de virada da tendência do mercado monitorando cruzamento de preços com médias móveis de curto prazo e implementa níveis de stop-loss e take-profit baseados em porcentagem para gerenciamento de riscos.
A estratégia opera com base na seguinte lógica básica: primeiro, calcula uma média móvel simples (SMA) de 4 períodos como o indicador principal. Quando o preço cruza acima da SMA, o sistema o reconhece como um sinal de alta e entra em uma posição longa; quando o preço cruza abaixo da SMA, identifica um sinal de baixa e entra em uma posição curta. Cada negociação é definida com pontos dinâmicos de take-profit e stop-loss com base no preço de entrada, com valores padrão de 2% para take-profit e 1% para stop-loss. Esta configuração garante uma proporção 2: 1 recompensa-risco, aderindo aos princípios profissionais de gestão de dinheiro.
Esta é uma estratégia de negociação quantitativa bem estruturada com lógica clara. Captura o ímpeto do mercado através de médias móveis de curto prazo, complementada por mecanismos de controle de risco rigorosos, adequados para comerciantes que buscam retornos estáveis.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-28 00:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("4SMA Strategy with Targets and Stop Loss", overlay=true) // Input parameters for SMA smaLength = input.int(4, title="SMA Length", minval=1) // Input parameters for stop loss and take profit takeProfitPercent = input.float(2.0, title="Take Profit (%)", step=0.1) // Default: 2% stopLossPercent = input.float(1.0, title="Stop Loss (%)", step=0.1) // Default: 1% // Calculate 4-period SMA sma = ta.sma(close, smaLength) // Plot SMA plot(sma, color=color.blue, title="4SMA Line") // Entry Conditions longCondition = ta.crossover(close, sma) // Price crosses above SMA (bullish signal) shortCondition = ta.crossunder(close, sma) // Price crosses below SMA (bearish signal) // Strategy Logic if (longCondition) strategy.entry("Long", strategy.long) // Enter long position if (shortCondition) strategy.entry("Short", strategy.short) // Enter short position // Calculate Take Profit and Stop Loss longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100) // TP for long longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100) // SL for long shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100) // TP for short shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100) // SL for short // Exit for Long if (strategy.position_size > 0) // If in a long position strategy.exit("Long TP/SL", from_entry="Long", limit=longTakeProfit, stop=longStopLoss) // Exit for Short if (strategy.position_size < 0) // If in a short position strategy.exit("Short TP/SL", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss)