SMA Crossover Tendência alcista Seguindo a estratégia

Autora:ChaoZhang, Data: 2024-02-04 14:56:00
Tags:

img

Resumo

Esta estratégia é uma estratégia de tendência de longo prazo baseada no cruzamento de médias móveis simples (SMA). Ela gera sinais de compra quando o SMA de curto período cruza o SMA de longo período e segue a tendência de alta. Ao mesmo tempo, também define lucro e stop loss com base em certas porcentagens do preço de entrada para gerenciar riscos.

Estratégia lógica

A estratégia usa principalmente os sinais de cruzamento do indicador SMA para determinar o tempo de entrada. Especificamente, ele calcula o SMA de 9 períodos e 21 períodos, respectivamente. Quando o SMA de 9 períodos de curto prazo cruza o SMA de 21 períodos de longo prazo, ele indica que o preço está mudando de consolidação para uma tendência de alta, o que é um bom momento para seguir a tendência. A estratégia gerará um sinal de compra para seguir a tendência.

Além disso, a estratégia também define dinamicamente o take profit e o stop loss com base em 1,5% e 1% do preço de entrada. Isso significa que o take profit será 1,5% acima do preço de entrada e o stop loss será 1% abaixo. Através desta abordagem, ele gerencia os riscos estabelecendo uma relação risco-recompensa pré-definida.

Vantagens

  • Usar a SMA para determinar a entrada filtra o ruído do mercado a curto prazo e capta tendências de médio e longo prazo.
  • Os períodos SMA são ajustáveis e podem ser ajustados para se adaptarem às tendências em diferentes horizontes temporais.
  • O mecanismo de gestão do risco é abrangente e pode controlar as perdas de transações individuais ajustando o rácio risco/recompensa.
  • A estratégia é simples de entender, adequada para iniciantes na negociação quantitativa.

Riscos e soluções

  • Os sinais de cruzamento SMA podem ter falhas, causando perdas desnecessárias. Outros indicadores podem ser usados para filtrar os sinais.
  • O take profit e o stop loss são relativamente fixos, o que pode levar ao lucro esperado, mas à perda real.
  • O rácio risco/recompensa é fixo e não pode adaptar-se à volatilidade mutável do mercado.
  • Pode considerar a redução dos períodos de SMA ou a introdução de indicadores principais.

Oportunidades de melhoria

  • Adicionar outros indicadores para filtrar os sinais de cruzamento da SMA e evitar sinais falsos, por exemplo, KDJ, indicadores de volatilidade, etc.
  • A taxa de variação da taxa de variação da taxa de variação da taxa de variação da taxa de variação da taxa de variação da taxa de variação da taxa de variação da taxa.
  • Usar o ATR e outros indicadores para ajustar dinamicamente o rácio risco-retorno com base na volatilidade do mercado.
  • Reduzir os períodos de SMA ou introduzir indicadores principais para reduzir os lags de tempo.

Conclusão

Esta é uma tendência de médio e longo prazo após a estratégia baseada no cruzamento da SMA. Identifica tendências com a SMA e controla riscos definindo take profit e stop loss. A vantagem é que é simples e fácil de implementar, adequado para iniciantes em negociação quantitativa. Enquanto isso, também há espaço para aprimoramento, como adicionar outros filtros de sinal, seguir o take profit/stop loss dinamicamente, ajustar as taxas de risco-recompensa com base na volatilidade, etc. Através de melhorias contínuas, a estratégia pode se tornar mais robusta e se adaptar a mais ambientes de mercado.


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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Masterdata

//@version=5
strategy("Simple MA Crossover Long Strategy v5", overlay=true)

// Define the short and long moving averages
shortMa = ta.sma(close, 9)
longMa = ta.sma(close, 21)

// Plot the moving averages on the chart
plot(shortMa, color=color.green)
plot(longMa, color=color.orange)

// Generate a long entry signal when the short MA crosses over the long MA
longCondition = ta.crossover(shortMa, longMa)
if (longCondition)
    strategy.entry("Long", strategy.long)

// Define the take profit and stop loss as a percentage of the entry price
takeProfitPerc = 1.5 / 100 // Take profit at 1.5% above entry price

stopLossPerc = 1.0 / 100 // Stop loss at 1.0% below entry price

// Calculate the take profit and stop loss price levels dynamically
takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPerc)
stopLossLevel = strategy.position_avg_price * (1 - stopLossPerc)

// Set the take profit and stop loss for the trade
if (longCondition)
    strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfitLevel, stop=stopLossLevel)

Mais.