
La stratégie est un système de trading quantitatif basé sur une rupture de cinq minutes d’ouverture, combiné à l’indicateur ATR pour la gestion dynamique des arrêts et des pertes. La stratégie consiste principalement à identifier le haut et le bas de la première ligne K de cinq minutes après l’ouverture comme la zone de prix clé, à déclencher un signal de négociation lorsque le prix franchit cette zone et à contrôler le risque en utilisant des arrêts dynamiques basés sur l’ATR.
La logique fondamentale de la stratégie comprend les étapes clés suivantes :
Il s’agit d’une stratégie de trading quantifiée, structurée et logiquement claire, qui permet d’automatiser les transactions à risque contrôlable grâce à la surveillance des ruptures de prix d’ouverture et à l’utilisation de stop-loss ATR dynamiques. Le principal avantage de la stratégie réside dans sa conception simple et efficace, mais nécessite également une optimisation continue pour différents environnements de marché et types de transactions.
/*backtest
start: 2025-02-13 00:00:00
end: 2025-02-19 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("5-Min Open Candle Breakout", overlay=true)
// Get the current bar's year, month, and day
currentYear = year
currentMonth = month
currentDay = dayofmonth
// Define session start time (adjust based on market)
sessionStart = timestamp(currentYear, currentMonth, currentDay, 9, 30) // 9:30 AM for NYSE
// Identify the first 5-minute candle
isFirstCandle = (time >= sessionStart and time < sessionStart + 300000) // 5 min = 300,000 ms
var float openPrice = na
var float highPrice = na
var float lowPrice = na
if isFirstCandle
openPrice := open
highPrice := high
lowPrice := low
// Breakout Conditions
longEntry = ta.crossover(close, highPrice)
shortEntry = ta.crossunder(close, lowPrice)
// Define Stop Loss & Take Profit (Ratio 1:1.5)
slFactor = 1.0 // Stop Loss Multiplier
tpFactor = 1.5 // Take Profit Multiplier
atrValue = ta.atr(14) // Fix: Use ta.atr() instead of atr()
longSL = lowPrice - atrValue * slFactor
longTP = highPrice + (highPrice - lowPrice) * tpFactor
shortSL = highPrice + atrValue * slFactor
shortTP = lowPrice - (highPrice - lowPrice) * tpFactor
// Execute Trades
strategy.entry("Long", strategy.long, when=longEntry)
strategy.exit("Exit Long", from_entry="Long", stop=longSL, limit=longTP)
strategy.entry("Short", strategy.short, when=shortEntry)
strategy.exit("Exit Short", from_entry="Short", stop=shortSL, limit=shortTP)
// Plot High/Low of First Candle
plot(highPrice, title="First 5m High", color=color.green, linewidth=2)
plot(lowPrice, title="First 5m Low", color=color.red, linewidth=2)