Estratégia de tendência das médias móveis ponderadas múltiplas

Autora:ChaoZhang, Data: 2023-12-20 15:59:56
Tags:

img

Resumo

A estratégia de tendência de médias móveis ponderadas múltiplas é uma estratégia de negociação de curto prazo baseada em indicadores de média móvel ponderada múltipla (WMA).

Estratégia lógica

A estratégia usa 5 WMAs de diferentes comprimentos de período simultaneamente, incluindo WMAs de 1 dia, 2 dias, 3 dias, 5 dias e 29 dias. Determina a direção da tendência atual de acordo com as relações de arranjo longo / curto entre essas médias móveis.

Na negociação real, se todos os MA são dispostos de cima para baixo - MA de 29 dias no topo, MA de 5 dias abaixo de MA de 29 dias, MA de 3 dias abaixo de MA de 5 dias, MA de 2 dias abaixo de MA de 3 dias e MA de 1 dia no fundo, isso significa uma tendência descendente e posições curtas devem ser consideradas.

Análise das vantagens

A maior vantagem desta estratégia de tendência multi-WMA reside em sua precisão de capturar pontos de virada de tendência de curto prazo. Em comparação com as estratégias de MA individuais, a abordagem multi-WMA combina vários períodos para determinar tendências, o que pode efetivamente filtrar falhas e evitar saídas prematuras devido a correções de mercado de curto prazo. Além disso, cruzes entre diferentes períodos de MA podem formar sinais de tendência bastante fortes.

Análise de riscos

A estratégia enfrenta dois riscos principais: primeiro, o risco de julgamento incorreto da tendência. Em alguns casos, os cruzes de MA no curto prazo podem não representar inversões reais da tendência, mas apenas correções temporárias, o que pode levar a decisões comerciais erradas. Em segundo lugar, configuração irracional de stop-loss. As estratégias de média móvel geralmente exigem intervalos de stop-loss relativamente amplos. Se as paradas forem muito apertadas, as posições podem ser freqüentemente paradas, incapazes de sustentar a tendência. Para controlar os riscos, podemos otimizar os períodos de MA, os níveis de stop-loss e combinar outros indicadores para confirmação.

Optimização

Vários aspectos da estratégia podem ser otimizados: primeiro, otimizar os parâmetros do período de MA para se adaptar a mais condições de mercado; segundo, combinar com outros indicadores como MACD e RSI para melhorar a qualidade do sinal; terceiro, adotar melhores técnicas de stop-loss como trailing stop e average stop para maximizar a proteção de lucro; quarto, testar combinações de parâmetros para encontrar configurações ideais e melhorar o desempenho.

Conclusão

A estratégia identifica pontos de virada de tendência de curto prazo usando múltiplas médias móveis ponderadas e negocia as reversões. Com julgamentos precisos, facilidade de uso e adequação para negociação de curto prazo, ao otimizar parâmetros, paradas e sinais, podemos controlar efetivamente os riscos de negociação e melhorar a eficácia da estratégia.


/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-19 00:00:00
period: 30m
basePeriod: 15m
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/
// © kingseif

//@version=5
strategy(title="EURCHF Scalp 3 minutes", overlay=true)

// Moving Averages
len1 = 29
len2 = 5
len3 = 3
len4 = 2
len5 = 1
src = close

wma1 = ta.wma(src, len1)
wma2 = ta.wma(src, len2)
wma3 = ta.wma(src, len3)
wma4 = ta.wma(src, len4)
wma5 = ta.wma(src, len5)

// Strategy
wma_signal = wma1 > wma2 and wma2 > wma3 and wma3 > wma4 and wma4 > wma5
wma_sell_signal = wma1 < wma2 and wma2 < wma3 and wma3 < wma4 and wma4 < wma5

// Position Management
risk = 1.00
stop_loss = 0
take_profit = 0

// Long Position
if wma_signal
    strategy.entry("Buy", strategy.long)
    
    if stop_loss > 0
        strategy.exit("Sell", from_entry="Buy", loss=stop_loss)
    
    if take_profit > 0
        strategy.exit("Sell", from_entry="Buy", profit=take_profit)

// Short Position
if wma_sell_signal
    strategy.entry("Sell", strategy.short)
    
    if stop_loss > 0
        strategy.exit("Cover", from_entry="Sell", loss=stop_loss)
    
    if take_profit > 0
        strategy.exit("Cover", from_entry="Sell", profit=take_profit)


Mais.