
یہ ایک تجارتی حکمت عملی ہے جس میں دن کے اندر قیمتوں کی اونچائی اور نچلی سطحوں کی توڑ پر مبنی ہے ، جس میں اے ٹی آر اشارے کے ساتھ مل کر اسٹاپ نقصان اور منافع کے اہداف کو متحرک طور پر ایڈجسٹ کیا جاتا ہے۔ یہ حکمت عملی پچھلے تجارتی دن اور موجودہ تجارتی دن کی اعلی ترین اور کم ترین قیمتوں کی نگرانی کرکے تجارت کرتی ہے جب قیمت ان اہم سطحوں کو توڑ دیتی ہے۔ اس حکمت عملی میں جھوٹے اشاروں کو کم کرنے کے لئے بفر زون کا تصور بھی متعارف کرایا گیا ہے ، اور متحرک خطرے کے انتظام کے پیرامیٹرز کو ترتیب دینے کے لئے اے ٹی آر کے ضربات کا استعمال کیا گیا ہے۔
اس حکمت عملی کا بنیادی منطق قیمتوں کے ٹوٹنے سے پہلے کی اونچائی اور نچلی سطح پر تجارت کرنا ہے۔ خاص طور پر:
یہ ایک منطقی ، منطقی اور واضح طور پر ڈیزائن کی جانے والی بریک ٹریڈنگ حکمت عملی ہے۔ اے ٹی آر اشارے اور بفر زون کے تصورات کو ملا کر ، تجارتی مواقع اور خطرے کے کنٹرول کو مؤثر طریقے سے متوازن کیا گیا ہے۔ حکمت عملی کی اعلی درجے کی مرئیت اور آٹومیشن ہے ، جو دن کے تاجروں کے استعمال کے لئے موزوں ہے۔ لیکن صارف کو مارکیٹ کے ماحول کی موافقت پر دھیان دینے کی ضرورت ہے ، اور پیرامیٹرز کی ترتیب کو اصل تجارتی اثر کے مطابق ایڈجسٹ کریں۔ تجویز کردہ اصلاح کی سمت کے ساتھ ، حکمت عملی میں مزید بہتری کی گنجائش ہے۔
/*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 📉")