Estratégia de negociação de força equilibrada impulsionada por limite de momentum

BOP TA MA RSI THRESHOLD momentum LEVERAGE EQUITY
Data de criação: 2025-02-24 09:35:40 última modificação: 2025-02-27 16:50:22
cópia: 1 Cliques: 368
2
focar em
319
Seguidores

Estratégia de negociação de força equilibrada impulsionada por limite de momentum Estratégia de negociação de força equilibrada impulsionada por limite de momentum

Visão geral

A estratégia é um sistema de negociação baseado em dinâmica, que utiliza o indicador Balance of Power para negociar em períodos de 4 horas. A estratégia inclui gerenciamento de posições dinâmicas, alavancagem ajustável e rastreamento de negociações visuais para capturar efetivamente os pontos de inflexão da tendência do mercado.

Princípio da estratégia

O núcleo da estratégia é medir o equilíbrio de forças de compra e venda no mercado através do cálculo ((preço de fechamento - preço de abertura) / ((preço máximo - preço mínimo). Quando esse valor está perto de 1, representa uma forte pressão de baixa. Quando está perto de 1, representa uma forte pressão de baixa. A lógica de negociação específica é a seguinte:

  • Condições de abertura: quando o indicador de força de equilíbrio usa 0,8, indica que o comprador é forte e faz mais
  • Condições de posição equilibrada: quando o indicador de força de equilíbrio atravessa -0.8, indicando que a pressão do vendedor aumenta, a saída de posição equilibrada
  • Gerenciamento de posições: Ajustes dinâmicos baseados em direitos e interesses da conta e multiplicadores de alavancagem configuráveis

Vantagens estratégicas

  1. Clareza de sinal: Trigger de limiar fixo, evitar transações frequentes e focar em sinais de alta certeza
  2. Risco controlado: gerenciamento de risco flexível com posições dinâmicas e alavancagem ajustável
  3. Forte visualização: fornece marcas e histórico de transações para facilitar o rastreamento e a otimização de estratégias
  4. Boa adaptabilidade: adaptação a um ambiente de mercado mais volátil, com capacidade de captar mudanças de tendência em tempo hábil

Risco estratégico

  1. Risco de deslizamento: pode haver um deslizamento maior em situações de forte volatilidade
  2. Risco de falha de penetração: pode desencadear falha de sinais de penetração e causar prejuízos
  3. Dependência de tendência: o mercado pode ficar fraco em momentos de turbulência
  4. Risco de alavancagem: alavancagem excessiva pode levar a perdas graves

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

  1. Introdução de filtros de tendências: determinar a direção das grandes tendências em combinação com outros indicadores técnicos
  2. Optimizar a configuração de barreiras: ajustar as barreiras de acordo com a dinâmica de diferentes ambientes de mercado
  3. Melhorar os mecanismos de suspensão de perdas: aumentar os meios de controle de risco, como o rastreamento de perdas
  4. Aumentar o tempo de filtragem: considerando fatores de tempo como a divulgação de dados econômicos importantes

Resumir

A estratégia capta as mudanças na dinâmica do mercado por meio de indicadores de equilíbrio de forças, combinados com gerenciamento dinâmico de posições e controle de risco, construindo um sistema de negociação relativamente completo. Embora haja algum risco, a estabilidade e a lucratividade da estratégia podem ser melhoradas ainda mais com a otimização e o aperfeiçoamento contínuos.

Código-fonte da estratégia
/*backtest
start: 2024-02-25 00:00:00
end: 2025-02-22 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy(title="Balance of Power for US30 4H", format=format.price, precision=2, default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=true, commission_value=0.01, max_labels_count=500, max_lines_count = 500)

leverage = input.float(5, "Leverage 1:", tooltip="Multiply your equity (100%) times the leverage.")

p = (close - open) / (high - low)
qty = strategy.equity * leverage / close

if ta.crossover(p, 0.8)
    strategy.entry("L", strategy.long, qty=qty)

if ta.crossunder(p, -0.8)
    strategy.close("L")

green   = color.new(#0097a7, 0)
red     = color.new(#ff195f, 0)
green90 = color.new(#0097a7, 85)
red90   = color.new(#ff195f, 85)

if strategy.position_size > strategy.position_size[1]
    label.new(bar_index, low * 0.999, text="▲", textcolor=green, size=size.normal, textalign=text.align_center, color=green90, style=label.style_text_outline)
    label.new(bar_index, low * 0.999, text="Buy", textcolor=green, size=size.tiny, textalign=text.align_center, color=green90, style=label.style_label_up)

if strategy.position_size < strategy.position_size[1]
    label.new(bar_index, high * 1.001, text="▼", textcolor=red, size=size.normal, textalign=text.align_center, color=red90, style=label.style_text_outline)
    label.new(bar_index, high * 1.001, text="Close", textcolor=red, size=size.tiny, textalign=text.align_center, color=red90, style=label.style_label_down)


var float tradeEntryPrice = na
var int   tradeEntryBar   = na

if strategy.position_size > 0 and strategy.position_size[1] == 0
    tradeEntryPrice := close
    tradeEntryBar   := bar_index


if strategy.position_size == 0 and strategy.position_size[1] > 0
    exitPrice = close
    exitBar   = bar_index
    tradeColor = (exitPrice - tradeEntryPrice > 0) ? green : red

    topPrice    = math.max(tradeEntryPrice, exitPrice)
    bottomPrice = math.min(tradeEntryPrice, exitPrice)

    box.new(tradeEntryBar, topPrice, exitBar, bottomPrice, border_width=0, bgcolor=color.new(tradeColor, 85))
    line.new(tradeEntryBar, topPrice, exitBar, topPrice, color=tradeColor, width=1)
    line.new(tradeEntryBar, bottomPrice, exitBar, bottomPrice, color=tradeColor, width=1)