O recurso está a ser carregado... Carregamento...

Estratégia de compra de ruptura de preço e volume

Autora:ChaoZhang, Data: 2024-05-17 14:54:13
Tags:SMA

img

Resumo

A estratégia de compra de ruptura de preço e volume é uma estratégia de negociação projetada para identificar oportunidades de compra detectando rupturas de preço e volume simultâneas em uma faixa especificada de velas. A estratégia primeiro leva o número específico de velas como janela de exame para preço e volume. Estes valores são usados como referência para identificar condições de ruptura.

Princípio da estratégia

  1. Defina o período de ruptura do preço e o período de ruptura do volume como janela de exame.
  2. Obter o preço mais alto e o preço mais baixo dentro do período de ruptura de preço.
  3. Obter o maior volume de negociação no período de ruptura do volume.
  4. Se o preço de fechamento for superior ao preço mais alto do período anterior, o volume de negociação for superior ao volume de negociação mais alto do período anterior, o preço de fechamento for superior à média móvel simples (SMA) do comprimento da linha de tendência e não existirem atualmente transações abertas e a direção da ordem não estiver definida como curta, em seguida, comece a ser longa.
  5. Se o preço de fechamento for inferior à SMA do comprimento da linha de tendência durante 5 dias consecutivos, fechar todas as posições longas.
  6. Se o preço de fechamento for inferior ao preço mais baixo do período anterior, o volume de negociação for superior ao volume de negociação mais alto do período anterior, o preço de fechamento for inferior à SMA do comprimento da linha de tendência e não houver atualmente negociações abertas e a direção da ordem não estiver definida para longo, em seguida, comece a ser curto.
  7. Se o preço de fechamento for superior à SMA do comprimento da linha de tendência durante 5 dias consecutivos, fechar todas as posições curtas.

Vantagens da estratégia

  1. Usando tanto os breakouts de preço como os de volume como sinais de compra e venda pode confirmar melhor as mudanças de tendência.
  2. A verificação de se o preço está acima ou abaixo da SMA de longo prazo antes de abrir uma posição garante que as transações estejam em linha com a principal tendência do mercado.
  3. A definição do preço de fechamento cruzando a SMA por vários dias consecutivos como sinal de fechamento pode capturar efetivamente o fim da tendência.
  4. Adequado para ativos altamente voláteis, como Bitcoin e Ethereum, pode tirar proveito de mudanças repentinas nos preços de mercado e volumes de negociação para lucrar.

Riscos estratégicos

  1. Em mercados com baixa volatilidade ou sem tendências óbvias, esta estratégia pode conduzir a operações frequentes, aumentando assim os custos de transação.
  2. Para os mercados com menor volatilidade, como o índice S&P 500, o efeito desta estratégia pode não ser tão significativo quanto no mercado de criptomoedas.
  3. Esta estratégia pode gerar menos sinais de negociação em prazos mais longos, uma vez que a maioria dos negócios tende a ter um período de retenção mais longo.

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

  1. Ajustar a duração do período de ruptura do preço e do período de ruptura do volume em função das diferentes características do mercado para se adaptar às características de volatilidade dos diferentes ativos.
  2. Tente utilizar outros indicadores de confirmação da tendência, tais como médias móveis exponenciais, MACD, etc., para melhorar a precisão do julgamento da tendência.
  3. Incorporar na estratégia medidas de gestão do risco, tais como a fixação de níveis de stop-loss e o ajustamento dinâmico das posições para reduzir a exposição ao risco de uma única operação.
  4. Para operações com períodos de retenção mais longos, considere a adição de uma estratégia de trailing stop para proteger melhor os lucros já obtidos.

Resumo

A Price and Volume Breakout Buy Strategy é uma estratégia de seguimento de tendências adequada para mercados altamente voláteis. Considerando tanto os breakouts de preço quanto de volume, e combinando a SMA de longo prazo como um filtro de tendência, esta estratégia pode capturar melhor as oportunidades de negociação em mercados fortes. No entanto, esta estratégia pode ter um desempenho fraco em mercados sem tendências óbvias ou baixa volatilidade e pode enfrentar o risco de negociação frequente. Portanto, em aplicações práticas, é necessário otimizar e ajustar adequadamente a estratégia de acordo com diferentes características do mercado e estilos de negociação pessoais para melhorar sua estabilidade e lucratividade.


/*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)



Relacionados

Mais.