Estratégia de scalping de Bitcoin baseada em padrões de crossover de média móvel e de velas

Autora:ChaoZhang, Data: 2024-02-29 12:01:47
Tags:

img

Resumo

Esta é uma estratégia de scalping de Bitcoin de 5 minutos baseada no cruzamento de médias móveis de 9 períodos e 15 períodos e padrões de velas. Especificamente, gera sinais de compra quando a média móvel rápida cruza acima da média móvel lenta e a vela forma um martelo ou marubozu.

Estratégia lógica

A estratégia usa duas médias móveis com períodos diferentes para a determinação da tendência. O MA de 9 períodos é mais sensível e pode capturar tendências de curto prazo. O MA de 15 períodos é mais estável e pode filtrar algum ruído. Quando o MA mais rápido cruza acima do MA mais lento, ele indica que a tendência de curto prazo está voltando para cima. O inverso é verdade para uma tendência de curto prazo que está caindo.

Além disso, os padrões de velas são usados para confirmação de sinais.

Os sinais e regras de negociação específicos são:

  1. O MA de 9 períodos cruza acima do MA de 15 períodos e o ângulo do MA de 15 períodos é superior a 30 graus, indicando uma tendência ascendente;

  2. Se a vela formar um martelo ou marubozu, mostrando um forte impulso ascendente, um sinal de compra é gerado;

  3. O cruzamento da MA de 9 períodos abaixo da MA de 15 períodos indica uma tendência de baixa e gera um sinal de venda independentemente dos padrões de velas;

  4. Configure stop loss para 0,5% e take profit para 0,5% após a entrada.

Análise das vantagens

As vantagens desta estratégia são as seguintes:

  1. Pequenos drawdowns e ganhos constantes - A perda por negociação é limitada, o que evita enormes drawdowns mesmo em mercados de baixa.

  2. Sinais claros - cruzamento MA combinado com padrões de velas identificam pontos de reversão da tendência de forma eficaz.

  3. Automatização fácil - Sinais simples e parâmetros ajustáveis tornam possível a negociação algorítmica.

  4. Adequado para a volatilidade do Bitcoin - As flutuações frequentes do Bitcoin fornecem muitas oportunidades de negociação de curto prazo.

Análise de riscos

Há também alguns riscos:

  1. Tendência a perdas pequenas múltiplas - A alta probabilidade de parar leva a perdas acumuladas.

  2. É necessário ajustar os parâmetros - A eficácia diminui se os períodos de MA e as definições de lucro não corresponderem às condições do mercado.

  3. Baseia-se em tendências fortes - Os movimentos laterais podem levar a negociações excessivas, mas a pequenos lucros.

As soluções são:

  1. Comércio de tamanhos maiores para garantir uma boa relação risco/recompensa.

  2. Ajustar os parâmetros de forma dinâmica com base nas alterações do mercado.

  3. Identificar os estados de mercado e evitar negociações em consolidações.

Orientações de otimização

Algumas maneiras de otimizar a estratégia:

  1. Adicionar mecanismos adaptativos para stop loss e take profit - Por exemplo, stop loss de seguimento em médias móveis, take profit dinâmico, etc.

  2. Adicionar filtros utilizando outros indicadores - por exemplo, RSI para sobrecompra/supervenda, aumento do volume, etc.

  3. Teste em outros produtos - Aplicar lógica semelhante ao scalping de commodities, futuros de índices, etc.

  4. Realizar otimização de parâmetros e backtesting para encontrar parâmetros ideais.

Conclusão

Em resumo, esta é uma estratégia de scalping Bitcoin eficaz. É simples de implementar e altamente configurável. Com otimizações contínuas, pode fornecer renda de scalping constante. No entanto, os riscos de negociação devem ser geridos com prudência, controlando o tamanho das posições e o stop loss.


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Moving Average Crossover Strategy with Candlestick Patterns", overlay=true)

// Define input parameters
fast_length = input(9, "Fast MA Length")
slow_length = input(15, "Slow MA Length")
stop_loss_percent = input(0.5, "Stop Loss (%)")
target_percent = input(0.5, "Target (%)")
angle_threshold = input(30, "Angle Threshold (degrees)")

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Define candlestick patterns
is_pin_bar() =>
    pin_bar = abs(open - close) > 2 * abs(open[1] - close[1])
    high_tail = max(open, close) - high > abs(open - close) * 1.5
    low_tail = low - min(open, close) > abs(open - close) * 1.5
    pin_bar and high_tail and low_tail

is_marubozu() =>
    marubozu = abs(open - close) > abs(open[1] - close[1]) * 0.75
    no_upper_shadow = high == max(open, close)
    no_lower_shadow = low == min(open, close)
    marubozu and no_upper_shadow and no_lower_shadow

is_full_body() =>
    full_body = abs(open - close) > abs(open[1] - close[1]) * 0.95
    full_body

// Plot moving averages
plot(fast_ma, color=color.blue, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")

// Calculate angle of slow moving average
ma_angle = abs(180 * (atan(slow_ma[1] - slow_ma) / 3.14159))

// Generate buy/sell signals based on angle condition and candlestick patterns
buy_signal = crossover(fast_ma, slow_ma) and ma_angle >= angle_threshold and (is_pin_bar() or is_marubozu() or is_full_body())
sell_signal = crossunder(fast_ma, slow_ma)

// Calculate stop-loss and target levels
stop_loss_level = close * (1 - stop_loss_percent / 100)
target_level = close * (1 + target_percent / 100)

// Execute trades based on signals with stop-loss and target
strategy.entry("Buy", strategy.long, when=buy_signal)
strategy.exit("Exit", "Buy", stop=stop_loss_level, limit=target_level)

// Plot buy/sell signals on chart (optional)
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Plot angle line
hline(angle_threshold, "Angle Threshold", color=color.black, linestyle=hline.style_dashed)


Mais.