
यह एक ट्रेडिंग रणनीति है जो एक दिन के भीतर उच्च और निम्न स्तर के ब्रेकआउट पर आधारित है, जो एटीआर सूचकांकों के साथ मिलकर स्टॉप-लॉस और लाभ के लक्ष्यों को गतिशील रूप से समायोजित करता है। यह रणनीति पिछले ट्रेडिंग दिन और वर्तमान ट्रेडिंग दिन की उच्चतम और निम्नतम कीमतों की निगरानी करके व्यापार करती है, जब कीमतें इन महत्वपूर्ण स्तरों को तोड़ती हैं। रणनीति में झूठे संकेतों को कम करने के लिए बफर क्षेत्र की अवधारणा भी पेश की गई है, और एटीआर गुणकों का उपयोग गतिशील जोखिम प्रबंधन पैरामीटर स्थापित करने के लिए किया जाता है।
रणनीति का मुख्य तर्क यह है कि कीमतों के टूटने से पहले के उच्च और निम्न स्तरों के आधार पर व्यापार किया जाता है।
यह एक तर्कसंगत, तर्कसंगत और स्पष्ट रूप से डिज़ाइन की गई ट्रेडिंग रणनीति है। यह एटीआर संकेतकों और बफर जोन अवधारणाओं के संयोजन के माध्यम से व्यापार के अवसरों और जोखिम नियंत्रण को प्रभावी ढंग से संतुलित करता है। रणनीति की उच्च दृश्यता और स्वचालन है, जो दिन के व्यापारियों के उपयोग के लिए उपयुक्त है। लेकिन उपयोगकर्ताओं को बाजार की परिस्थितियों के अनुकूल होने पर ध्यान देने की आवश्यकता है और वास्तविक व्यापार प्रभाव के अनुसार पैरामीटर सेटिंग्स को समायोजित करने की आवश्यकता है। अनुशंसित अनुकूलन दिशा के माध्यम से, रणनीति में और भी सुधार करने के लिए जगह है।
/*backtest
start: 2025-02-13 00:00:00
end: 2025-02-14 01:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Previous/Current Day High-Low Breakout Strategy", overlay=true)
// === INPUTS ===
buffer = input(10, title="Buffer Points Above/Below Day High/Low") // 0-10 point buffer
atrMultiplier = input.float(1.5, title="ATR Multiplier for SL/TP") // ATR-based SL & TP
// === DETECT A NEW DAY CORRECTLY ===
dayChange = ta.change(time("D")) != 0 // Returns true when a new day starts
// === FETCH PREVIOUS DAY HIGH & LOW CORRECTLY ===
var float prevDayHigh = na
var float prevDayLow = na
if dayChange
prevDayHigh := high[1] // Store previous day's high
prevDayLow := low[1] // Store previous day's low
// === TRACK CURRENT DAY HIGH & LOW ===
todayHigh = ta.highest(high, ta.barssince(dayChange)) // Highest price so far today
todayLow = ta.lowest(low, ta.barssince(dayChange)) // Lowest price so far today
// === FINAL HIGH/LOW SELECTION (Whichever Happens First) ===
finalHigh = math.max(prevDayHigh, todayHigh) // Use the highest value
finalLow = math.min(prevDayLow, todayLow) // Use the lowest value
// === ENTRY CONDITIONS ===
// 🔹 BUY (LONG) Condition: Closes below final low - buffer
longCondition = close <= (finalLow - buffer)
// 🔻 SELL (SHORT) Condition: Closes above final high + buffer
shortCondition = close >= (finalHigh + buffer)
// === ATR STOP-LOSS & TAKE-PROFIT ===
atr = ta.atr(14)
longSL = close - (atr * atrMultiplier) // Stop-Loss for Long
longTP = close + (atr * atrMultiplier * 2) // Take-Profit for Long
shortSL = close + (atr * atrMultiplier) // Stop-Loss for Short
shortTP = close - (atr * atrMultiplier * 2) // Take-Profit for Short
// === EXECUTE LONG (BUY) TRADE ===
if longCondition
strategy.entry("BUY", strategy.long, comment="🔹 BUY Signal")
strategy.exit("SELL TP", from_entry="BUY", stop=longSL, limit=longTP)
// === EXECUTE SHORT (SELL) TRADE ===
if shortCondition
strategy.entry("SELL", strategy.short, comment="🔻 SELL Signal")
strategy.exit("BUY TP", from_entry="SELL", stop=shortSL, limit=shortTP)
// === PLOT LINES FOR VISUALIZATION ===
plot(finalHigh, title="Breakout High (Prev/Today)", color=color.new(color.blue, 60), linewidth=2, style=plot.style_stepline)
plot(finalLow, title="Breakout Low (Prev/Today)", color=color.new(color.red, 60), linewidth=2, style=plot.style_stepline)
// === ALERT CONDITIONS ===
alertcondition(longCondition, title="🔔 Buy Signal", message="BUY triggered 🚀")
alertcondition(shortCondition, title="🔔 Sell Signal", message="SELL triggered 📉")