
Esta estratégia é uma estratégia de gerenciamento de risco para a criação de posições múltiplas e trailing stop loss com uma data específica. Esta estratégia é especialmente adequada para os comerciantes que desejam automatizar a entrada de posições de acordo com uma data de calendário específica e gerenciar suas posições por meio de métodos de controle de risco dinâmico, como o rastreamento de stop loss.
A estratégia inicia com a entrada de datas de entrada específicas, incluindo o dia do mês, e calcula o tempo de entrada exato com base nessas datas. A estratégia também insere o parâmetro percentual para rastrear o stop loss.
No dia da entrada em bolsa, a estratégia abre várias posições. Ao mesmo tempo, o preço mais alto e o preço de parada são registrados. O preço mais alto é atualizado continuamente no tempo seguinte, e o preço de parada é trailing para baixo em uma determinada porcentagem do preço mais alto.
Se o preço estiver abaixo do preço de stop loss, a posição será liquidada. Caso contrário, a posição será mantida e o preço de stop loss continuará a seguir para baixo com base no preço mais alto, bloqueando os lucros e controlando o risco.
A estratégia tem as seguintes vantagens principais:
A estratégia também apresenta alguns riscos:
Correspondência de melhorias:
A estratégia pode ser otimizada em várias direções:
A estratégia é baseada em uma entrada em mercado em uma data específica e usa um método de rastreamento de stop loss, que pode automatizar a entrada e controlar o risco de forma dinâmica. A estratégia é simples, intuitiva, fácil de operar e adequada para a manutenção de posições de longo prazo. Com uma otimização adicional, pode ser uma estratégia de negociação quantitativa muito prática.
/*backtest
start: 2024-01-24 00:00:00
end: 2024-01-31 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Trailing Stop Loss Percent",
overlay=true, pyramiding=1)
// Input for the specific entry date
entryDay = input.int(defval = 1, title = "Entry Day", minval = 1, maxval = 31)
entryMonth = input.int(defval = 1, title = "Entry Month", minval = 1, maxval = 12)
entryYear = input.int(defval = 2023, title = "Entry Year", minval = 1970)
// Calculate the entry date timestamp
entryDate = timestamp(entryYear, entryMonth, entryDay, 00, 00)
// Trailing Stop Loss Percentage
trailStopPercent = input.float(defval = 5.0, title = "Trailing Stop Loss (%)", minval = 0.1)
// Entry Condition
enterTrade = true
// Variables to track the highest price and stop loss level since entry
var float highestPrice = na
var float stopLoss = na
// Update the highest price and stop loss level
if strategy.position_size > 0
highestPrice := math.max(highestPrice, high)
stopLoss := highestPrice * (1 - trailStopPercent / 100)
// Enter the strategy
if enterTrade
strategy.entry("Long Entry", strategy.long)
highestPrice := high
stopLoss := highestPrice * (1 - trailStopPercent / 100)
// Exit the strategy if the stop loss is hit
if strategy.position_size > 0 and low <= stopLoss
strategy.close("Long Entry")
// Plotting the stop loss level for reference
plot(strategy.position_size > 0 ? stopLoss : na, "Trailing Stop Loss", color=color.red)