
یہ ایک ٹریڈنگ حکمت عملی ہے جو بلین بینڈ میڈین ریٹرن پر مبنی ہے ، جس میں متعدد اسٹاپ لیولز کے ذریعہ منافع کی کھیپ حاصل کی جاتی ہے۔ حکمت عملی تجارت کرتی ہے جب قیمت بلین بینڈ کو توڑنے کے بعد واپس آتی ہے ، اور اس میں 5 مختلف اسٹاپ لیولز لگائے جاتے ہیں تاکہ پوزیشنوں کو آہستہ آہستہ کم کیا جاسکے۔ اس کے ساتھ ساتھ متحرک اسٹاپ نقصان کو خطرہ پر قابو پانے کے لئے بھی ترتیب دیا گیا ہے۔ حکمت عملی اپنی مرضی کے مطابق تجارتی وقت کے اندر اندر چل سکتی ہے ، اور اس میں پوزیشن میں اضافے کی حمایت کی جاتی ہے۔
حکمت عملی 20 ادوار پر مبنی برلن بینڈ اشارے پر مبنی ہے ، اور اس میں 2 گنا معیاری فرق کو اتار چڑھاؤ کے طور پر استعمال کیا جاتا ہے۔ جب قیمت نیچے سے ٹوٹ جاتی ہے اور بندش کی حد میں ہوتی ہے تو ، ایک سے زیادہ سگنل ٹرگر کیا جاتا ہے۔ جب قیمت اوپر سے ٹوٹ جاتی ہے اور بندش کی حد میں ہوتی ہے تو ، ایک خالی سگنل ٹرگر کیا جاتا ہے۔ داخلے کے بعد ، حکمت عملی میں 5 درجے کا اسٹاپ میکانزم استعمال کیا جاتا ہے ، جس میں اسٹاپ کو 0.5٪ ، 1٪ ، 1.5٪ ، 2٪ اور 2.5٪ پوزیشن پر ترتیب دیا جاتا ہے ، اور ہر اسٹاپ پوزیشن میں 20٪ کی پوزیشن کو صاف کرتا ہے۔ آخری سطح کا اسٹاپ اپنے مخالف برلن بینڈ پوزیشن پر ہوتا ہے۔ اس کے ساتھ ہی خطرے کو کنٹرول کرنے کے لئے 1٪ اسٹاپ نقصان کا تعین کیا جاتا ہے۔
یہ حکمت عملی بلین بینڈ اشارے کے ذریعہ اوسط واپسی کے مواقع پر قبضہ کرتی ہے ، اور اس کے خطرے کا انتظام کرنے کے لئے متعدد اسٹاپ اور متحرک اسٹاپ نقصانات کا استعمال کرتی ہے۔ حکمت عملی کا فائدہ اس کے لچکدار پوزیشن مینجمنٹ اور رسک کنٹرول میکانزم میں ہے ، لیکن اس کا استعمال کرتے وقت مارکیٹ کے حالات کے مطابق ہونے پر دھیان دینے کی ضرورت ہے۔ اضافی فلٹرنگ اشارے شامل کرکے اور اسٹاپ اسٹاپ نقصان کے پیرامیٹرز کو بہتر بناتے ہوئے ، حکمت عملی کی استحکام اور منافع بخش صلاحیت کو مزید بڑھایا جاسکتا ہے۔
/*backtest
start: 2025-02-19 10:00:00
end: 2025-02-20 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Binance","currency":"BNB_USDT"}]
*/
//@version=5
strategy("Bollinger Band Reentry Strategy", overlay=true)
// Inputs
bbLength = input.int(20, title="Bollinger Band Length")
bbMult = input.float(2.0, title="Bollinger Band Multiplier")
stopLossPerc = input.float(1.0, title="Stop Loss (%)") / 100
tp1Perc = input.float(0.5, title="Take Profit 1 (%)") / 100
tp2Perc = input.float(1.0, title="Take Profit 2 (%)") / 100
tp3Perc = input.float(1.5, title="Take Profit 3 (%)") / 100
tp4Perc = input.float(2.0, title="Take Profit 4 (%)") / 100
tp5Perc = input.float(2.5, title="Take Profit 5 (%)") / 100
allowAddToPosition = input.bool(true, title="Allow Adding to Position")
customSession = input.timeframe("0930-1600", title="Custom Trading Session")
// Calculate Bollinger Bands
basis = ta.sma(close, bbLength)
dev = ta.stdev(close, bbLength)
upperBB = basis + bbMult * dev
lowerBB = basis - bbMult * dev
// Plot Bollinger Bands
plot(upperBB, color=color.red, title="Upper Bollinger Band")
plot(lowerBB, color=color.green, title="Lower Bollinger Band")
plot(basis, color=color.blue, title="Bollinger Band Basis")
// Entry Conditions
longCondition = (ta.crossover(close, lowerBB) or (low < lowerBB and close > lowerBB)) and time(timeframe.period, customSession)
shortCondition = (ta.crossunder(close, upperBB) or (high > upperBB and close < upperBB)) and time(timeframe.period, customSession)
// Execute Trades
if (longCondition)
strategy.entry("Long", strategy.long, when=allowAddToPosition or strategy.position_size == 0)
if (shortCondition)
strategy.entry("Short", strategy.short, when=allowAddToPosition or strategy.position_size == 0)
// Take-Profit and Stop-Loss Levels for Long Trades
if (strategy.position_size > 0)
strategy.exit("TP1", "Long", limit=strategy.position_avg_price * (1 + tp1Perc), qty=strategy.position_size * 0.2) // Take 20% profit
strategy.exit("TP2", "Long", limit=strategy.position_avg_price * (1 + tp2Perc), qty=strategy.position_size * 0.2)
strategy.exit("TP3", "Long", limit=strategy.position_avg_price * (1 + tp3Perc), qty=strategy.position_size * 0.2)
strategy.exit("TP4", "Long", limit=strategy.position_avg_price * (1 + tp4Perc), qty=strategy.position_size * 0.2)
strategy.exit("TP5", "Long", limit=upperBB, qty=strategy.position_size * 0.2) // Take final 20% at opposite band
strategy.exit("Stop Loss", "Long", stop=strategy.position_avg_price * (1 - stopLossPerc))
// Take-Profit and Stop-Loss Levels for Short Trades
if (strategy.position_size < 0)
strategy.exit("TP1", "Short", limit=strategy.position_avg_price * (1 - tp1Perc), qty=strategy.position_size * 0.2)
strategy.exit("TP2", "Short", limit=strategy.position_avg_price * (1 - tp2Perc), qty=strategy.position_size * 0.2)
strategy.exit("TP3", "Short", limit=strategy.position_avg_price * (1 - tp3Perc), qty=strategy.position_size * 0.2)
strategy.exit("TP4", "Short", limit=strategy.position_avg_price * (1 - tp4Perc), qty=strategy.position_size * 0.2)
strategy.exit("TP5", "Short", limit=lowerBB, qty=strategy.position_size * 0.2)
strategy.exit("Stop Loss", "Short", stop=strategy.position_avg_price * (1 + stopLossPerc))
// Alerts
alertcondition(longCondition, title="Long Signal", message="Price closed inside Bollinger Band from below.")
alertcondition(shortCondition, title="Short Signal", message="Price closed inside Bollinger Band from above.")