Estratégia de lucro multicamadas de crossover de média móvel

SMA MA
Data de criação: 2024-04-26 15:16:12 última modificação: 2024-04-26 15:16:12
cópia: 1 Cliques: 582
1
focar em
1617
Seguidores

Estratégia de lucro multicamadas de crossover de média móvel

Visão geral

A estratégia usa o cruzamento de duas médias móveis para determinar a tendência do mercado, abrindo posições extras quando as médias móveis de curto prazo atravessam as médias móveis de longo prazo e, ao contrário, abrindo posições vazias. Ao mesmo tempo, a estratégia usa um método de fechamento de lucro em vários níveis, eliminando as posições em lotes quando o preço atinge o nível de lucro previsto, maximizando assim os ganhos e controlando o risco.

Princípio da estratégia

O núcleo da estratégia é o uso de médias móveis de diferentes períodos para capturar a tendência do mercado. Quando a média móvel de curto prazo cruza a média móvel de longo prazo, significa que o mercado pode entrar em uma tendência ascendente, abrindo mais posições; Quando a média móvel de curto prazo cruza a média móvel de longo prazo, significa que o mercado pode entrar em uma tendência descendente, abrindo posições vazias.

Vantagens estratégicas

  1. Simples e eficaz: a estratégia é baseada no clássico princípio da média móvel cruzada, é simples e fácil de entender, além de ter sido comprovada na prática.
  2. Multi-Level de Benefícios: Ao definir vários níveis de benefícios e fechar em lotes quando os preços atingem esses níveis, é possível maximizar os ganhos, além de controlar o risco.
  3. Flexibilidade de parâmetros: A configuração de parâmetros da estratégia é muito flexível, permitindo que o usuário ajuste o ciclo da média móvel e o nível de lucro de acordo com suas próprias necessidades e características do mercado para obter o melhor efeito.

Risco estratégico

  1. Risco de flutuação do mercado: Quando o mercado está em forte volatilidade, os sinais de cruzamento freqüentes podem levar a estratégias de negociação frequentes, aumentando os custos de negociação e o risco de retração.
  2. Riscos de configuração de parâmetros: configuração inadequada de parâmetros pode levar a um mau desempenho da estratégia, como a escolha inadequada do ciclo de média móvel ou a configuração irracional do nível de ganho.
  3. Risco de identificação de tendências: a estratégia depende principalmente da tendência e pode apresentar mais falsos sinais em mercados turbulentos ou quando a tendência não é clara, resultando em perdas.

Direção de otimização da estratégia

  1. Combinação com outros indicadores: Combinação com outros indicadores técnicos, como RSI, MACD, etc., pode ser considerada para melhorar a precisão e a confiabilidade da identificação de tendências.
  2. Parâmetros de otimização: é possível encontrar os melhores parâmetros de ciclo de média móvel e nível de lucro, através de rastreamento e otimização, para se adaptar a diferentes condições de mercado.
  3. Adição de stop loss: pode ser considerado o adição de um mecanismo de stop loss para controlar ainda mais o risco, por exemplo, stop loss dinâmico de acordo com a configuração do ATR.
  4. Alteração de entradas e saídas: pode-se explorar mais entradas e saídas, considerando fatores como volume de negócios, resistência de suporte e outros, para melhorar a estabilidade da estratégia.

Resumir

A estratégia de ganho de múltiplos níveis de ganho de média móvel é uma estratégia de acompanhamento de tendências simples e eficaz, que permite obter mais ganhos na tendência e controlar os riscos ao mesmo tempo. No entanto, a estratégia também possui algumas limitações e riscos, que precisam ser otimizados e melhorados de acordo com as condições específicas do mercado e as necessidades dos usuários.

Código-fonte da estratégia
/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 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/
// © ValdesTradingBots

//Follow Us for More Insights and Updates!

//Join our community and be the first to know about our new releases and trading tips

//Facebook Group: Join our vibrant community at https://www.facebook.com/groups/707469081464839/
//Twitter: Follow us for quick updates and insights at https://twitter.com/ValdesBots

//We're excited to have you with us!

//@version=5
strategy("Valdes Trading Bots MA Cross with Multiple Take Profits", overlay=true)

shortPeriod = input(18, title="Short MA Period")
longPeriod = input(32, title="Long MA Period")

// Take Profit Settings
tp1Enabled = input(true, title="Enable Take Profit 1")
tp1Perc = input(15, title="Take Profit 1 (%)") / 100
tp1QtyPerc = input(25, title="Take Profit 1 Qty (%)") / 100

tp2Enabled = input(true, title="Enable Take Profit 2")
tp2Perc = input(30, title="Take Profit 2 (%)") / 100
tp2QtyPerc = input(25, title="Take Profit 2 Qty (%)") / 100

tp3Enabled = input(true, title="Enable Take Profit 3")
tp3Perc = input(45, title="Take Profit 3 (%)") / 100
tp3QtyPerc = input(25, title="Take Profit 3 Qty (%)") / 100

tp4Enabled = input(true, title="Enable Take Profit 4")
tp4Perc = input(60, title="Take Profit 4 (%)") / 100
tp4QtyPerc = input(25, title="Take Profit 4 Qty (%)") / 100

shortMA = ta.sma(close, shortPeriod)
longMA = ta.sma(close, longPeriod)

// Determine the trend
uptrend = shortMA > longMA
downtrend = shortMA < longMA

// Assign candle colors based on the trend
candleColor = uptrend ? color.rgb(9, 112, 0) : downtrend ? color.rgb(255, 0, 0) : color.new(color.blue, 0)

plot(shortMA, title="Short MA", color=color.rgb(9, 112, 0))
plot(longMA, title="Long MA", color=color.rgb(255, 0, 0))

// Create a cross signal
longCross = ta.crossover(shortMA, longMA)
shortCross = ta.crossunder(shortMA, longMA)

// Strategy entry
if (longCross)
    strategy.entry("Long", strategy.long)
if (shortCross)
    strategy.entry("Short", strategy.short)

// Strategy take profit
if (tp1Enabled and strategy.position_size > 0)
    strategy.exit("TP1 Long", "Long", qty_percent=tp1QtyPerc, limit=strategy.position_avg_price * (1 + tp1Perc))
if (tp1Enabled and strategy.position_size < 0)
    strategy.exit("TP1 Short", "Short", qty_percent=tp1QtyPerc, limit=strategy.position_avg_price * (1 - tp1Perc))

if (tp2Enabled and strategy.position_size > 0)
    strategy.exit("TP2 Long", "Long", qty_percent=tp2QtyPerc, limit=strategy.position_avg_price * (1 + tp2Perc))
if (tp2Enabled and strategy.position_size < 0)
    strategy.exit("TP2 Short", "Short", qty_percent=tp2QtyPerc, limit=strategy.position_avg_price * (1 - tp2Perc))

if (tp3Enabled and strategy.position_size > 0)
    strategy.exit("TP3 Long", "Long", qty_percent=tp3QtyPerc, limit=strategy.position_avg_price * (1 + tp3Perc))
if (tp3Enabled and strategy.position_size < 0)
    strategy.exit("TP3 Short", "Short", qty_percent=tp3QtyPerc, limit=strategy.position_avg_price * (1 - tp3Perc))

if (tp4Enabled and strategy.position_size > 0)
    strategy.exit("TP4 Long", "Long", qty_percent=tp4QtyPerc, limit=strategy.position_avg_price * (1 + tp4Perc))
if (tp4Enabled and strategy.position_size < 0)
    strategy.exit("TP4 Short", "Short", qty_percent=tp4QtyPerc, limit=strategy.position_avg_price * (1 - tp4Perc))

// Plotting the signals on the chart
plotshape(series=longCross, title="Long Cross", location=location.belowbar, color=color.rgb(9, 112, 0), style=shape.triangleup, size=size.small)
plotshape(series=shortCross, title="Short Cross", location=location.abovebar, color=color.rgb(255, 0, 0), style=shape.triangledown, size=size.small)

// Apply candle color
barcolor(candleColor)