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

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 de variação.

Autora:ChaoZhang, Data: 2024-07-29 14:27:58
Tags:SMAMAEMAATRSLTP

img

Resumo

A estratégia de cruzamento de média móvel adaptativa com trailing stop-loss é uma abordagem quantitativa de negociação que combina múltiplos indicadores técnicos. Esta estratégia depende principalmente de sinais de cruzamento entre médias móveis simples (SMA) rápidas e lentas para entradas de negociação, ao mesmo tempo em que emprega um stop-loss adaptativo para gerenciamento de riscos. A estratégia também incorpora recursos avançados, como dimensionamento de posição baseado em volatilidade e níveis de stop-loss adaptativos para melhorar sua adaptabilidade e robustez em várias condições de mercado.

Princípios de estratégia

A lógica central desta estratégia inclui os seguintes componentes essenciais:

  1. Crossover de média móvel: utiliza duas médias móveis simples (SMA) com períodos diferentes - uma SMA rápida (padrão 5 períodos) e uma SMA lenta (padrão 50 períodos).

  2. A estratégia utiliza um método dinâmico de dimensionamento das posições baseado no saldo da conta e no preço corrente.

  3. Trailing Stop-Loss: Implementa um mecanismo de stop-loss baseado em porcentagem.

  4. Características adaptativas: se a opção fancy_tests estiver ativada, a estratégia utiliza uma percentagem dinâmica de stop-loss baseada no desvio-padrão, permitindo que o nível de stop-loss se adapte à volatilidade do mercado.

  5. Logic de saída: A estratégia baseia-se principalmente no stop-loss de encerramento da posição, sem definir pontos fixos de take-profit.

Vantagens da estratégia

  1. Seguimento de tendências: Ao utilizar cruzamento de médias móveis, a estratégia pode capturar tendências de médio a longo prazo, benéficas para ganhos substanciais em mercados com tendências fortes.

  2. Gestão do risco: O mecanismo de stop-loss de rastreamento controla efetivamente o risco de queda, permitindo que os lucros sejam executados.

  3. Adaptabilidade: ao incorporar fatores de volatilidade para ajustar os níveis de stop-loss, a estratégia pode adaptar-se melhor aos diferentes ambientes de mercado.

  4. Gestão de capital: o dimensionamento dinâmico das posições ajuda a aumentar o tamanho das transacções à medida que a conta cresce e reduz automaticamente a exposição ao risco durante os saques da conta.

  5. Flexibilidade: A estratégia oferece vários parâmetros ajustáveis, tais como períodos de média móvel e percentagens de stop-loss, permitindo aos utilizadores otimizar com base em diferentes mercados e preferências pessoais de risco.

Riscos estratégicos

  1. False Breakouts: em mercados variáveis ou agitados, podem ocorrer frequentes falsas breakouts de médias móveis, levando a múltiplas saídas de stop-loss.

  2. Lag: As médias móveis são indicadores inerentemente atrasados, que podem não reagir suficientemente rapidamente em mercados altamente voláteis.

  3. O excesso de negociação: configurações inadequadas dos parâmetros podem resultar em entradas e saídas frequentes, aumentando os custos de transação.

  4. Risco de retração: Apesar do stop-loss, a estratégia pode ainda enfrentar retrações significativas em mercados em rápida reversão.

  5. Negociação unidireccional: A estratégia atualmente assume apenas posições longas, potencialmente perdendo oportunidades ou incorrendo em perdas em tendências descendentes.

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

  1. Análise multi-tempo: introduzir indicadores de tendência de longo prazo, como médias móveis de longo período, para reduzir os falsos sinais.

  2. Adicionar lógica de venda a curto prazo: alargar a estratégia para apoiar as operações a curto prazo, melhorando a abrangência e as oportunidades de lucro.

  3. Otimizar o calendário de entrada: considerar a combinação de outros indicadores técnicos (por exemplo, RSI, MACD) para filtrar os sinais comerciais e melhorar a precisão de entrada.

  4. Optimização de parâmetros dinâmicos: Implementar mecanismos de ajuste de parâmetros adaptativos, tais como ajuste dinâmico de períodos de média móvel com base na volatilidade do mercado.

  5. Introduzir um mecanismo de captação de lucros: Além das paradas de trailing, considere a adição de regras de captação de lucros baseadas em indicadores técnicos ou metas fixas.

  6. Melhorar a gestão das posições: aplicar estratégias mais sofisticadas de dimensionamento das posições, tais como as baseadas no critério Kelly ou noutros métodos de paridade de risco.

  7. Adicionar filtros fundamentais: para a negociação de ações, considerar a incorporação de indicadores fundamentais como condições adicionais de filtragem de negociação.

Conclusão

A estratégia de cruzamento de média móvel adaptativa com trailing stop-loss é uma abordagem abrangente que integra vários conceitos de negociação quantitativa. Captura tendências através de cruzamento de média móvel, gerencia o risco usando trailing stops e aumenta a adaptabilidade através de ajustes de parâmetros dinâmicos. Embora existam riscos e limitações inerentes, a otimização cuidadosa de parâmetros e melhorias adicionais da estratégia podem potencialmente transformá-la em um sistema de negociação robusto. O design modular da estratégia também fornece uma base sólida para futuras expansões e otimizações.


/*backtest
start: 2023-07-23 00:00:00
end: 2024-07-28 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/
// © chinmay.hundekari

//@version=5
//@version=5
strategy("test", overlay = true)

// Calculate two moving averages with different lengths.
SLMA = input.int(50,"SMA",minval=10,step=1)
FSMA = input.int(5,"SMA",minval=1,step=1)
fancy_tests = input.bool(true,"Enable Fancy Changes")
longLossPerc = input.float(2, title="Trailing Stop Loss (%)",
     minval=0.0, step=0.1) * 0.01
stdMult = input.float(2.0, title="Standard Deviation Multiplier",
     minval=0.0, step=0.01)

float fastMA = ta.sma(close, FSMA)
float slowMA = ta.sma(close, SLMA)
float closMA = ta.sma(close, 25)

confidence = 1.0
if (fancy_tests)
    longLossPerc := stdMult * ta.stdev(ohlc4, 20)/close
balance = strategy.initial_capital + strategy.netprofit
balanceInContracts = balance* confidence/close

// Enter a long position when `fastMA` crosses over `slowMA`.
if ta.crossover(fastMA, slowMA)
    strategy.entry("BUY", strategy.long, qty=balanceInContracts)
//longStopPrice  = strategy.position_avg_price * (1 - longLossPerc)
//Trailing Stop loss Code
longStopPrice = 0.0
percLoss = longLossPerc
longStopPrice := if strategy.position_size > 0
    //if (strategy.openprofit_percent/100.0 > longLossPerc)
    //    percLoss := math.min(strategy.openprofit_percent/200.0, longLossPerc)
    stopValue = close * (1 - percLoss)
    math.max(stopValue, longStopPrice[1])
else
    0
if strategy.position_size > 0
    strategy.exit("STP", stop=longStopPrice)
plot(strategy.position_size > 0 ? longStopPrice : na,
     color=color.red, style=plot.style_cross,
     linewidth=2, title="Long Stop Loss")
// Enter a short position when `fastMA` crosses under `slowMA`.
//if ta.crossunder(fastMA, closMA)
//    strategy.close_all("SEL")//strategy.entry("sell", strategy.short)

// Plot the moving averages.
plot(fastMA, "Fast MA", color.aqua)
plot(slowMA, "Slow MA", color.orange)
plot((confidence)*(close), "Confidence", color=color.green, linewidth=2)


Relacionados

Mais.