
A estratégia de acompanhamento de média móvel é uma estratégia de acompanhamento de tendências baseada em médias móveis simples. A estratégia usa médias móveis simples de 200 dias de duração para determinar a direção da tendência dos preços, fazendo mais quando os preços atravessam a média móvel acima e fechando quando os preços atravessam a média móvel abaixo, para realizar o acompanhamento da tendência.
A estratégia baseia-se principalmente nos seguintes princípios:
A estratégia é baseada em medias móveis para determinar a direção da tendência e, quando a linha de equilíbrio se inverte, pode ser usada para obter lucro com o acompanhamento da tendência.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
Os riscos podem ser otimizados e melhorados em:
A estratégia pode ser melhorada em alguns aspectos:
Otimizar os parâmetros de ciclo das médias móveis, procurando a combinação de parâmetros mais ótima. Pode-se usar métodos de otimização de parâmetros como a Análise de Caminho Avançado.
Aumentar as médias móveis de curto prazo para formar uma estratégia de linha média múltipla, acompanhando as tendências de curto prazo.
Combinado com indicadores de tendência, como o MACD, aumenta a capacidade de identificar reversões de tendência.
Adicionar mecanismos de parada de prejuízos, como o rastreamento de parada de prejuízos, a suspensão de parada de prejuízos, etc., para controlar a perda individual.
Teste de replicação, estratégias de teste em diferentes variedades e diferentes períodos de tempo para melhorar a estabilidade.
A auto-adaptação dos parâmetros das estratégias e a otimização das estratégias são realizadas por meio de métodos como o aprendizado de máquina.
A estratégia de acompanhamento de média móvel é uma estratégia de acompanhamento de tendência simples e prática, com ideias claras e fáceis de implementar, que pode capturar oportunidades de tendência. Mas a estratégia também tem alguns problemas, como insensibilidade ao ajuste de curto prazo, fraca capacidade de controle de risco, etc. Podemos otimizar em muitos aspectos, para tornar a estratégia mais estável, com parâmetros mais otimizados, com controle de risco mais perfeito.
/*backtest
start: 2023-09-19 00:00:00
end: 2023-10-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("MA X 200 BF", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)
/////////////// Time Frame ///////////////
testStartYear = input(2012, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)
testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)
testPeriod() => true
///////////// MA 200 /////////////
slowMA = sma(close, input(200))
/////////////// Strategy ///////////////
long = close > slowMA
short = close < slowMA
last_long = 0.0
last_short = 0.0
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)
/////////////// Execution ///////////////
if testPeriod()
strategy.entry("Long Entry", strategy.long, when=long_signal)
strategy.entry("Short Entry", strategy.short, when=short_signal)
strategy.exit("Long Ex", "Long Entry")
strategy.exit("Short Ex", "Short Entry")
/////////////// Plotting ///////////////
plot(slowMA, color = long ? color.lime : color.red, linewidth=2)
bgcolor(strategy.position_size > 0 ? color.lime : strategy.position_size < 0 ? color.red : color.white, transp=80)
bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=30)