Estratégia de Trailing Stop de Porcentagem


Data de criação: 2023-09-19 21:18:39 última modificação: 2023-09-19 21:18:39
cópia: 0 Cliques: 636
1
focar em
1617
Seguidores

Visão geral

A estratégia implementa um mecanismo de parada de percentual de rastreamento de perdas configurável para controlar o risco de negociação. Permite definir a porcentagem de parada de posições longas e curtas e rastrear continuamente o preço mais alto ou mais baixo na direção vantajosa a partir do preço de entrada, permitindo uma parada dinâmica.

Princípio da estratégia

A principal lógica da estratégia é:

  1. Percentagem de stop loss de entrada de posições longas e curtas
  2. Posições longas: rastrear os baixos e calcular a linha de parada com base no preço mais baixo
  3. Posições curtas: acompanhar os altos e calcular a linha de stop loss com base no preço máximo
  4. Quando o preço toca a linha de stop loss, o stop loss é imediato e você sai da posição atual.

A estratégia permite a definição de uma porcentagem de stop loss, por exemplo, 10% ≠. Quando uma posição é longa, ela é calculada em tempo real acima de 10% do preço mínimo como uma linha de stop loss; quando uma posição é curta, é calculada abaixo de 10% do preço máximo como uma linha de stop loss ≠.

Assim, a linha de stop-loss move-se continuamente na direção da vantagem, permitindo o rastreamento dinâmico de stop-loss, maximizando a proteção dos lucros e, ao mesmo tempo, controlando o risco.

Vantagens estratégicas

  • Implementação de paradas de rastreamento automático, sem necessidade de operação manual
  • Linha de parada dinâmica, proteção máxima dos lucros
  • Percentagem de Stop Loss personalizável para variedade de transações
  • Ajudar a controlar os riscos e reduzir os prejuízos inesperados
  • Aplicável a várias estratégias de negociação e fácil de integrar

Riscos estratégicos e resposta

  • A velocidade de rastreamento é lenta e o risco é irresistível.
  • A ausência de uma política de estímulo ao investimento pode aumentar os prejuízos.
  • Paradas de aperto excessivo podem causar paradas frequentes

Como reagir:

  1. Otimização da porcentagem de suspensão e equilíbrio da suspensão
  2. Combinação com outros métodos de perda, como perda de tempo
  3. Parâmetros de Stop Loss Optimizados de acordo com a Volatilidade do Mercado
  4. Manter a consistência do stop loss, evitando que os parâmetros sejam alterados arbitrariamente

Direção de otimização da estratégia

A estratégia pode ser melhorada:

  1. Parâmetros de parada de otimização dinâmica com algoritmos de aprendizagem de máquina
  2. Ajuste automático do stop loss com base em indicadores como o máximo de retração
  3. Definição de um ponto de parada com indicadores como a média móvel
  4. Selecionar configurações de parâmetros diferentes de acordo com a taxa de flutuação
  5. Ajustar a posição de parada para obter lucro após a configuração de perda parcial

Resumir

A estratégia fornece um método eficaz de rastreamento de percentual de perda, que pode ajustar dinamicamente a linha de perda. Ela pode proteger o máximo de lucro, mas também pode controlar eficazmente o risco. A estratégia de perda pode ser mais inteligente e otimizada por meio de otimização de parâmetros, integração de indicadores, etc.

Código-fonte da estratégia
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © theCrypster

//@version=4
strategy("Percent Trailing Stop %", overlay=true)

//ENTER SOME SETUP TRADES FOR TSL EXAMPLE
longCondition = crossover(sma(close, 10), sma(close, 20))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(sma(close, 10), sma(close, 20))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)
    

//TRAILING STOP CODE
trailStop = input(title="Long Trailing Stop (%)", type=input.float, minval=0.0, step=0.1, defval=10) * 0.01

longStopPrice = 0.0
shortStopPrice = 0.0
longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - trailStop)
    max(stopValue, longStopPrice[1])
else
    0
shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + trailStop)
    min(stopValue, shortStopPrice[1])
else
    999999

//PLOT TSL LINES
plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=1, title="Long Trail Stop", offset=1, title="Long Trail Stop")
plot(series=strategy.position_size < 0 ? shortStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=1, title="Short Trail Stop", offset=1, title="Short Trail Stop")


//EXIT TRADE @ TSL
if strategy.position_size > 0
    strategy.exit(id="Close Long", stop=longStopPrice)
if strategy.position_size < 0
    strategy.exit(id="Close Short", stop=shortStopPrice)