Estratégia de Negociação PowerZone

PZ TP SL EMA RSI
Data de criação: 2025-03-31 17:34:35 última modificação: 2025-03-31 17:34:35
cópia: 0 Cliques: 351
2
focar em
319
Seguidores

Estratégia de Negociação PowerZone Estratégia de Negociação PowerZone

Visão geral

A estratégia de negociação PowerZone é um método de negociação automatizado inovador, focado em capturar movimentos de preços fortes no mercado. A estratégia fornece aos comerciantes sinais claros de entrada e saída, identificando áreas de preços específicas (denominadas “PowerZones”), além de mecanismos de gerenciamento de risco embutidos.

Princípio da estratégia

O núcleo da estratégia está na identificação de dois tipos-chave de PowerZone:

  1. A Bolsa de Valores (Bullish PowerZone):

    • Inicialmente uma linha de K de um mercado de ações (preço de fechamento abaixo do preço de abertura)
    • Em seguida, várias linhas K consecutivas (default 5) apresentaram uma tendência ascendente
    • Mudança de preço global acima do limiar predeterminado (default 2%)
  2. O que é que a gente está a fazer?

    • Começou como uma linha K de mercado de touros (preço de fechamento mais alto do que o preço de abertura)
    • Em seguida, várias linhas K apresentaram uma tendência descendente.
    • Mudança de preço global acima do limiar previsto

Vantagens estratégicas

  1. Identificação automática de pontos de inflexão de tendências
  2. Flexível configuração de parâmetros embutida
  3. Exposição visual clara
  4. Gestão automática de riscos (paradas de parada)
  5. Aplicável a diversos contextos de mercado
  6. Código simplificado, fácil de entender e modificar

Risco estratégico

  1. Parâmetros mal definidos podem levar a transações excessivas
  2. Segmentos de mercado em turbulência podem gerar sinais errados
  3. Posições fixas podem aumentar o risco de perdas individuais
  4. Falta de mecanismos de filtragem complexos
  5. Sem considerar tendências e ciclos de mercado mais amplos

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

  1. Introdução de condições de filtragem adicionais

    • Combinação de indicadores de tendência (como EMA)
    • Indicadores de dinâmica de integração (como o RSI)
    • Adicionar mecanismo de confirmação de volume
  2. Gestão de posições dinâmicas

    • Dimensões de posições ajustadas em função da volatilidade do mercado
    • Implementação de controlo de posições em percentagem de risco
  3. Verificação de Multi-Framas de Tempo

    • Sinais de verificação cruzada em diferentes períodos de tempo
    • Melhorar a fiabilidade do sinal

Resumir

A estratégia de negociação PowerZone oferece aos comerciantes uma abordagem estruturada de negociação, identificando sistematicamente as áreas de força de preços. Suas vantagens centrais são a automação, a visualização e a flexibilidade, mas também o ajuste cuidadoso dos parâmetros e a otimização contínua do mecanismo de gerenciamento de risco.

Código-fonte da estratégia
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradingbauhaus

//@version=6
strategy("PowerZone Trading Strategy", overlay=true, shorttitle="PZStrat", default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Inputs 
periods    = input.int(5, title="Periods for PowerZone", minval=1)
threshold  = input.float(0.0, title="Min % Move for PowerZone", step=0.1, minval=0.0)
usewicks   = input.bool(false, title="Use Full Range [High/Low]?")

tp_factor  = input.float(1.5, title="Take Profit Factor", step=0.1, minval=0.5)
sl_factor  = input.float(1.0, title="Stop Loss Factor", step=0.1, minval=0.5)

colors     = input.string("DARK", title="Color Scheme", options=["DARK", "BRIGHT"])
showbull   = input.bool(true, title="Show Bullish Channel?")
showbear   = input.bool(true, title="Show Bearish Channel?")
showdocu   = input.bool(false, title="Show Documentation?")
info_pan   = input.bool(true, title="Show Info Panel?")

// Core Variables
bullcolor = colors == "DARK" ? color.white : color.green
bearcolor = colors == "DARK" ? color.blue  : color.red
ob_period = periods + 1

// PowerZone Detection
absmove = math.abs((close[ob_period] - close[1]) / close[ob_period]) * 100
relmove = absmove >= threshold

// Bullish PowerZone
bullishPZ = close[ob_period] < open[ob_period]
upcandles = 0
for i = 0 to periods - 1
    upcandles := upcandles + (close[i + 1] > open[i + 1] ? 1 : 0)
PZ_bull = bullishPZ and upcandles == periods and relmove
PZ_bull_high = PZ_bull ? (usewicks ? high[ob_period] : open[ob_period]) : na
PZ_bull_low  = PZ_bull ? low[ob_period] : na
PZ_bull_avg  = PZ_bull ? (PZ_bull_high + PZ_bull_low) / 2 : na

// Bearish PowerZone
bearishPZ = close[ob_period] > open[ob_period]
downcandles = 0
for i = 0 to periods - 1
    downcandles := downcandles + (close[i + 1] < open[i + 1] ? 1 : 0)
PZ_bear = bearishPZ and downcandles == periods and relmove
PZ_bear_high = PZ_bear ? high[ob_period] : na
PZ_bear_low  = PZ_bear ? (usewicks ? low[ob_period] : open[ob_period]) : na
PZ_bear_avg  = PZ_bear ? (PZ_bear_high + PZ_bear_low) / 2 : na

// Strategy Logic
var float bull_entry = na
var float bull_tp    = na
var float bull_sl    = na
var float bear_entry = na
var float bear_tp    = na
var float bear_sl    = na

if PZ_bull and close > PZ_bull_high and strategy.position_size == 0
    bull_entry := close
    bull_tp    := bull_entry + (PZ_bull_high - PZ_bull_low) * tp_factor
    bull_sl    := PZ_bull_low - (PZ_bull_high - PZ_bull_low) * sl_factor
    strategy.entry("BullPZ", strategy.long)
    strategy.exit("BullExit", "BullPZ", limit=bull_tp, stop=bull_sl)

if PZ_bear and close < PZ_bear_low and strategy.position_size == 0
    bear_entry := close
    bear_tp    := bear_entry - (PZ_bear_high - PZ_bear_low) * tp_factor
    bear_sl    := PZ_bear_high + (PZ_bear_high - PZ_bear_low) * sl_factor
    strategy.entry("BearPZ", strategy.short)
    strategy.exit("BearExit", "BearPZ", limit=bear_tp, stop=bear_sl)

// Visualization
plot(PZ_bull_high, title="Bull High", color=bullcolor, style=plot.style_linebr, linewidth=2, offset=-ob_period)
plot(PZ_bull_low, title="Bull Low", color=bullcolor, style=plot.style_linebr, linewidth=2, offset=-ob_period)
plot(PZ_bear_high, title="Bear High", color=bearcolor, style=plot.style_linebr, linewidth=2, offset=-ob_period)
plot(PZ_bear_low, title="Bear Low", color=bearcolor, style=plot.style_linebr, linewidth=2, offset=-ob_period)

// Alerts
alertcondition(PZ_bull and close > PZ_bull_high, title="Bullish Entry", message="Bullish PowerZone Breakout - LONG!")
alertcondition(PZ_bear and close < PZ_bear_low, title="Bearish Entry", message="Bearish PowerZone Breakdown - SHORT!")

// Info Panel
var label info_panel = na
if info_pan
    if not na(info_panel)
        label.delete(info_panel)
    panel_text = "POWERZONE STRATEGY\n" + 
                 "Bull High: " + str.tostring(PZ_bull_high, "#.##") + " | TP: " + str.tostring(bull_tp, "#.##") + " | SL: " + str.tostring(bull_sl, "#.##") + "\n" + 
                 "Bear High: " + str.tostring(PZ_bear_high, "#.##") + "\n" + 
                 "Bear Low: " + str.tostring(PZ_bear_low, "#.##") + " | TP: " + str.tostring(bear_tp, "#.##") + " | SL: " + str.tostring(bear_sl, "#.##")
    info_panel := label.new(x=bar_index, y=high, text=panel_text, xloc=xloc.bar_index, yloc=yloc.abovebar, color=color.gray, textcolor=color.white, size=size.normal)

// Documentation
if showdocu
    label.new(x=bar_index, y=low, text="PowerZone Strategy\nLONG on breakout above Bull PZ High\nSHORT on breakdown below Bear PZ Low", xloc=xloc.bar_index, yloc=yloc.belowbar, color=color.gray, textcolor=color.white, size=size.tiny)