
गतिशील ट्रैक एडीएक्स संवर्धित एसएमए क्रॉसिंग रणनीति एक मात्रात्मक ट्रेडिंग प्रणाली है जिसमें सरल चलती औसत (एसएमए) क्रॉसिंग सिग्नल और औसत दिशा सूचकांक (एडीएक्स) फ़िल्टर शामिल हैं। यह रणनीति एडीएक्स संकेतक के माध्यम से बाजार की प्रवृत्ति की ताकत की पुष्टि करती है, एसएमए क्रॉसिंग ट्रेडिंग सिग्नल को केवल पर्याप्त गतिशीलता के साथ निष्पादित करती है, और गतिशील स्टॉप-लॉस और ट्रैक-लॉस तंत्र को लाभ और जोखिम को सीमित करने के लिए उपयोग करती है। रणनीति में ओवरनाइट जोखिम से बचने के लिए कॉल-टॉप समय भी सेट किया गया है।
इस रणनीति का मूल तर्क निम्नलिखित प्रमुख घटकों पर आधारित हैः
एसएमए क्रॉस सिग्नल: एक अल्पकालिक (डिफ़ॉल्ट 3 चक्र) सरल चलती औसत का उपयोग करके, जब कीमत एसएमए को ऊपर की ओर पार करती है तो एक मल्टी सिग्नल उत्पन्न होता है, और जब कीमत एसएमए को नीचे की ओर पार करती है तो एक शून्य सिग्नल उत्पन्न होती है।
ADX फ़िल्टर: ADX सूचक की मैन्युअल गणना (डिफ़ॉल्ट चक्र 15 है), केवल यह पुष्टि करने के लिए कि बाजार में ट्रेडों को निष्पादित करने के लिए पर्याप्त प्रवृत्ति की ताकत है जब ADX मूल्य सेट थ्रेशोल्ड (डिफ़ॉल्ट 15) से अधिक है। यह अस्थिर बाजार में झूठे संकेतों को प्रभावी ढंग से फ़िल्टर करता है।
गतिशील जोखिम प्रबंधन:
सत्र प्रबंधन: निर्दिष्ट ट्रेडिंग सत्र समाप्ति समय (डिफ़ॉल्ट 16:00) के दौरान सभी शेयरों को निष्क्रिय करने के लिए बाध्य करें, जिससे रातोंरात जोखिम से बचा जा सके।
वास्तविक समय संकेत: ट्रेडिंग सिग्नल ट्रिगर होने पर, ट्रेडिंग दिशा, प्रवेश मूल्य, स्टॉप-लॉस मूल्य और स्टॉप-स्टॉप मूल्य के साथ एक JSON प्रारूप का अलर्ट संदेश उत्पन्न होता है।
फ़ंक्शन को फिर से लिखना: यह सुनिश्चित करने के लिए reso_no_repaint फ़ंक्शन प्रदान किया गया है कि सूचक को फिर से चित्रित नहीं किया गया है, जिससे नीति की विश्वसनीयता बढ़ जाती है।
रुझान पहचान तंत्र: एसएमए क्रॉस और एडीएक्स सूचकांकों के संयोजन के माध्यम से, यह रणनीति मजबूत प्रवृत्ति की पहचान करने में सक्षम है, जो अस्थिर बाजारों में गलत संकेतों को कम करती है। एसएमए क्रॉस रणनीति की तुलना में व्यापार की सफलता की संभावना बढ़ जाती है।
लचीला जोखिम प्रबंधन: एक व्यापक जोखिम नियंत्रण उपाय प्रदान करता है, जिसमें फिक्स्ड स्टॉप, टारगेट स्टॉप और ट्रैक स्टॉप शामिल हैं, जिससे व्यापारी अपनी जोखिम वरीयताओं के अनुसार पैरामीटर को समायोजित कर सकते हैं।
सत्र प्रबंधकयह विशेष रूप से उन व्यापारियों के लिए उपयुक्त है जो दिन के भीतर व्यापार करते हैं या जो प्रमुख आर्थिक समाचारों और घटनाओं के जोखिम से बचना चाहते हैं।
वास्तविक समय चेतावनी प्रणाली: एक संरचित JSON प्रारूप अलर्ट प्रदान करें, जो स्वचालित लेनदेन प्रणाली या अधिसूचना तंत्र में एकीकृत करने के लिए सुविधाजनक हो।
सरल और प्रभावी: स्पष्ट रणनीति तर्क, कम पैरामीटर, समझने और समायोजित करने में आसान, सभी स्तरों के व्यापारियों के लिए उपयुक्त।
प्रति-पुनर्निर्माण डिजाइन: पुनर्निर्देशन सुरक्षा फ़ंक्शंस के माध्यम से नीति की विश्वसनीयता सुनिश्चित करें।
अल्पकालिक SMA अस्थिरता: डिफ़ॉल्ट रूप से उपयोग किया जाने वाला 3 चक्र SMA अतिसंवेदनशील हो सकता है, जो अत्यधिक अस्थिर बाजारों में बहुत अधिक ट्रेडिंग सिग्नल उत्पन्न कर सकता है, ट्रेडिंग लागत बढ़ा सकता है और लगातार नुकसान का कारण बन सकता है। इसका समाधान विभिन्न बाजार स्थितियों और समय सीमा के अनुसार SMA की लंबाई को समायोजित करना है।
फिक्स्ड अंक जोखिम प्रबंधन: रणनीति का उपयोग करने के लिए एक निश्चित अंक के बजाय प्रतिशत या एटीआर गुणांक की स्थापना रोक रोक, जो अलग अलग अस्थिरता के वातावरण में काफी लचीला नहीं हो सकता है. उच्च अस्थिरता बाजार में रोक रोक नुकसान बहुत छोटा हो सकता है, कम अस्थिरता बाजार में रोक रोक नुकसान बहुत बड़ा हो सकता है.
ADX विलंबता: ADX एक पिछड़ा सूचक है, जो रुझान स्थापित होने के बाद ही पुष्टि संकेत दे सकता है, जिसके परिणामस्वरूप प्रवेश में देरी होती है। इसे ADX पैरामीटर को अनुकूलित करके या अन्य अग्रणी संकेतकों के साथ संयोजन करके सुधार किया जा सकता है।
बाजार की स्थिति का कोई भेद नहीं: रणनीति विभिन्न बाजार स्थितियों (जैसे रुझान, आवृत्ति) के बीच अंतर नहीं करती है, सभी बाजार स्थितियों में एक ही ट्रेडिंग तर्क का उपयोग करती है, जिससे गैर-रुझान वाले बाजारों में खराब प्रदर्शन हो सकता है।
एकल समय सीमा: रणनीति केवल एकल समय सीमा विश्लेषण पर आधारित है, बहु-समय सीमा की पुष्टि की कमी है, और बड़े रुझानों के संदर्भ में महत्वपूर्ण बाजार परिवर्तनों को याद किया जा सकता है।
गतिशील जोखिम प्रबंधन में सुधार: एक गतिशील जोखिम प्रबंधन प्रणाली के लिए एक निश्चित बिंदु संख्या रोक रोक को बदल दिया गया है जो एटीआर (औसत वास्तविक अस्थिरता) पर आधारित है, जिससे रणनीति को विभिन्न बाजार की अस्थिरता स्थितियों के अनुकूल बनाया जा सकता है। उदाहरण के लिए, रोक को 1.5 गुना एटीआर और रोक को 3 गुना एटीआर पर सेट किया जा सकता है।
बहु-समय-सीमा विश्लेषण: उच्च समय सीमा की प्रवृत्ति की पुष्टि जोड़ें, केवल बड़े प्रवृत्ति की दिशा में व्यापार करें, जीत की दर बढ़ाएं। प्रवृत्ति फ़िल्टर के रूप में लंबे समय तक चलने वाले SMA को जोड़ा जा सकता है।
बाजार की स्थिति की पहचान: बाजार की स्थिति के वर्गीकरण के लिए तंत्र, जैसे कि अस्थिरता सूचक या प्रवृत्ति की ताकत सूचक, विभिन्न बाजार स्थितियों में अलग-अलग रणनीतिक पैरामीटर या व्यापारिक तर्क लागू करना।
प्रवेश अनुकूलन: अतिरिक्त प्रविष्टि पुष्टि संकेतकों जैसे आरएसआई ((सापेक्ष रूप से कमजोर सूचकांक) या ब्रिन बैंड को जोड़ने पर विचार करें, जो प्रविष्टि संकेत की गुणवत्ता को बढ़ाता है। एकल-बिंदु प्रविष्टि जोखिम को कम करने के लिए बैचों के निर्माण की रणनीति को भी लागू किया जा सकता है।
अनुकूलन पैरामीटर: एक पैरामीटर अनुकूलन तंत्र को लागू करना जो हाल के बाजार व्यवहार के आधार पर एसएमए लंबाई, एडीएक्स थ्रेशोल्ड और जोखिम प्रबंधन पैरामीटर को स्वचालित रूप से समायोजित करता है, जिससे रणनीति को बदलती बाजार स्थितियों के अनुकूल बनाया जा सके।
समय फ़िल्टर: कम तरलता या उच्च अस्थिरता वाले समाचार प्रकाशनों के दौरान ट्रेडिंग समय फ़िल्टर जोड़ें, स्लाइड पॉइंट और असामान्य प्रवृत्ति के जोखिम को कम करें।
गतिशील ट्रैकिंग ADX संवर्धित SMA क्रॉसिंग रणनीति एक पूर्ण ट्रेडिंग प्रणाली है जिसमें तकनीकी विश्लेषण और जोखिम प्रबंधन शामिल है। सरल SMA क्रॉसिंग सिग्नल को ADX ट्रेंड कन्फर्मेशन के साथ जोड़कर, यह रणनीति लाभदायक ट्रेडिंग अवसरों की अधिक सटीक पहचान करने में सक्षम है। गतिशील स्टॉप और ट्रैकिंग स्टॉप लॉस तंत्र एक अच्छा जोखिम नियंत्रण प्रदान करते हैं, जबकि सत्र प्रबंधन सुविधा ओवरनाइट जोखिम को और कम करती है।
हालांकि कुछ सीमाएं हैं, जैसे कि निश्चित अंक जोखिम प्रबंधन और एकल समय सीमा विश्लेषण, इन समस्याओं को इस लेख में प्रस्तुत अनुकूलन दिशाओं के माध्यम से हल किया जा सकता है। एटीआर-आधारित गतिशील जोखिम प्रबंधन, बहु-समय सीमा विश्लेषण और बाजार की स्थिति की पहचान जैसे सुधारों की शुरूआत के माध्यम से, इस रणनीति में एक अधिक मजबूत और अनुकूलनशील ट्रेडिंग प्रणाली बनने की क्षमता है।
अंततः, इस रणनीति की सफलता पर निर्भर करता है कि व्यापारी पैरामीटर को कैसे समायोजित करता है और किसी विशेष बाजार और समय सीमा के लिए कैसे अनुकूल है। यह सलाह दी जाती है कि वास्तविक व्यापार से पहले, रणनीति को विभिन्न बाजार स्थितियों के तहत प्रदर्शन करने के लिए पर्याप्त अनुवर्ती और अनुकरण ट्रेडिंग की जाए।
/*backtest
start: 2024-08-04 00:00:00
end: 2025-08-02 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("safa bot alert", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === INPUTS ===
smaLength = input.int(3, title="SMA Length")
tpPoints = input.float(80, title="Take Profit (Points)")
slPoints = input.float(35, title="Stop Loss (Points)")
trailPoints = input.float(15, title="Trailing Stop (Points)")
sessionCloseHour = input.int(16, "Session Close Hour (24h)")
sessionCloseMinute = input.int(0, "Session Close Minute")
// === ADX INPUTS ===
adxLength = input.int(15, title="ADX Length")
adxThreshold = input.float(15, title="Minimum ADX to Trade")
// === INDICATORS ===
sma = ta.sma(close, smaLength)
plot(sma, title="3 SMA", color=color.orange)
// === MANUAL ADX CALCULATION ===
upMove = high - high[1]
downMove = low[1] - low
plusDM = (upMove > downMove and upMove > 0) ? upMove : 0
minusDM = (downMove > upMove and downMove > 0) ? downMove : 0
trur = ta.rma(ta.tr, adxLength)
plusDI = 100 * ta.rma(plusDM, adxLength) / trur
minusDI = 100 * ta.rma(minusDM, adxLength) / trur
dx = 100 * math.abs(plusDI - minusDI) / (plusDI + minusDI)
adx = ta.rma(dx, adxLength)
plot(adx, title="ADX", color=color.blue)
// === ENTRY CONDITIONS ===
longCondition = ta.crossover(close, sma) and adx > adxThreshold
shortCondition = ta.crossunder(close, sma) and adx > adxThreshold
// === STRATEGY EXECUTION ===
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Exit", from_entry="Long", limit=close + tpPoints, stop=close - slPoints, trail_points=trailPoints, trail_offset=trailPoints)
// FIRE ALERT
string alertMsg = '{"signal":"BUY","entry":' + str.tostring(close) +
',"SL":' + str.tostring(close - slPoints) +
',"TP":' + str.tostring(close + tpPoints) +
',"time":"' + str.tostring(time) + '"}'
alert(alertMsg, alert.freq_once_per_bar_close)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Exit", from_entry="Short", limit=close - tpPoints, stop=close + slPoints, trail_points=trailPoints, trail_offset=trailPoints)
// FIRE ALERT
string alertMsg = '{"signal":"SELL","entry":' + str.tostring(close) +
',"SL":' + str.tostring(close + slPoints) +
',"TP":' + str.tostring(close - tpPoints) +
',"time":"' + str.tostring(time) + '"}'
alert(alertMsg, alert.freq_once_per_bar_close)
// === FORCE EXIT AT SESSION CLOSE ===
sessionCloseTime = (hour == sessionCloseHour and minute == sessionCloseMinute)
if (sessionCloseTime)
strategy.close_all(comment="Session Close")
// === NO-REPAINT FUNCTION ===
reso_no_repaint(exp, use, res) =>
use ? request.security(syminfo.tickerid, res, exp[1], lookahead=barmerge.lookahead_off, gaps=barmerge.gaps_on)[0] : exp