
Cette stratégie est une stratégie de gestion du risque pour la création de positions multiples avec une date de déclenchement spécifique. Elle s’applique en particulier aux traders qui souhaitent automatiser l’entrée de positions en fonction d’une date de calendrier spécifique et gérer leurs positions grâce à des méthodes de contrôle du risque dynamiques telles que le suivi des arrêts.
La stratégie commence par l’entrée de dates de mise en marché spécifiques, y compris le jour du mois, puis calcule l’heure exacte de mise en marché en fonction de ces dates. La stratégie introduit également le paramètre pourcentage pour suivre les pertes.
Le jour de la date d’entrée en bourse, la stratégie ouvre des positions multiples. En même temps, le prix le plus élevé est enregistré. Le prix le plus élevé et le prix stopLoss sont enregistrés.
Si le prix est inférieur au prix d’arrêt, la position est levée. Sinon, la position est maintenue et le prix d’arrêt est suivi à la baisse en fonction du prix le plus élevé, afin de bloquer les bénéfices et de contrôler les risques.
La stratégie présente les principaux avantages suivants:
Cette stratégie comporte aussi des risques:
Les mesures d’optimisation correspondantes:
Cette stratégie peut être optimisée dans les directions suivantes:
Cette stratégie est basée sur une date d’entrée en bourse spécifique et utilise une méthode de suivi des pertes pour automatiser l’entrée en bourse et contrôler dynamiquement le risque. La stratégie est simple, intuitive, facile à utiliser et adaptée à la tenue de positions à long terme.
/*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)