Estratégia de negociação combinada baseada em Bandas de Bollinger, Média Móvel e MACD


Data de criação: 2024-02-04 15:42:23 última modificação: 2024-02-04 15:42:23
cópia: 0 Cliques: 506
1
focar em
1230
Seguidores

Estratégia de negociação combinada baseada em Bandas de Bollinger, Média Móvel e MACD

Visão geral da estratégia

A estratégia combina três indicadores, a faixa de Brin, a média móvel e o MACD, formando um sistema de negociação mais completo. Ao mesmo tempo em que julga a tendência do mercado, também pode aproveitar algumas oportunidades de reversão.

Nome e princípios da estratégia

O nome desta estratégia é o de “Triângulo de Anéis de Anéis”, que destaca a utilização de três indicadores técnicos ao mesmo tempo para determinar a direção da tendência e o ponto de entrada de Anéis de Anéis.

A lógica básica da transação é:

  1. Para determinar a direção da tendência, use o eixo zero da correlação entre o eixo central da faixa de Bryn, a média móvel EMA e o MACD para determinar se o mercado está em uma fase de alta ou baixa.

  2. Buscar um momento para entrar no mercado. Depois de determinar a tendência de alta ou baixa, a estratégia julga a entrada no mercado com base em se a média móvel da EMA quebra a trajetória do meio de Brin e se a linha do MACD é positiva ou negativa para a linha de sinal de ruptura.

  3. Configuração de Stop Stop Loss. Quando você entra no campo, você pode definir o ponto de parada e o ponto de parada.

Análise de vantagens estratégicas

A maior vantagem da estratégia é que ela usa três tipos diferentes de indicadores técnicos para orientar a decisão: tendência, linha média e MACD. Isso permite que ela seja mais precisa na determinação do movimento do mercado e também é mais propício para aproveitar algumas oportunidades de reversão.

Em primeiro lugar, as linhas de órbita da faixa de Bryn refletem claramente a direção das principais tendências da fase atual. A função da linha de equilíbrio do EMA é acompanhar a operação da tendência. A comparação e a combinação delas permitem um julgamento mais preciso da situação atual de múltiplos e vazios.

Em segundo lugar, a faixa de Brin em si tem uma inclinação relativamente forte. Também reflete um certo ponto de pressão de suporte perto da linha de órbita central, portanto, a ruptura da linha EMA tem um certo valor de sinal.

Além disso, a inclusão do MACD também pode ser vista como uma diminuição da energia do ar. O tamanho de seus valores absolutos representa o estado de ânimo das massas, que pode ser alto ou frio, e pode indicar a possibilidade de uma reversão.

Por fim, a estratégia prevê condições de stop-loss que controlam o risco-benefício de uma única transação, garantindo a estabilidade geral.

Análise de risco estratégico

Embora a estratégia tenha incorporado várias ferramentas de análise, os principais riscos são os seguintes:

  1. Os parâmetros da faixa de Bryn são mal definidos, e a trajectória central não reflete claramente a tendência principal.

  2. O sistema linear emite um sinal de múltiplas cabeças, mas o MACD não foi explicitamente corrigido, e a força de cabeçalho pode ser ampliada.

  3. A escala de stop-loss é muito grande, e uma única perda pode aumentar.

Os principais soluções são:

  1. Ajustar os parâmetros da faixa de Bryn para garantir que a trajetória central reflita efetivamente a tendência principal.

  2. A introdução de mais indicadores técnicos para a determinação da energia do espaço.

  3. Avaliação do histórico de transações e otimização dos parâmetros de stop-loss.

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

A estratégia pode ser melhorada em vários aspectos:

  1. Introdução de mais indicadores para o julgamento de tendências. Julgamentos auxiliares como KDJ, ATR e outros, aumentam a precisão do julgamento.

  2. No nível operacional, configure uma forma mais detalhada de parar o prejuízo, como parar o movimento, aumentar a proporção de perda após a ruptura de uma nova alta (<<) e assim por diante.

  3. Avaliar o desempenho de diferentes variedades. Ajustar os parâmetros para mais características do mercado.

  4. Os resultados dos testes foram avaliados em diferentes prazos e mercados. Os parâmetros foram ajustados de acordo.

  5. Adição de algoritmos de aprendizado de máquina, otimização automática de parâmetros e atualização dinâmica de regras de estratégia.

Resumir

Esta estratégia utiliza simultaneamente os três principais indicadores técnicos, a faixa de Brin, a média móvel e a MACD. Ela julga a tendência com clareza, tem uma certa inclusão e também pode aproveitar algumas oportunidades de reversão. Com a introdução de mais ferramentas auxiliares para julgar e otimizar a estratégia de stop loss, espera-se obter um desempenho comercial mais estável.

Código-fonte da estratégia
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Combined Strategy", overlay=true, shorttitle="Comb Strat", default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Precio de beneficio y Stop Loss
takeProfitTicks = 87636
stopLossTicks = 53350

// Bollinger Bands + EMA
length_bb = input(150, title="BB Length")
src_bb = input(close, title="BB Source")
mult = input(2.0, title="BB StdDev")
basis = ta.sma(src_bb, length_bb)
dev = mult * ta.stdev(src_bb, length_bb)
upper = basis + dev
lower = basis - dev

len_ema = input(34, title="EMA Length")
src_ema = input(close, title="EMA Source")
out_ema = ta.ema(src_ema, len_ema)

typeMA = input("SMA", title="Method")
smoothingLength = input(5, title="Length")

var float smoothingLine = na
if (typeMA == "SMA")
    smoothingLine := ta.sma(out_ema, smoothingLength)
else if (typeMA == "EMA")
    smoothingLine := ta.ema(out_ema, smoothingLength)

// MACD
fast_length = input(title="Fast Length", defval=9)
slow_length = input(title="Slow Length", defval=17)
src_macd = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing", minval=1, maxval=50, defval=9)
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])

fast_ma = sma_source == "SMA" ? ta.sma(src_macd, fast_length) : ta.ema(src_macd, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src_macd, slow_length) : ta.ema(src_macd, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal

// Condiciones de compra y venta
longCondition = (out_ema > basis) and (macd > signal) and (signal > 0)
shortCondition = (out_ema < basis) and (macd < signal) and (signal < 0)

// Variables de estado
var bool longExecuted = na
var bool shortExecuted = na

// Estrategia
if (longCondition and not longExecuted)
    strategy.entry("Long", strategy.long)
    longExecuted := true
    shortExecuted := na
if (shortCondition and not shortExecuted)
    strategy.entry("Short", strategy.short)
    shortExecuted := true
    longExecuted := na

// Take Profit y Stop Loss para Compras y Ventas Cortas
strategy.exit("Take Profit/Close Long", from_entry="Long", profit=takeProfitTicks, loss=stopLossTicks)
strategy.exit("Take Profit/Close Short", from_entry="Short", profit=takeProfitTicks, loss=stopLossTicks)

// Cierre de posiciones cuando la dirección cambia
if ((out_ema < basis) and (macd < signal))
    strategy.close("Long")
    longExecuted := na
if ((out_ema > basis) and (macd > signal))
    strategy.close("Short")
    shortExecuted := na

// Plots
plot(basis, "BB Basis", color=#FF6D00)
plot(upper, "BB Upper", color=color.new(#2962FF, 0.5))
plot(lower, "BB Lower", color=color.new(#2962FF, 0.5))

plot(smoothingLine, title="Smoothing Line", color=#f37f20, linewidth=2)

hline(0, "Zero Line", color=color.new(#787B86, 50))
plot(hist, title="Histogram", style=plot.style_columns, color=(hist >= 0 ? (hist[1] < hist ? color.green : color.red) : (hist[1] < hist ? color.red : color.green)))
plot(macd, title="MACD", color=color.blue)
plot(signal, title="Signal", color=color.orange)