Estratégias de negociação de breakout


Data de criação: 2023-11-02 16:40:26 última modificação: 2023-11-02 16:40:26
cópia: 1 Cliques: 573
1
focar em
1617
Seguidores

Estratégias de negociação de breakout

Visão geral

A estratégia baseia-se na teoria das rupturas e determina se a tendência está se revertendo, comparando os preços mais altos e os preços mais baixos, para descobrir potenciais pontos de ruptura e negociar quando os pontos de ruptura ocorrem. A estratégia é simples e direta, e é usada para acompanhar os indicadores de mudanças drásticas na tendência.

Princípio da estratégia

A estratégia primeiro calcula a média móvel do preço máximo e mínimo em um determinado período de tempo, de acordo com a configuração do usuário. A média móvel mais alta representa a subida e a média móvel mais baixa representa a descida. Quando o preço quebra a subida, a estratégia abrirá uma posição maior, indicando uma tendência de alta.

A estratégia também oferece uma opção de paragem de perda. Quando você faz mais, o ponto de parada é para cima; quando você faz mais, o ponto de parada é para baixo. Isso pode reduzir os prejuízos.

Vantagens estratégicas

A estratégia tem as seguintes vantagens:

  1. A estratégia é simples, direta, fácil de entender e de implementar.

  2. A capacidade de capturar rapidamente os pontos de inflexão da tendência de preços e ajustar a posição em tempo hábil.

  3. O método de suspensão de perdas opcional pode ser configurado de acordo com as preferências de risco individuais.

  4. Os sinais de transação são gerados de forma clara, sem frequência de falsos sinais.

  5. Os parâmetros configuráveis são menores e mais fáceis de usar.

  6. A configuração é flexível e pode ser feita em tempo integral ou em tempo parcial.

Risco estratégico

A estratégia também apresenta alguns riscos:

  1. O sinal de ruptura pode ter sido falso e não duradouro.

  2. A configuração incorreta do ciclo de ruptura pode perder a tendência de linhas mais longas.

  3. A brecha não teve em conta o volume de transações e pode ter levado a uma alta ou baixa.

  4. Há um certo atraso, e você pode ter perdido a melhor parte.

  5. O ponto de paralisação pode ser ultrapassado quando a situação é violenta.

  6. Os lucros são incertos se você negociar apenas com base nos seus pontos de ruptura.

Otimização de Estratégia

A estratégia pode ser melhorada em vários aspectos:

  1. Em combinação com indicadores de volume de transação, evite falsas rupturas. Por exemplo, o volume de transação é amplificado quando a ruptura ocorre, indicando que a ruptura pode ser real e eficaz.

  2. Otimizar os parâmetros de periodicidade das médias móveis para que possam ser adaptadas às mudanças de tendência em diferentes períodos. Também é possível experimentar diferentes tipos de médias móveis.

  3. Pode-se definir a amplitude de retroalimentação para uma confirmação adicional após a ocorrência do ponto de ruptura, evitando a falsa ruptura.

  4. Pode-se adicionar ferramentas de média móvel de índices, como o canal de Bollinger, na base de ruptura, para obter mais instruções de direção.

  5. Pode ser combinado com outros INDICATORES, como RSI, MACD, etc., para obter mais sinais auxiliares de negociação e melhorar a precisão das decisões.

  6. Optimizar a estratégia de stop loss para melhor adaptá-la às flutuações do mercado e, ao mesmo tempo, controlar o risco.

Resumir

A estratégia de negociação de ruptura é clara e fácil de entender, através do acompanhamento de preços de ruptura para cima e para baixo para julgar o momento de entrada e saída. O espaço de otimização da estratégia é grande, e pode ser reforçado pela integração de mais informações de indicadores e otimização de parâmetros para fortalecer o efeito da estratégia. Depois de familiarizar-se com a estratégia básica, pode-se obter melhores efeitos de negociação de acordo com os parâmetros necessários.

Código-fonte da estratégia
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's Brakeout Strategy v2.0", shorttitle = "Brakeout str 2.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(4, defval = 4, minval = 1, maxval = 1000, title = "Length")
bod = input(false, defval = false, title = "Body mode")
rev = input(false, defval = false, title = "Revers")
showlines = input(true, defval = true, title = "Show Lines?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Extremums
min = bod ? min(open, close) : low
max = bod ? max(open, close) : high
upex = highest(max, len) + syminfo.mintick * 10
dnex = lowest(min, len) - syminfo.mintick * 10
col = showlines ? blue : na
plot(upex, color = col, linewidth = 2)
plot(dnex, color = col, linewidth = 2)

//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if (not na(close[len])) and rev == false
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = upex)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnex)
    
if (not na(close[len])) and rev == true
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnex)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = upex)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()