Com base na estratégia dinâmica de trailing stop loss


Data de criação: 2024-02-27 15:02:34 última modificação: 2024-02-27 15:02:34
cópia: 0 Cliques: 619
1
focar em
1617
Seguidores

Com base na estratégia dinâmica de trailing stop loss

Visão geral

Esta estratégia é projetada para usar o tracking stop loss da Bitmestra, para ajustar dinamicamente o preço de stop loss, para obter um stop loss mais preciso e flexível. A estratégia não é usada para entrar e sair, mas para dar um alcance de stop que seja razoável em diferentes condições de mercado. Recomenda-se que você otimize os diferentes parâmetros através do feedback.

Princípio da estratégia

A estratégia utiliza três indicadores principais: preço máximo, preço mínimo e preço de fechamento. A estratégia define primeiro o alcance de parada para posições longas e curtas, ou seja, a distância de parada de rastreamento multi-cabeça.longoffsete distância de parada de rastreamento em voo livreshortoffset│ entre elas, a distância entre as posições longas é 228,5 pontos por defeito e a distância entre as posições curtas é 243,5 pontos por defeito │

Então a estratégia usa a seguinte lógica de ajuste para rastrear o preço de paradatrailstop:

  • O preço mínimo de uma linha K mais recente é menor do que o preço de parada de rastreamento da linha K anterior, e o preço mínimo da linha K anterior é maior do que o preço de parada de rastreamento das duas linhas K anteriores, então o preço de parada de rastreamento da linha K atual é o preço de fechamento + a distância de parada de rastreamento em branco
  • O preço máximo de uma linha K mais recente é superior ao preço de parada de rastreamento de uma linha K anterior, e o preço máximo de uma linha K mais recente é inferior ao preço de parada de rastreamento de duas linhas K anteriores, então o preço de parada de rastreamento da linha K atual = preço de fechamento - distância de parada de rastreamento de múltiplos cabeças
  • O preço máximo de uma linha K mais recente é maior do que o preço de parada de uma linha K anterior, então o preço de parada de uma linha K atual é igual ao valor máximo ((preço de parada de uma linha K anterior, o preço máximo de uma linha K mais recente - distância de parada de uma posição longa)
  • O preço mínimo de uma linha K mais recente é menor do que o preço de parada de rastreamento da linha K anterior, então o preço de parada de rastreamento da linha K atual = o valor mínimo ((preço de parada de rastreamento da linha K anterior, o preço mínimo da linha K mais recente + a distância de parada de rastreamento da posição curta))
  • Caso contrário, o preço de parada de rastreamento da linha K atual = preço de fechamento

Isso permite que o preço de parada seja monitorado em tempo real, de acordo com a variação dos preços mais altos e mais baixos do mercado, permitindo uma parada dinâmica.

Análise de vantagens

A maior vantagem desta estratégia é a realização de um stop loss de rastreamento verdadeiramente dinâmico e flexível. Em comparação com o preço de parada fixo, o rastreamento dinâmico pode ajustar o alcance do stop loss de acordo com a flutuação do mercado, evitando que um stop loss muito grande traga perdas desnecessárias, e também evitar que um stop loss muito pequeno seja atingido por uma flutuação normal do preço. Isso reduz os perdas desnecessárias e reduz a probabilidade de um stop loss prematuro.

Outra vantagem é que a distância de stop-loss é personalizável e otimizável. O usuário pode escolher o seu próprio limite de stop-loss de acordo com as características de diferentes variedades e estilos de negociação. Isso permite que a estratégia seja aplicada a uma ampla gama de cenários.

Finalmente, a lógica de stop loss é simples, clara e fácil de entender, além de ser fácil de redesenhar e integrar em outras estratégias, o que também é uma das suas vantagens.

Análise de Riscos

Os principais riscos desta estratégia são:

  1. A parada dinâmica só pode reduzir os prejuízos em condições normais e não pode proteger contra grandes surpresas ou prejuízos causados por situações extremas. Esta é a própria limitação da parada dinâmica.

  2. Se a distância de parada de rastreamento for muito grande, pode levar à expansão dos prejuízos. Se a distância for muito pequena, a parada pode ser prematura. A configuração da distância precisa ser cuidadosamente testada e otimizada de acordo com as características da variedade.

  3. A distância de parada pode ser excessiva em algumas linhas K após a abertura da posição, devido ao mecanismo de rastreamento de parada, e há um certo risco adicional durante esse período.

Direção de otimização

A estratégia pode ser melhorada nas seguintes direções:

  1. Optimização de parâmetros de diferentes variedades: De acordo com a variação de diferentes variedades, o alcance da variação diária, etc. Indicadores, escolha de um racional multi-cabeça e cabeça vazia para rastrear a distância de parada. Esta é a direção de otimização mais importante.

  2. Reduzir o risco adicional de algumas linhas K após a abertura da posição: pode-se limitar a amplitude de ajuste da distância de parada de rastreamento em algumas linhas K após a abertura da posição, evitando a distância de parada excessiva.

  3. Combinação de indicadores de volume de transação: reduzir a distância de parada de perda durante a fase de aumento do volume de transação, por exemplo, para evitar a parada de arbitragem.

  4. Combinação com outras estratégias de entrada e saída: a função principal desta estratégia é rastrear o stop loss, que pode ser integrado em outras estratégias e usado em conjunto com as regras de entrada e saída.

Resumir

Esta estratégia implementa um stop loss de rastreamento dinâmico de acordo com a variação de preços máximos e mínimos de negociação. Isso pode reduzir efetivamente os perdas desnecessárias em condições normais de negociação, mas também melhor resolver o problema do tamanho excessivo do intervalo de stop loss fixo.

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

//@version=3
//By River
strategy("BitMex Trailing Stop Strategy", overlay=true)
longoffset = input(defval=228.5, title="Long Trailing Stop Size", type=float, minval=0.5, maxval=1000, step=0.5)
shortoffset = input(defval=243.5, title="Short Trailing Stop Size ", type=float, minval=0.5, maxval=1000, step=0.5)

hiprice = request.security(syminfo.tickerid, "1", high)
loprice = request.security(syminfo.tickerid, "1", low)
price = request.security(syminfo.tickerid, "1", close)

trailstop = price
trailstop := (loprice <= trailstop[1] and loprice[1] >= trailstop[2]) ? price + shortoffset : ((hiprice >= trailstop[1] and hiprice[1] <= trailstop[2]) ? price - longoffset : (hiprice > trailstop[1] ? max(hiprice - longoffset, trailstop[1]) : (loprice < trailstop[1] ? min(loprice + shortoffset, trailstop[1]) : price)))

trailcol = trailstop > price ? red : green
plot(trailstop, color=trailcol)

longCondition =  trailcol == green
alertcondition(longCondition, "Long Stop alert", "BUY")
if (longCondition)
    strategy.entry("Long", strategy.long)
shortCondition = trailcol == red
alertcondition(shortCondition, "Short alert", "SELL")
if (shortCondition)
    strategy.entry("Short", strategy.short)