Percentagem de estratégia de stop loss

Autora:ChaoZhang, Data: 2024-01-08 17:12:46
Tags:

img

Resumo

A estratégia de stop loss percentual é uma estratégia que define e ajusta ordens de stop loss com base em porcentagem do preço do instrumento.

Estratégia lógica

Esta estratégia define a porcentagem para a posição longa trailing stop loss através de parâmetros de entrada, como 3%.

  1. Quando o preço excede o preço de entrada* ((1+percentagem de stop loss), o preço de stop loss é ajustado ao preço de entrada para atingir o ponto de equilíbrio.

  2. Quando o preço estiver abaixo do nível acima, o preço de stop loss é o preço de entrada* ((1-percentagem de stop loss).

Isso pode realizar o stop loss de equilíbrio quando o preço atinge um certo nível de lucro, evitando a perda de todos os lucros por perdas, evitando ao mesmo tempo que o stop loss agressivo seja eliminado por flutuações normais de preços.

A estratégia também traça o preço de stop loss para confirmação, e define apenas para ir longo.

Análise das vantagens

A maior vantagem desta estratégia é que pode realizar o stop loss de equilíbrio depois de fazer lucros através do stop loss de trailing, não importa como o mercado mais tarde vá, pelo menos o principal pode ser mantido para evitar perdas.

Além disso, o stop loss desta estratégia é relativamente leve. O intervalo de stop loss não é muito grande, o que pode evitar ser parado por flutuações normais de preços em comparação com o stop loss fixo. É mais flexível e inteligente.

Análise de riscos

O principal risco desta estratégia é que se a porcentagem de stop loss for definida incorretamente. Se for definida muito pequena, seria difícil realizar a perda de stop de equilíbrio. Se for definida muito grande, seria fácil ser interrompida por flutuações normais de preços. Portanto, a porcentagem de stop loss adequada precisa de testes e avaliação cuidadosos.

Outro risco é que, em mercados anormais, os preços possam, de repente, disparar em grande parte. Neste caso, o preço de stop loss pode não ser capaz de atualizar a tempo, resultando em stop loss inválido.

Orientações de otimização

Esta estratégia pode ser otimizada nos seguintes aspectos:

  1. Adicionar regras de saída como cruz de morte, preço quebrando SMA etc. para tornar a estratégia mais abrangente.

  2. Adicionar mecanismo de ajuste dinâmico da percentagem de perda de parada, para otimizar automaticamente a faixa de perda de parada em diferentes ambientes de mercado.

  3. Adicionar estratégias de saída para as posições de saída após os preços executando uma determinada faixa para bloquear os lucros.

  4. Pesquisar as diferenças dos parâmetros percentuais de stop loss em diferentes instrumentos, estabelecer o mecanismo de otimização de auto-adaptação de parâmetros.

Conclusão

A estratégia de stop loss percentual é muito prática em geral, o que pode efetivamente realizar o break-even stop loss depois de fazer lucros para evitar perdas.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © osmaras
// based on https://kodify.net/tradingview/orders/percentage-trail/

//@version=5
strategy("Break even stop loss (% of instrument price)", overlay=true)

// Configure trail stop level with input options (optional)
longTrailPerc = input.float(defval=3.0,step=0.1,title="Trail Long Loss (%)")* 0.01 
longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))

// Determine trail stop loss prices
longStopPrice = 0.0
lastEntryPrice = strategy.opentrades.entry_price(strategy.opentrades - 1)
longStopPrice := if (strategy.position_size > 0 and close > (lastEntryPrice * (1 + longTrailPerc)))
    stopValue = lastEntryPrice
    math.max(stopValue, longStopPrice[1])
else
    longStopPrice := if (strategy.position_size > 0)
        stopValue = lastEntryPrice * (1 - longTrailPerc)
        math.max(stopValue, longStopPrice[1])
    else
        0

// Plot stop loss values for confirmation
plot(series=(strategy.position_size > 0) ? longStopPrice : na,
     color=color.fuchsia, style=plot.style_cross,
     linewidth=2, title="Long Trail Stop")

// set strategy only long
strategy.risk.allow_entry_in(strategy.direction.long)

// Submit entry orders
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
if (shortCondition)
    strategy.close("Long")


// Submit exit orders for trail stop loss price
if (strategy.position_size > 0)
    strategy.exit(id="Stop Loss", stop=longStopPrice)



Mais.