
A estratégia é um sistema de negociação de acompanhamento de tendências que combina uma Média Móvel (MM) com Bandas de Bollinger. A estratégia identifica tendências de mercado analisando a relação posicional entre o preço e a média móvel de 200 períodos, bem como a posição das Bandas de Bollinger, ao mesmo tempo em que integra um mecanismo de stop loss de porcentagem fixa para controlar o risco. A estratégia adota uma gestão de posição de 2,86%, que corresponde à alavancagem de 35x e reflete o conceito de gestão prudente de fundos.
A lógica central da estratégia é baseada nos seguintes elementos-chave:
Esta estratégia cria um sistema de negociação completo combinando indicadores técnicos clássicos, que têm boa capacidade de captura de tendências e efeito de controle de risco. As principais vantagens da estratégia residem em seu alto grau de sistematização e forte ajustabilidade de parâmetros, enquanto o controle de risco efetivo é obtido por meio de um mecanismo de stop-loss fixo. Embora o desempenho possa ser ruim em um mercado volátil, a estabilidade e a lucratividade da estratégia podem ser melhoradas ainda mais por meio da implementação de direções otimizadas. É recomendável que os traders prestem atenção à escolha do ambiente de mercado ao utilizá-lo em negociações reais e ajustem as configurações dos parâmetros de acordo com sua própria tolerância ao risco.
/*backtest
start: 2024-11-26 00:00:00
end: 2024-12-25 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA 200 and Bollinger Bands Strategy", overlay=true) // 2.86% for 35x leverage
// inputs
ma_length = input(200, title="MA Length")
bb_length = input(20, title="Bollinger Bands Length")
bb_mult = input(2.0, title="Bollinger Bands Multiplier")
// calculations
ma_200 = ta.sma(close, ma_length)
bb_basis = ta.sma(close, bb_length)
bb_upper = bb_basis + (ta.stdev(close, bb_length) * bb_mult)
bb_lower = bb_basis - (ta.stdev(close, bb_length) * bb_mult)
// plot indicators
plot(ma_200, color=color.blue, title="200 MA")
plot(bb_upper, color=color.red, title="Bollinger Upper Band")
plot(bb_basis, color=color.gray, title="Bollinger Basis")
plot(bb_lower, color=color.green, title="Bollinger Lower Band")
// strategy logic
long_condition = close > ma_200 and bb_basis > ma_200 and ta.crossover(close, bb_lower)
short_condition = close < ma_200 and bb_basis < ma_200 and ta.crossunder(close, bb_upper)
// fixed stop loss percentage
fixed_stop_loss_percent = 3.0 / 100.0
if (long_condition)
strategy.entry("Long", strategy.long)
strategy.exit("Stop Long", "Long", stop=strategy.position_avg_price * (1 - fixed_stop_loss_percent))
if (short_condition)
strategy.entry("Short", strategy.short)
strategy.exit("Stop Short", "Short", stop=strategy.position_avg_price * (1 + fixed_stop_loss_percent))
// take profit conditions
close_long_condition = close >= bb_upper
close_short_condition = close <= bb_lower
if (close_long_condition)
strategy.close("Long")
if (close_short_condition)
strategy.close("Short")