Estratégia de cruzamento da média móvel da faixa de Bollinger

Autora:ChaoZhang, Data: 2024-01-30 16:37:47
Tags:

img

Resumo

Esta é uma estratégia de negociação baseada no cruzamento de Bollinger Bands e médias móveis para tomar decisões de compra e venda. Ele usa principalmente o indicador Bollinger Bands no período de 5 minutos para determinar a faixa de flutuação de preços, combinado com médias móveis para determinar a direção da tendência, e forma uma estratégia de negociação de acordo com as situações de cruzamento de banda superior, banda inferior e banda média de Bollinger Bands. Esta estratégia é adequada para o par de moedas AUD/NZD.

Princípio da estratégia

  1. Use o indicador de Bandas de Bollinger para determinar os limites superior e inferior dos preços. A faixa média das Bandas de Bollinger é uma média móvel simples de 20 períodos, a faixa superior é a faixa média mais dois desvios padrão e a faixa inferior é a faixa média menos dois desvios padrão.

  2. Quando o preço de fechamento atravessa a faixa inferior para cima, isso indica que o preço começa a subir, então fazemos uma entrada longa aqui.

  3. Quando o preço de fechamento excede a faixa média das Bandas de Bollinger, significa que o preço subiu acima da faixa média, então nós saímos da posição aqui para terminar esta rodada de negociação.

  4. Quando o preço de fechamento atravessa a faixa superior para baixo, significa que o preço começa a descer, então nós fazemos uma entrada curta aqui.

  5. Quando o preço de fechamento quebra a faixa média das Bandas de Bollinger, significa que o preço caiu abaixo da faixa média, então nós saímos da posição aqui para terminar esta rodada de negociação.

Análise das vantagens

  1. Esta estratégia faz pleno uso das características das Bandas de Bollinger para capturar os saltos de preços da faixa inferior e quedas da faixa superior em tempo hábil, evitando perdas causadas por oportunidades de reversão perdidas.

  2. Forte lucratividade. Ao fazer entradas de compra e venda em pontos-chave e definir um stop loss razoável, ele pode mudar rapidamente de direção durante a transformação entre o mercado alcista e o mercado de baixa para obter melhores retornos.

  3. Formar sinais de negociação com base em um período de tempo de 5 minutos, que podem capturar tendências de curto prazo sem negociar com demasiada frequência para aumentar os custos de transação.

Análise de riscos

  1. Risco de convergência muito rápida das Bandas de Bollinger. Quando os preços do mercado flutuam violentamente, as bandas superior e inferior das Bandas de Bollinger convergem muito rapidamente, o que pode facilmente formar falhas e dar sinais errados.

  2. O risco de stop loss. Um stop loss que é muito pequeno pode ser facilmente quebrado, enquanto um stop loss muito grande pode levar a perdas enormes.

  3. O risco de alto custo de transação. Se a frequência de negociação for muito alta, os custos de transação também aumentarão significativamente. Precisamos ajustar adequadamente os parâmetros para reduzir a frequência de negociação.

Optimização

  1. Podemos testar diferentes combinações de parâmetros de ciclo e parâmetros de desvio padrão para encontrar o conjunto de parâmetros que melhor corresponde à faixa de volatilidade deste produto em particular.

  2. Adicionar outros indicadores para filtrar sinais falsos. Indicadores como KDJ e MACD podem ser introduzidos para evitar problemas causados por depender exclusivamente das Bandas de Bollinger.

  3. Otimizar a estratégia de stop loss. Podemos definir um stop loss mais preciso rastreando as mudanças de preço em tempo real. Outras estratégias como a linha de ações também podem ser usadas.

Conclusão

Esta estratégia é relativamente estável em geral com alguma rentabilidade. Ao otimizar parâmetros e estratégias de stop loss, os riscos de negociação podem ser reduzidos ainda mais para obter bons retornos em condições de mercado voláteis.


/*backtest
start: 2023-12-30 00:00:00
end: 2024-01-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © theTradeAI

strategy('TradeAI - 5min AUDNZD Strategy', overlay=true)

//////////////////////////////
//////// STOP ORDERS DETECTING
//////////////////////////////

length = input(1)

h = ta.highest(high, length)
l = ta.lowest(low, length)

//////////////////////////////
//////// EMAS
//////////////////////////////

emaLenght = input.int(200)

ema200 = ta.ema(close,emaLenght)

//////////////////////////////
//////// BOLLINGER BANDS
//////////////////////////////

length1 = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")

ma(source, length1, _type) => 
    switch _type
        "SMA" => ta.sma(source, length1)
        "EMA" => ta.ema(source, length1)
        "SMMA (RMA)" => ta.rma(source, length1)
        "WMA" => ta.wma(source, length1)
        "VWMA" => ta.vwma(source, length1)

basis = ma(src, length1, maType)
dev = mult * ta.stdev(src, length1)
upperr = basis + dev
lowerr = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)


//////////////////////////////
//////// ENTRY & EXIT
//////////////////////////////

// Buy entry
if ta.crossover(lowerr, close)
    strategy.entry('long', strategy.long, stop=h)

// Buy entry CANCEL
if close > lowerr
    strategy.cancel('long')

// Buy exit
if close > basis
    strategy.close('long')

// Sell entry
if ta.crossunder(upperr, close)
    strategy.entry('short', strategy.short, stop=l)

// Sell entry CANCEL
if close < upperr
    strategy.cancel('short')

// Sell exit
if close < basis
    strategy.close('short')



Mais.