
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.
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:
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.
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.
Os principais riscos desta estratégia são:
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.
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.
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.
A estratégia pode ser melhorada nas seguintes direções:
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.
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.
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.
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.
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.
/*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)