Estratégia de trailing stop loss dinâmico
Visão Geral
Esta estratégia visa utilizar a função de stop loss dinâmico da plataforma Bitmestra para ajustar dinamicamente o preço de stop loss, proporcionando um stop loss mais preciso e flexível. A estratégia não é usada para entrada e saída, mas sim para fornecer faixas de stop loss razoáveis sob diferentes condições de mercado. Recomenda-se otimizar diferentes parâmetros através de backtest. Esta estratégia também pode ser integrada em estratégias de entrada e saída existentes como stop loss.
Princípio da Estratégia
A estratégia usa principalmente 3 indicadores: preço máximo, preço mínimo e preço de fechamento. Primeiro, define a faixa de stop loss para posições longas e curtas, ou seja, a distância do stop loss dinâmico para longo longoffset e para curto shortoffset. A distância padrão para posições longas é 228,5 pontos, e para posições curtas é 243,5 pontos.
Em seguida, a estratégia aplica a seguinte lógica para ajustar o preço de stop loss dinâmico trailstop:
- Se o preço mínimo da última vela for inferior ao preço de stop loss dinâmico da vela anterior, E o preço mínimo da penúltima vela for superior ao preço de stop loss dinâmico das duas velas anteriores, então o preço de stop loss dinâmico da vela atual = preço de fechamento + distância do stop loss dinâmico para curto.
- Se o preço máximo da última vela for superior ao preço de stop loss dinâmico da vela anterior, E o preço máximo da penúltima vela for inferior ao preço de stop loss dinâmico das duas velas anteriores, então o preço de stop loss dinâmico da vela atual = preço de fechamento - distância do stop loss dinâmico para longo.
- Se o preço máximo da última vela for superior ao preço de stop loss dinâmico da vela anterior, então o preço de stop loss dinâmico da vela atual = máximo (preço de stop loss dinâmico da vela anterior, preço máximo da última vela - distância do stop loss dinâmico para longo).
- Se o preço mínimo da última vela for inferior ao preço de stop loss dinâmico da vela anterior, então o preço de stop loss dinâmico da vela atual = mínimo (preço de stop loss dinâmico da vela anterior, preço mínimo da última vela + distância do stop loss dinâmico para curto).
- Caso contrário, o preço de stop loss dinâmico da vela atual = preço de fechamento.
Desta forma, com base nas mudanças do preço máximo e mínimo do mercado, o preço de stop loss dinâmico é ajustado em tempo real, realizando um stop loss dinâmico.
Análise de Vantagens
A maior vantagem desta estratégia é a realização de um stop loss dinâmico verdadeiramente flexível. Comparado com um preço de stop loss fixo, o stop loss dinâmico pode ajustar a faixa de stop loss de acordo com a volatilidade do mercado, evitando perdas desnecessárias causadas por uma distância de stop loss demasiado grande, bem como evitando ser acionado por flutuações normais de preço quando a distância é muito pequena. Isso reduz tanto as perdas desnecessárias quanto a probabilidade de stop loss prematuro.
Outra vantagem é que a distância do stop loss pode ser personalizada e otimizada. Os usuários podem escolher a faixa de stop loss adequada com base nas características dos diferentes instrumentos e seu estilo de negociação. Isso torna a estratégia aplicável a uma variedade maior de cenários.
Por fim, a lógica de stop loss desta estratégia é simples e clara, fácil de entender, e facilita o desenvolvimento secundário e a integração em outras estratégias, sendo também uma das suas vantagens.
Análise de Riscos
Os principais riscos desta estratégia são os seguintes:
- O stop loss dinâmico só pode reduzir perdas sob condições normais de mercado, não sendo capaz de resistir a grandes eventos imprevistos ou movimentos extremos de mercado. Esta é uma limitação inerente ao stop loss dinâmico.
- Se a distância do stop loss dinâmico for muito grande, as perdas podem aumentar. Se for muito pequena, o stop loss pode ocorrer prematuramente. A definição da distância precisa ser cuidadosamente testada e otimizada de acordo com as características do instrumento.
- Nas primeiras velas após a abertura da posição, devido ao mecanismo de stop loss dinâmico, a distância do stop loss pode ser excessiva, havendo um risco adicional nesse período.
Direções de Otimização
Esta estratégia pode ser otimizada nas seguintes direções:
- Otimização de parâmetros para diferentes instrumentos: Com base em indicadores como volatilidade e faixa intraday do instrumento, escolher distâncias de stop loss dinâmico razoáveis para posições longas e curtas. Esta é a direção de otimização mais crucial.
- Redução do risco adicional nas primeiras velas após a abertura da posição: Pode-se limitar o ajuste da distância do stop loss dinâmico nas primeiras velas após a abertura, evitando que a distância fique muito grande.
- Combinação com indicadores de volume: Por exemplo, reduzir a distância do stop loss em períodos de alto volume para evitar ser acionado por stops de arbitragem.
- Combinação com outras estratégias de entrada e saída: O papel principal desta estratégia é o stop loss dinâmico, podendo ser integrada a outras estratégias, combinada com regras de entrada e saída.
Resumo
Esta estratégia realiza a função de stop loss dinâmico que se ajusta conforme as mudanças do preço máximo e mínimo do mercado. Isso pode reduzir efetivamente perdas desnecessárias sob condições normais de mercado e resolve bem o problema de distância de stop loss fixa ser demasiado grande ou pequena. A principal direção de otimização é testar os parâmetros adequados para diferentes instrumentos e o controle de risco nas primeiras velas após a abertura da posição. A lógica de stop loss desta estratégia é simples e clara, fácil de entender e desenvolver secundariamente, podendo ser integrada em outras estratégias ou usada isoladamente como ferramenta de stop loss.
/*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)- 1

