Estratégia de inversão da média móvel cruzada

Autora:ChaoZhang, Data: 2024-02-20 13:59:46
Tags:

img

Resumo

Esta é uma estratégia de reversão baseada em cruzamento de média móvel simples. Ele usa médias móveis simples de 1 dia e 5 dias. Quando a SMA mais curta cruza acima da SMA mais longa, ela fica longa. Quando a SMA mais curta cruza abaixo da SMA mais longa, ela fica curta.

Estratégia lógica

A estratégia calcula a SMA de 1 dia (sma1) e a SMA de 5 dias (sma5) do preço de fechamento. Quando o sma1 cruza o sma5, entra em uma posição longa. Quando o sma1 cruza abaixo do sma5, entra em uma posição curta. Após abrir uma posição longa, o stop loss é definido em 5 USD abaixo do preço de entrada e o take profit a 150 USD acima. Para posições curtas, o stop loss é de 5 USD acima da entrada e o take profit a 150 USD abaixo.

Análise das vantagens

  • Utilização de SMAs duplas para determinar a tendência do mercado, evitando operações com perdas após o stop loss
  • Parâmetros SMA simples e razoáveis, bons resultados dos backtests
  • Pequenas perdas de parada para suportar certas flutuações de preços
  • Um grande objetivo de lucro para ganhar dinheiro suficiente

Análise de riscos

  • SMAs duplas são propensas a whipsaws, alta probabilidade de stop loss quando choppy
  • Difícil de captar tendências, lucro limitado para negócios de longo prazo
  • Espaço de otimização limitado, fácil de sobreajustar
  • Os parâmetros devem ser ajustados para diferentes instrumentos de negociação

Orientações para melhorias

  • Adicionar outros filtros para evitar sinais errados
  • O valor da posição em risco deve ser calculado de acordo com o método de classificação do risco.
  • Otimizar parâmetros SMA
  • Combinar o índice de volatilidade com o dimensionamento das posições de controlo

Conclusão

Esta estratégia simples de SMA dupla é fácil de entender e implementar para uma verificação rápida da estratégia. Mas tem uma tolerância ao risco e um potencial de lucro limitado. Mais otimizações são necessárias em parâmetros e filtros para adaptar mais condições de mercado. Como uma estratégia de quantidade inicial, contém blocos básicos para melhorias iteráveis.


/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-19 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Valeria 181 Bot Strategy Mejorado 2.21", overlay=true, margin_long=100, margin_short=100)
 
var float lastLongOrderPrice = na
var float lastShortOrderPrice = na

longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 5))
if (longCondition)
    strategy.entry("Long Entry", strategy.long)  // Enter long

shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 5))
if (shortCondition)
    strategy.entry("Short Entry", strategy.short)  // Enter short

if (longCondition)
    lastLongOrderPrice := close

if (shortCondition)
    lastShortOrderPrice := close

// Calculate stop loss and take profit based on the last executed order's price
stopLossLong = lastLongOrderPrice - 5  // 10 USDT lower than the last long order price
takeProfitLong = lastLongOrderPrice + 151  // 100 USDT higher than the last long order price
stopLossShort = lastShortOrderPrice + 5  // 10 USDT higher than the last short order price
takeProfitShort = lastShortOrderPrice - 150  // 100 USDT lower than the last short order price

// Apply stop loss and take profit to long positions
strategy.exit("Long Exit", from_entry="Long Entry", stop=stopLossLong, limit=takeProfitLong)

// Apply stop loss and take profit to short positions
strategy.exit("Short Exit", from_entry="Short Entry", stop=stopLossShort, limit=takeProfitShort)

Mais.