
A estratégia de cruzamento de média móvel dinâmica é uma estratégia típica de acompanhamento de tendências. A estratégia é calculada através de uma média móvel rápida e uma média móvel lenta e gera sinais de compra e venda quando eles se cruzam para capturar os pontos de inflexão da tendência do mercado.
A lógica central da estratégia é: quando a média móvel rápida atravessa a média móvel lenta de baixo para cima, gera um sinal de compra; quando a média móvel rápida atravessa a média móvel lenta de cima para baixo, gera um sinal de venda.
As médias móveis mais rápidas são mais sensíveis e captam as mudanças de tendência; as médias móveis mais lentas são mais estáveis, eliminando efetivamente os efeitos das flutuações de curto prazo. Quando a linha média rápida ocorre em um golden fork (cruzamento de baixo para cima), o mercado entra em uma situação de múltiplas cabeças; quando ocorre um dead fork (cruzamento de cima para baixo), o mercado entra em uma situação de cabeça vazia.
A estratégia emite um sinal de negociação imediato quando a linha de equilíbrio é cruzada, adotando uma estratégia de acompanhamento de tendências, seguindo as tendências do mercado para obter maiores lucros. Ao mesmo tempo, a estratégia define um ponto de parada e um ponto de parada, controlando rigorosamente o risco.
Pode ser melhorado por meio de métodos como otimização de parâmetros, ajuste do comprimento do ciclo de mediana ou adição de condições de filtragem.
A estratégia de cruzamento de equilíbrio dinâmico tem um efeito geral melhor, e pode melhorar ainda mais o desempenho da estratégia por meio do ajuste de parâmetros de otimização. A estratégia é fácil de implementar e é adequada para práticas práticas de iniciantes. Mas também é necessário estar atento ao risco de produzir sinais errados, e é necessário auxiliar outros indicadores para avaliar o efeito.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Simple Moving Average Crossover", shorttitle="SMAC", overlay=true)
// Define input parameters
fast_length = input.int(9, title="Fast MA Length")
slow_length = input.int(21, title="Slow MA Length")
stop_loss = input.float(1, title="Stop Loss (%)", minval=0, maxval=100)
take_profit = input.float(2, title="Take Profit (%)", minval=0, maxval=100)
// Calculate moving averages
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)
// Define conditions for long and short signals
long_condition = ta.crossover(fast_ma, slow_ma)
short_condition = ta.crossunder(fast_ma, slow_ma)
// Plot moving averages on the chart
plot(fast_ma, title="Fast MA", color=color.blue)
plot(slow_ma, title="Slow MA", color=color.red)
// Execute long and short trades
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Set stop loss and take profit levels
stop_loss_price = close * (1 - stop_loss / 100)
take_profit_price = close * (1 + take_profit / 100)
strategy.exit("Take Profit/Stop Loss", stop=stop_loss_price, limit=take_profit_price)
// Plot signals on the chart
plotshape(series=long_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=short_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)