
Trata-se de um sistema de estratégia de negociação baseado em uma média móvel simples de quatro períodos, integrando um mecanismo de gestão de stop loss dinâmico. A estratégia capta os pontos de inflexão da tendência do mercado monitorando o preço e a relação cruzada com a média de curto prazo, e configura o stop loss em termos percentuais para gerenciar o risco. O núcleo da estratégia é aproveitar a característica de rápida reação da média de curto prazo ao mercado, combinada com regras rigorosas de gerenciamento de fundos, para obter um efeito de negociação robusto.
A estratégia opera com base na seguinte lógica central: primeiro, calcula-se a média móvel simples de 4 ciclos (SMA) como principal indicador. Quando o preço atravessa a SMA para cima, o sistema identifica o sinal de ver mais e abre uma posição a mais; quando o preço atravessa a SMA para baixo, o sistema identifica o sinal de ver menos e abre uma posição a menos.
Esta é uma estratégia de negociação quantitativa, com uma estrutura completa e lógica clara. Capta a dinâmica do mercado por meio de curto prazo, complementado com um rigoroso mecanismo de controle de risco, adequado para os comerciantes que buscam ganhos estáveis. Embora haja algum espaço para otimização, a estrutura básica da estratégia tem uma boa escalabilidade, e espera-se que melhores resultados de negociação sejam alcançados com otimização e ajuste contínuos.
/*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)