
यह रणनीति रेंज फ़िल्टर और औसत वास्तविक तरंगों की मात्रा के साथ एक कम-वापसी योग्य ट्रेडिंग प्रणाली है। यह रेंज फ़िल्टर के माध्यम से प्रवृत्ति की दिशा की पहचान करती है, जबकि एटीआर का उपयोग करके स्थिति के आकार को गतिशील रूप से समायोजित करती है और अनुवर्ती रोक को स्थापित करती है, जिससे जोखिम को प्रभावी ढंग से नियंत्रित किया जा सकता है। इस रणनीति के लिए कीमतों को दो लगातार चक्रों के माध्यम से तोड़ने की आवश्यकता होती है। रेंज फ़िल्टर पर ट्रेंड की पुष्टि करने के लिए नीचे की ओर ट्रैक करें, यह दोहरी पुष्टि प्रणाली प्रभावी रूप से झूठी तोड़ने को कम करती है। सिस्टम डिफ़ॉल्ट जोखिम को प्रति लेनदेन जोखिम पूंजी का 1% के रूप में सेट किया गया है। यह रणनीति विशेष रूप से अस्थिर लेकिन अधिक स्पष्ट प्रवृत्ति वाले बाजार वातावरण के लिए उपयुक्त है।
इस रणनीति का मुख्य सिद्धांत एटीआर जोखिम प्रबंधन प्रणाली के साथ प्रवृत्ति की पहचान करने वाले दायरे को फ़िल्टर करना हैः
रेंज फ़िल्टर गणना:
प्रवृत्ति की पुष्टि की शर्तें:
एटीआर गतिशील स्थिति:
एटीआर अनुगामी हानि:
अनुकूलन क्षमता:
जोखिम नियंत्रण:
संकेत गुणवत्ता:
कम वापसी विशेषता:
पारदर्शी और अनुकूलन योग्य:
बाज़ार में गिरावट:
तेजी से पलटने का खतरा:
पैरामीटर संवेदनशीलता:
लगातार घाटे का जोखिम:
स्लाइड प्वाइंट और शुल्क प्रभाव:
बाजार परिवेश फ़िल्टर जोड़ें:
रेंज फ़िल्टर चक्र अनुकूलित करें:
एकाधिक समय-सीमा की पुष्टि:
गतिशील रूप से एटीआर गुणांक समायोजित करें:
समय-आधारित बाहर निकलने की व्यवस्था:
दोहरी पुष्टि रेंज फ़िल्टर रणनीति एटीआर गतिशील स्थिति और अनुवर्ती रोक प्रणाली के संयोजन के साथ एक मात्रात्मक व्यापार रणनीति है जो जोखिम नियंत्रण पर ध्यान केंद्रित करती है। यह रेंज फ़िल्टर के माध्यम से प्रवृत्ति की दिशा की पहचान करती है, सिग्नल की पुष्टि करने के लिए दो लगातार चक्रों को तोड़ने की आवश्यकता होती है, एटीआर का उपयोग गतिशील रूप से स्थिति के आकार को समायोजित करने और अनुवर्ती रोक को स्थापित करने के लिए करती है, और पूर्व निर्धारित प्रतिशत के भीतर प्रत्येक व्यापार के जोखिम को प्रभावी ढंग से नियंत्रित करती है। इस रणनीति का मुख्य लाभ मजबूत अनुकूलन क्षमता और उत्कृष्ट जोखिम नियंत्रण क्षमता में है, विशेष रूप से बड़े उतार-चढ़ाव वाले बाजारों के लिए उपयुक्त है, लेकिन स्पष्ट प्रवृत्ति है।
/*backtest
start: 2025-02-01 00:00:00
end: 2025-05-25 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("Range Filter + ATR Strategy (Low Drawdown)", overlay=true,
pyramiding=0, default_qty_type=strategy.percent_of_equity,
default_qty_value=100, commission_type=strategy.commission.percent,
commission_value=0.1, initial_capital=10000)
// Input parameters
rangePeriod = input.int(14, title="Range Filter Period")
atrPeriod = input.int(14, title="ATR Period")
riskPercent = input.float(1.0, title="Risk % per Trade", minval=0.1, maxval=5)
useATRSizing = input(true, title="Use ATR Position Sizing")
trailATR = input(1.5, title="Trailing Stop ATR Multiple")
// Calculate Range Filter
src = close
smooth = ta.sma(src, rangePeriod)
filter = ta.sma(math.abs(src - smooth), rangePeriod)
upper = smooth + filter
lower = smooth - filter
// Calculate ATR
atr = ta.atr(atrPeriod)
// Trend direction
upTrend = src > upper and src[1] > upper[1]
downTrend = src < lower and src[1] < lower[1]
// Position sizing based on ATR
atrPositionSize = (strategy.equity * riskPercent/100) / (atr * syminfo.pointvalue)
// Strategy logic
if (upTrend)
strategy.entry("Long", strategy.long, qty=useATRSizing ? atrPositionSize : na)
if (downTrend)
strategy.entry("Short", strategy.short, qty=useATRSizing ? atrPositionSize : na)
// Corrected trailing stop using trail_offset instead of trail_points
if (strategy.position_size > 0)
strategy.exit("Long Exit", "Long", trail_price=na, trail_offset=trailATR * atr)
if (strategy.position_size < 0)
strategy.exit("Short Exit", "Short", trail_price=na, trail_offset=trailATR * atr)
// Plotting
plot(upper, color=color.green, title="Upper Range")
plot(lower, color=color.red, title="Lower Range")
plot(smooth, color=color.blue, title="Smooth Line")