
यह रणनीति एक बुरिन बैंड ब्रेकआउट पर आधारित एक उन्नत प्रवृत्ति ट्रैकिंग प्रणाली है, जिसमें आरएसआई और एडीएक्स जैसे कई तकनीकी संकेतकों को फ़िल्टर करने की आवश्यकता होती है, और एटीआर-आधारित गतिशील स्टॉप-लॉस और ट्रैकिंग स्टॉप-बॉक्सिंग तंत्र का उपयोग किया जाता है। यह रणनीति सख्त जोखिम प्रबंधन दृष्टिकोण का उपयोग करती है, जो कई संकेतकों के संयोजन के उपयोग के माध्यम से व्यापार की सटीकता और स्थिरता को बढ़ाता है।
रणनीति का मूल तर्क निम्नलिखित प्रमुख तत्वों पर आधारित है:
यह एक अच्छी तरह से संरचित प्रवृत्ति ट्रैकिंग रणनीति है, जो कई तकनीकी संकेतकों के सहकार्य के माध्यम से व्यापार की स्थिरता को बढ़ाता है। रणनीति की जोखिम प्रबंधन प्रणाली पूरी तरह से है, जो डाउनसाइड जोखिम को प्रभावी ढंग से नियंत्रित कर सकती है। हालांकि कुछ अनुकूलन के लिए जगह है, समग्र डिजाइन अवधारणा आधुनिक मात्रात्मक व्यापार की आवश्यकताओं के अनुरूप है। रणनीति अस्थिरता वाले बाजारों में उपयोग के लिए उपयुक्त है, जो स्थिर लाभ की तलाश करने वाले व्यापारियों के लिए एक अच्छा विकल्प है।
/*backtest
start: 2025-02-01 00:00:00
end: 2025-02-19 00:00:00
period: 1h
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Optimized Bollinger Bands Breakout Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)
// 🎯 Bollinger Bands Settings
length = input(20, title="Bollinger Length")
mult = input(2.0, title="Bollinger Multiplier")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upperBand = basis + dev
lowerBand = basis - dev
// 📌 ADX Calculation (Manually Calculated)
adxLength = input(14, title="ADX Length")
dmiLength = input(14, title="DMI Length")
upMove = high - ta.highest(high[1], 1)
downMove = ta.lowest(low[1], 1) - low
plusDM = upMove > downMove and upMove > 0 ? upMove : 0
minusDM = downMove > upMove and downMove > 0 ? downMove : 0
plusDI = ta.sma(plusDM, dmiLength) / ta.atr(dmiLength) * 100
minusDI = ta.sma(minusDM, dmiLength) / ta.atr(dmiLength) * 100
dx = math.abs(plusDI - minusDI) / (plusDI + minusDI) * 100
adx = ta.sma(dx, adxLength)
// 📌 Additional Filters
rsi = ta.rsi(close, 14)
// ✅ Entry Conditions
longCondition = ta.crossover(close, upperBand) and rsi > 40 and rsi < 60 and adx > 25
shortCondition = ta.crossunder(close, lowerBand) and rsi > 40 and rsi < 60 and adx > 25
// 📌 ATR-based Stop Loss
stopLossMultiplier = input(1.5, title="Stop Loss (ATR Multiplier)")
atrValue = ta.atr(14)
longSL = close - (atrValue * stopLossMultiplier)
shortSL = close + (atrValue * stopLossMultiplier)
// ✅ Trailing Stop
trailMultiplier = input(1, title="Trailing Stop Multiplier")
longTrailStop = close - (atrValue * trailMultiplier)
shortTrailStop = close + (atrValue * trailMultiplier)
// 🚀 Executing Trades
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", from_entry="Long", stop=longSL, trail_price=longTrailStop, trail_offset=atrValue * 0.5)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", from_entry="Short", stop=shortSL, trail_price=shortTrailStop, trail_offset=atrValue * 0.5)
// 📊 Plot Bollinger Bands
plot(upperBand, title="Upper Band", color=color.blue)
plot(lowerBand, title="Lower Band", color=color.red)
plot(basis, title="Middle Band", color=color.gray)