
Strategi ini adalah sistem perdagangan kuantitatif berdasarkan penembusan lima minit bukaan, digabungkan dengan indikator ATR untuk pengurusan hentian dan hentian yang dinamik. Strategi ini terutamanya dengan mengenal pasti titik tinggi dan rendah garis K lima minit pertama selepas bukaan sebagai kawasan harga utama, mencetuskan isyarat perdagangan apabila harga menembusi kawasan itu, dan menggunakan hentian dan hentian yang dinamik berdasarkan ATR untuk mengawal risiko.
Logik teras strategi merangkumi langkah utama berikut:
Ini adalah strategi perdagangan kuantitatif yang lengkap dan logik yang jelas, yang mewujudkan perdagangan automatik yang terkawal risiko dengan pemantauan harga pembukaan dan penggunaan ATR yang dinamik. Kelebihan utama strategi ini adalah konsep reka bentuk yang mudah dan berkesan, tetapi juga memerlukan pengoptimuman berterusan untuk pelbagai keadaan pasaran dan jenis perdagangan.
/*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)