O recurso está a ser carregado... Carregamento...

Tendência cruzada de média móvel dinâmica de acordo com a estratégia com o sistema de gestão de riscos ATR

Autora:ChaoZhang, Data: 2025-01-06 16:27:18
Tags:SMAATRMAEMAML

img

Resumo

Esta estratégia é um sistema de negociação que combina sinais de cruzamento de média móvel com gerenciamento de risco baseado em ATR. Captura as tendências do mercado através do cruzamento de médias móveis rápidas e lentas enquanto usa o indicador ATR para ajustar dinamicamente os níveis de stop-loss e take-profit, alcançando um controle preciso dos riscos de negociação. A estratégia também inclui um módulo de gerenciamento de dinheiro que ajusta automaticamente os tamanhos de posição com base no patrimônio da conta e nos parâmetros de risco pré-definidos.

Princípios de estratégia

A lógica central da estratégia baseia-se nos seguintes componentes essenciais:

  1. Sistema de Identificação de Tendência - usa cruzamento de médias móveis simples (SMA) de 10 períodos e 50 períodos para determinar a direção da tendência.
  2. Sistema de Gestão de Riscos - Emprega um indicador ATR de 14 períodos multiplicado por 1,5 para definir metas dinâmicas de stop-loss e take-profit.
  3. Sistema de Gestão de Dinheiro - Controla a quantidade de capital utilizada em cada negócio, definindo a tolerância ao risco (2%) e a alocação de capital (100%), garantindo o uso racional dos fundos.

Vantagens da estratégia

  1. Forte adaptabilidade - Ajusta dinamicamente os níveis de stop loss e take profit através do ATR, permitindo que a estratégia se adapte a diferentes ambientes de mercado.
  2. Controle de risco abrangente - Combina o controlo de risco baseado em percentagem com paradas dinâmicas do ATR, formando um mecanismo de protecção contra riscos duplos.
  3. Regras de funcionamento claras - As condições de entrada e saída são claras, facilitando a execução e o backtesting.
  4. Gerenciamento científico do dinheiro - Assegura um risco controlado por transação através de um mecanismo de alocação proporcional.

Riscos estratégicos

  1. Risco de mercado perturbado - Em mercados laterais, os cruzamento frequentes de MA podem conduzir a perdas consecutivas.
  2. Risco de deslizamento - Durante movimentos rápidos do mercado, os preços de execução reais podem desviar-se significativamente dos preços de sinal.
  3. Risco de eficiência do capital - A alocação de 100% do capital pode resultar numa utilização menos flexível dos fundos.

Orientações para a otimização da estratégia

  1. Adicionar Filtro de Tendência - Pode adicionar indicadores de força de tendência como o ADX para executar transações apenas em tendências fortes.
  2. Otimizar parâmetros de MA - Pode testar dados históricos para encontrar combinações ideais de períodos de média móvel.
  3. Melhorar a gestão de fundos - Recomendar a adição de um mecanismo dinâmico de dimensionamento de posições para ajustar automaticamente o tamanho das transações com base no desempenho da conta.
  4. Adicionar Filtro de Ambiente de Mercado - Pode adicionar indicadores de volatilidade ao comércio apenas em condições de mercado adequadas.

Resumo

Esta estratégia capta tendências através de cruzamento de MA e combina o controle de risco dinâmico ATR para criar uma tendência completa seguindo o sistema de negociação.


/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 3h
basePeriod: 3h
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/
// © davisash666

//@version=5
strategy("Trend-Following Strategy", overlay=true)

// Inputs for strategy parameters
timeframe = input.timeframe("D", "Timeframe")
risk_tolerance = input.float(2.0, "Risk Tolerance (%)", step=0.1) / 100
capital_allocation = input.float(200, "Capital Allocation (%)", step=1) / 100

// Technical indicators (used to emulate machine learning)
ma_length_fast = input.int(10, "Fast MA Length")
ma_length_slow = input.int(50, "Slow MA Length")
atr_length = input.int(14, "ATR Length")
atr_multiplier = input.float(1.5, "ATR Multiplier")

// Calculations
fast_ma = ta.sma(close, ma_length_fast)
slow_ma = ta.sma(close, ma_length_slow)
atr = ta.atr(atr_length)

// Entry and exit conditions
long_condition = ta.crossover(fast_ma, slow_ma)
short_condition = ta.crossunder(fast_ma, slow_ma)

// Risk management
stop_loss_long = close - (atr * atr_multiplier)
stop_loss_short = close + (atr * atr_multiplier)
take_profit_long = close + (atr * atr_multiplier)
take_profit_short = close - (atr * atr_multiplier)

// Capital allocation
position_size = strategy.equity * capital_allocation

// Execute trades
if long_condition
    strategy.entry("Long", strategy.long, qty=position_size / close)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=stop_loss_long, limit=take_profit_long)

if short_condition
    strategy.entry("Short", strategy.short, qty=position_size / close)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=stop_loss_short, limit=take_profit_short)

// Plotting for visualization
plot(fast_ma, color=color.green, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")
plot(stop_loss_long, color=color.blue, title="Stop Loss (Long)", linewidth=1, style=plot.style_cross)
plot(take_profit_long, color=color.purple, title="Take Profit (Long)", linewidth=1, style=plot.style_cross)


Relacionados

Mais.