Estratégia de compra de rompimento de volume de preço

SMA
Data de criação: 2024-05-17 14:54:13 última modificação: 2024-05-17 14:54:13
cópia: 2 Cliques: 730
1
focar em
1617
Seguidores

Estratégia de compra de rompimento de volume de preço

Visão geral

A estratégia de compra e venda de breakouts de preço é uma estratégia de negociação que visa identificar oportunidades de compra por detecção de breakouts de preço e volume de transação que ocorrem simultaneamente em um intervalo de gráficos especificados. A estratégia primeiro usa um número específico de linhas de linha como uma janela de verificação de preços e volume de transação.

Princípio da estratégia

  1. Configure o ciclo de ruptura de preço e o ciclo de ruptura de volume como janelas de verificação.
  2. Obter o preço mais alto e o preço mais baixo durante o período de ruptura.
  3. Obter o maior volume de transações no período de ruptura de volume.
  4. Comece a fazer mais se o preço de fechamento for superior ao preço máximo do período anterior, o volume de negócios for superior ao volume máximo do período anterior, o preço de fechamento for superior à média móvel simples do comprimento da linha de tendência (SMA), e não houver nenhuma negociação de posição aberta no momento, e a direção do pedido não estiver em branco.
  5. Se os preços de fechamento estiverem abaixo da linha de tendência por cinco dias consecutivos, todos os excedentes serão liquidados.
  6. Se o preço de fechamento estiver abaixo do preço mínimo do período anterior, o volume de negociação for maior do que o volume máximo do período anterior, o preço de fechamento estiver abaixo do SMA do comprimento da linha de tendência, e não houver atualmente nenhuma negociação de posição aberta, e a direção do pedido não for muito, então comece a fechar.
  7. Se o preço de fechamento for superior ao SMA do comprimento da linha de tendência por 5 dias consecutivos, elimine todas as posições em aberto.

Vantagens estratégicas

  1. Ao mesmo tempo, o uso de breakouts de preço e volume de transação como sinais de compra e venda permite uma melhor confirmação da mudança de tendência.
  2. Antes de abrir uma posição, verifique se o preço está acima ou abaixo do SMA de longo prazo para garantir que a negociação esteja de acordo com as principais tendências do mercado.
  3. A configuração de uma sequência de fechamentos de vários dias através do SMA como um sinal de parada pode efetivamente capturar o fim da tendência.
  4. Aplica-se a ativos altamente voláteis, como o Bitcoin e o Ethereum, que podem ser aproveitados para lucrar com mudanças repentinas de preços e volumes de transação no mercado.

Risco estratégico

  1. A estratégia pode levar a transações frequentes, aumentando os custos de transação, em situações de pouca ou nenhuma tendência visível no mercado.
  2. Para mercados menos voláteis, como o índice S&P 500, o efeito da estratégia pode ser menos evidente do que no mercado de criptomoedas.
  3. A estratégia pode gerar menos sinais de negociação em quadros de tempo mais altos, já que a maioria das negociações tende a ter um período de posse mais longo.

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

  1. Ajustar a duração dos períodos de ruptura de preços e de ruptura de volumes de acordo com as diferentes características do mercado, de modo a adaptar-se às características de flutuação de diferentes ativos.
  2. Tente usar outros indicadores de confirmação de tendências, como a média móvel do índice, o MACD, etc., para melhorar a precisão do julgamento de tendências.
  3. Incluir medidas de gerenciamento de risco na estratégia, como a definição de limites de perda, posições de ajuste dinâmico, etc., para reduzir a barreira de risco de uma única transação.
  4. Para operações com um período de detenção mais longo, considere a inclusão de uma estratégia de stop-loss móvel para proteger melhor os lucros obtidos.

Resumir

A “estratégia de compra e venda de ruptura de preço” é uma estratégia de acompanhamento de tendências adequada para mercados altamente voláteis. Considerando simultaneamente os preços e o volume de transações, e combinando o SMA com o filtro de tendência, a estratégia pode capturar melhor as oportunidades de negociação em situações de força. No entanto, a estratégia pode não funcionar bem em mercados onde a tendência não é visível ou menos volátil, e pode correr o risco de transações frequentes.

Código-fonte da estratégia
/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 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/
// © tradedots

//@version=5
strategy("Price and Volume Breakout Buy Strategy [TradeDots]", overlay=true, initial_capital = 10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 70, commission_type = strategy.commission.percent, commission_value = 0.01)

input_price_breakout_period = input.int(60, "Price Breakout Period")
input_volume_breakout_period = input.int(60, "Volume Breakout Period")
input_trendline_legnth = input.int(200, "Trendline Length")
input_order_direction = input.string("Long", options = ["Long", "Short", "Long and Short"], title = "Order Direction")

price_highest = ta.highest(input_price_breakout_period)
price_lowest = ta.lowest(input_price_breakout_period)
volume_highest = ta.highest(volume, input_volume_breakout_period)

// Long Orders
if close > price_highest[1] and volume > volume_highest[1] and close > ta.sma(close, input_trendline_legnth) and strategy.opentrades == 0 and input_order_direction != "Short"
    strategy.entry("Long", strategy.long)
    // line.new(bar_index[input_price_breakout_period], price_highest[1], bar_index, price_highest[1], color = #9cff87, width = 2)
    // label.new(bar_index,low, "🟢 Breakout Buy", style = label.style_label_up, color = #9cff87)

// Close when price is below moving average for 5 consecutive days
if close < ta.sma(close, input_trendline_legnth) and close[1] < ta.sma(close, input_trendline_legnth) and close[2] < ta.sma(close, input_trendline_legnth) and close[3] < ta.sma(close, input_trendline_legnth) and close[4] < ta.sma(close, input_trendline_legnth) and strategy.opentrades.size(strategy.opentrades - 1) > 0
    strategy.close("Long")
    // label.new(bar_index, high, "🔴 Close Position", style = label.style_label_down, color = #f9396a, textcolor = color.white)

// Short Orders
if close < price_lowest[1] and volume > volume_highest[1] and close < ta.sma(close, input_trendline_legnth) and strategy.opentrades == 0 and input_order_direction != "Long"
    strategy.entry("Short", strategy.short)
    // line.new(bar_index[input_price_breakout_period], price_lowest[1], bar_index, price_lowest[1], color = #f9396a, width = 2)
    // label.new(bar_index,high , "🔴 Breakout Sell", style = label.style_label_down, color = #f9396a, textcolor = color.white)

// Close when price is above moving average for 5 consecutive days
if close > ta.sma(close, input_trendline_legnth) and close[1] > ta.sma(close, input_trendline_legnth) and close[2] > ta.sma(close, input_trendline_legnth) and close[3] > ta.sma(close, input_trendline_legnth) and close[4] > ta.sma(close, input_trendline_legnth) and strategy.opentrades.size(strategy.opentrades - 1) < 0
    strategy.close("Short")
    // label.new(bar_index, low, "🟢 Close Position", style = label.style_label_up, color = #9cff87)

plot(ta.sma(close, input_trendline_legnth), color = color.white, linewidth = 2)
plotcandle(open, high, low, close, title='Candles', color = (close > ta.sma(close, input_trendline_legnth) ? #9cff87 : #f9396a), wickcolor=(close > ta.sma(close, input_trendline_legnth) ? #9cff87 : #f9396a), force_overlay = true)