Estratégias de stop-loss e take-profit de acompanhamento de tendências


Data de criação: 2024-01-24 14:17:28 última modificação: 2024-01-24 14:17:28
cópia: 1 Cliques: 661
1
focar em
1617
Seguidores

Estratégias de stop-loss e take-profit de acompanhamento de tendências

Visão geral

Esta é uma estratégia de acompanhamento de tendências baseada no indicador de Brin e que utiliza o indicador ATR para definir um stop loss. Esta estratégia determina primeiro a tendência do mercado, na linha IRONMENT, e define um stop loss quando a posição está parada.

Princípio da estratégia

  1. Calcular as subida e descida da faixa de Bryn.
  2. O preço de fechamento deve ser julgado se está acima ou abaixo da linha de alta, ou se está acima ou abaixo da linha de baixa, ou se está acima ou abaixo da linha de baixa.
  3. Se for um mercado em tendência, a linha de circunstância é calculada. A linha de circunstância é baseada no preço mínimo menos o valor do ATR (mercado de múltiplos títulos) ou no preço máximo mais o valor do ATR (mercado de títulos vazios).
  4. Se não for um mercado de tendência, a linha ambiental permanece igual à linha ambiental da linha K anterior.
  5. Comparar a linha ENVIRONMENT para determinar a direção da tendência.
  6. Quando a linha ENVIRONMENT muda de direção, gera um sinal de compra/venda.
  7. Paragem de perda de configuração: a distância de parada fixa é 100 vezes o preço de entrada; a distância de parada flutuante é 1,1 vezes o preço de entrada (multi-cabeça) ou 0,9 vezes (cabeça vazia).

Análise de vantagens

  1. A partir de agora, os investidores poderão avaliar as tendências do mercado e reduzir as falsas brechas.
  2. Configure a linha ENVIRONMENT para evitar que você seja apanhado.
  3. O Stop Loss Bar é razoavelmente configurado para controlar o risco e, ao mesmo tempo, garantir o lucro.

Análise de Riscos

  1. A configuração incorreta dos parâmetros pode levar a oportunidades de negociação perdidas.
  2. O indicador de faixa de Bryn tem uma maior probabilidade de erro de julgamento em situações de tremor.
  3. Se o ponto de parada for muito próximo, o segundo pode ser eliminado.

Direção de otimização

  1. Optimizar os parâmetros da faixa de brim para melhor adaptá-la a diferentes variedades.
  2. Otimizar o cálculo da linha ENVIRONMENT, como a introdução de outros indicadores.
  3. Testar e otimizar as configurações de parâmetros do impedimento de perda.

Resumir

Esta é uma estratégia de julgamento de tendências com a barra de Brin, usando a linha de ENVIRONMENT para definir o ponto de parada. A vantagem central é que o julgamento de tendências é claro, a configuração do ponto de parada é razoável e pode controlar o risco de forma eficaz. O principal risco está no erro de julgamento de tendências com a barra de Brin e no ponto de parada muito próximo.

Código-fonte da estratégia
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © zhuenrong

// © Dreadblitz
//@version=4
strategy(shorttitle="FLI", title="Follow Line Indicator", overlay=true)
// 
BBperiod      = input(defval = 21,     title = "BB Period",    type = input.integer, minval = 1)
BBdeviations  = input(defval = 1.00,     title = "BB Deviations",    type = input.float, minval = 0.1, step=0.05)
UseATRfilter  = input(defval = true, title = "ATR Filter",  type = input.bool)
ATRperiod     = input(defval = 5,     title = "ATR Period",    type = input.integer, minval = 1)
hl            = input(defval = false, title = "Hide Labels",  type = input.bool)
//
BBUpper=sma (close,BBperiod)+stdev(close, BBperiod)*BBdeviations
BBLower=sma (close,BBperiod)-stdev(close, BBperiod)*BBdeviations
//
TrendLine = 0.0
iTrend = 0.0
buy = 0.0
sell = 0.0
//
BBSignal = close>BBUpper? 1 : close<BBLower? -1 : 0
// 
if BBSignal == 1 and UseATRfilter == 1
    TrendLine:=low-atr(ATRperiod)
    if TrendLine<TrendLine[1] 
        TrendLine:=TrendLine[1]
if BBSignal == -1 and UseATRfilter == 1
    TrendLine:=high+atr(ATRperiod)
    if TrendLine>TrendLine[1]
        TrendLine:=TrendLine[1]
if BBSignal == 0 and UseATRfilter == 1
    TrendLine:=TrendLine[1]
//
if BBSignal == 1 and UseATRfilter == 0
    TrendLine:=low
    if TrendLine<TrendLine[1] 
        TrendLine:=TrendLine[1]
if BBSignal == -1 and UseATRfilter == 0
    TrendLine:=high
    if TrendLine>TrendLine[1]
        TrendLine:=TrendLine[1]
if BBSignal == 0 and UseATRfilter == 0
    TrendLine:=TrendLine[1]
//
iTrend:=iTrend[1]
if TrendLine>TrendLine[1] 
    iTrend:=1
if TrendLine<TrendLine[1] 
    iTrend:=-1
//
buy:=iTrend[1]==-1 and iTrend==1 ? 1 : na
sell:=iTrend[1]==1 and iTrend==-1? 1 : na
//
plot(TrendLine, color=iTrend > 0?color.blue:color.red ,style=plot.style_line,linewidth=2,transp=0,title="Trend Line") 
plotshape(buy == 1 and hl == false? TrendLine-atr(8) :na, text='💣', style= shape.labelup, location=location.absolute, color=color.blue, textcolor=color.white, offset=0, transp=0,size=size.auto)
plotshape(sell == 1 and hl == false ?TrendLine+atr(8):na, text='🔨', style=shape.labeldown, location=location.absolute, color=color.red, textcolor=color.white, offset=0, transp=0,size=size.auto)
//
alertcondition(sell == 1 ,title="Sell",message="Sell")
alertcondition(buy == 1 ,title="Buy",message="Buy")
alertcondition(buy == 1 or sell == 1 ,title="Buy/Sell",message="Buy/Sell")
if (buy==1)
    strategy.entry("Buy", strategy.long)
if (sell==1)
    strategy.entry("Sell", strategy.short)
// === Stop LOSS ===

if strategy.position_size>0
    strategy.exit("Stop Loss/Profit Long","Buy", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*1.1)
if strategy.position_size<0
    strategy.exit("Stop Loss/Profit Short","Sell", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*0.9)