
A estratégia de percentual de stop-loss de rastreamento é uma estratégia para definir e ajustar o stop-loss baseado no percentual do preço da variedade de negociação. Pode ajustar o stop-loss ao preço de entrada depois que o preço atinge um determinado nível de lucro, para atingir o stop-loss de garantia.
A estratégia define o percentual de tracking stop loss de uma posição longa por meio de um parâmetro de entrada, como 3%. Após a abertura da posição, o preço de tracking stop loss é calculado em tempo real. O método de cálculo é:
Quando o preço supera o preço de entrada*(1 + percentual de stop loss de rastreamento), o preço de stop loss será ajustado para o preço de entrada, atingindo a garantia.
Quando o preço está abaixo dos níveis acima, o preço de parada é o preço de entrada*(1 - Percentagem de Stop Loss Tracking)
Isso permite que o preço atinja um certo nível de lucro, evitando que todos os lucros sejam perdidos, além de evitar que um stop-loss excessivamente radical seja superado pela flutuação normal do preço.
A estratégia também traça um gráfico para rastrear o preço de stop loss para confirmação e configura apenas negociações de múltiplos. Faça mais no Gold Fork e feche no Dead Fork. Configure o Stop Loss Order para rastrear o Stop Loss Order após o Over, para implementar a lógica de stop loss da estratégia.
A maior vantagem da estratégia é que você pode obter lucro após a garantia por meio do rastreamento do stop loss, e, independentemente do que aconteça no mercado posterior, você pode, pelo menos, manter o capital e evitar perdas. Isso é importante para muitos investidores.
Além disso, a estratégia de stop loss é mais moderada, o traçado de stop loss não é muito grande, e pode evitar que a flutuação normal do preço seja interrompida. Isso é mais flexível e inteligente do que o stop loss fixo em geral.
O principal risco dessa estratégia é a configuração inadequada da margem de parada, pois se for muito pequena, é difícil alcançar o stop-loss de garantia; se for muito grande, é fácil ser superado pela flutuação normal do preço. Portanto, é necessário testar e avaliar cuidadosamente a margem de parada apropriada.
Outro risco é que, em um mercado anormal, o preço salte drasticamente, o que pode fazer com que o preço de parada não seja atualizado a tempo, o que pode fazer com que a parada não seja válida.
A estratégia pode ser melhorada em vários aspectos:
Aumentar as condições de posição parada, como regras de forcas mortas e de preços abaixo do SMA, torna a estratégia mais abrangente.
Adição de um mecanismo de ajuste dinâmico do percentual de stop-loss para otimizar automaticamente a amplitude de stop-loss em diferentes cenários de mercado.
Aumentar a estratégia de saída, quando o preço funciona uma certa distância depois de sair do campo, fixando o lucro.
Pode-se estudar a diferença de parâmetros de percentagem de parada de diferentes variedades, estabelecendo mecanismos de otimização de auto-adaptação dos parâmetros.
A estratégia de rastrear o percentual de parada de perda é muito prática para a estratégia geral, que pode efetivamente alcançar a parada de capital após o lucro e evitar perdas. O espaço de otimização da estratégia é grande e vale a pena pesquisar mais para melhorar a eficácia.
/*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)