डायनेमिक ट्रेंड ट्रैकिंग रिवर्सल रणनीति जेडी सीक्वेंशियल इंडिकेटर पर आधारित एक अल्पकालिक मात्रात्मक ट्रेडिंग रणनीति है। वास्तविक समय में मूल्य के उच्च और निम्न स्तरों को ट्रैक करके, यह रणनीति प्रवेश और निकास समय के लिए बाजार के उलट बिंदुओं को कुशलतापूर्वक कैप्चर करने के लिए वर्तमान प्रवृत्ति दिशा और गति निर्धारित करती है। पारंपरिक जेडी सीक्वेंशियल रणनीतियों की तुलना में, यह रणनीति निम्नलिखित सुधार करती हैः
यह रणनीति 5 मिनट और 15 मिनट के चार्ट जैसे अल्पकालिक समय सीमाओं के लिए उपयुक्त है, जो अल्पकालिक मूल्य उतार-चढ़ाव और उलट अवसरों को प्रभावी ढंग से पकड़ सकती है।
डायनामिक ट्रेंड ट्रैकिंग रिवर्सल रणनीति का मूल तर्क जेडी अनुक्रमिक संकेतक पर आधारित है। वर्तमान अवधि के उच्च और निम्न मूल्यों की तुलना पिछले दो अवधियों के साथ करके, यह संकेतक निर्धारित करता है कि क्या लगातार उच्च उच्च या निम्न निम्न स्तर हुए हैं, और 1 से 7 तक अनुक्रमिक गिनती उत्पन्न करता है। जब गिनती 7 तक जमा होती है, तो ट्रेडिंग संकेत उत्पन्न होते हैं।
विशेष रूप से, रणनीति में निम्नलिखित चर परिभाषित किए गए हैंः
ट्रेड सिग्नल जनरेशन का तर्क हैः
स्टॉप लॉस का तर्क हैः
ट्रेंड दिशा और ताकत निर्धारित करने के लिए वास्तविक समय में उच्च / निम्न की तुलना करके, प्रवेश के लिए गणना-आधारित समय के साथ, यह रणनीति प्रभावी रूप से अल्पकालिक उलट अवसरों को पकड़ सकती है। स्टॉप लॉस लाइनों को जोखिमों को नियंत्रित करने के लिए भी कॉन्फ़िगर किया गया है।
पारंपरिक जेडी अनुक्रमिक रणनीतियों की तुलना में, गतिशील प्रवृत्ति ट्रैकिंग रिवर्सल रणनीति के निम्नलिखित फायदे हैंः
इस रणनीति का मुख्य लाभ इसकी त्वरित प्रतिक्रिया है, जो अल्पकालिक घटनाओं के कारण होने वाले बड़े उतार-चढ़ाव को प्रभावी ढंग से पकड़ सकती है। इसके अलावा, एल्गोरिदमिक सिग्नल जनरेशन और स्टॉप लॉस मशीनीकरण व्यापारियों से भावनात्मक हस्तक्षेप को कम कर सकते हैं, स्थिरता में सुधार कर सकते हैं।
गतिशील रुझान ट्रैकिंग रिवर्सल रणनीति में कुछ जोखिम भी शामिल हैंः
उपरोक्त जोखिमों को कम करने के लिए, रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
डायनेमिक ट्रेंड ट्रैकिंग रिवर्सल स्ट्रेटेजी के लिए और अधिक अनुकूलन के लिए काफी जगह है, मुख्य रूप से निम्नलिखित दिशाओं मेंः
बहु-समय-सीमा संयोजनः इसके विरुद्ध व्यापार करने से बचने के लिए उच्च समय-सीमा पर प्रमुख प्रवृत्ति दिशा निर्धारित करें।
अन्य संकेतकों के साथ संयोजन। संकेत की गुणवत्ता में सुधार के लिए अस्थिरता मीट्रिक, वॉल्यूम डेटा आदि को शामिल करें।
अतिरिक्त सत्यापन के लिए मशीन लर्निंग। गलत ट्रेडों को कम करने के लिए व्यापार संकेतों पर सहायक निर्णय के रूप में एआई / एमएल एल्गोरिदम का उपयोग करें।
पैरामीटर ट्यूनिंग. विभिन्न बाजार स्थितियों के अनुरूप गणना अवधि, ट्रेडिंग सत्र, स्थिति आकार आदि जैसे मापदंडों का अनुकूलन करें।
जोखिम नियंत्रण तंत्र का विस्तार करना। जोखिमों को और सीमित करने के लिए अधिक परिष्कृत जोखिम प्रबंधन तकनीक जैसे अनुकूलन रोके, स्थिति आकार आदि को पेश करना।
बैकटेस्टिंग के माध्यम से रणनीति मूल्यांकन। पैरामीटर की मजबूती को मापने के लिए बैकटेस्ट के लिए नमूना आकार और समय सीमा का विस्तार करें।
डायनेमिक ट्रेंड ट्रैकिंग रिवर्सल रणनीति ट्रेड टाइमिंग के लिए जेडी अनुक्रमिक संकेतक के भीतर 7-गणना नियमों के साथ-साथ, ट्रेंड की दिशा और ताकत निर्धारित करने के लिए मूल्य उच्च और निम्न की वास्तविक समय की तुलना के माध्यम से अल्पकालिक उलट अवसरों को पकड़ती है। पारंपरिक जेडी रणनीतियों की तुलना में, यह रणनीति बंद कीमतों के बजाय उच्च / निम्न का उपयोग करने, संक्षिप्त गिनती अवधि, अतिरिक्त स्टॉप लॉस तंत्र आदि जैसे सुधार करती है, जिससे तेजी से सिग्नल पीढ़ी संभव होती है।
इस रणनीति की मुख्य ताकत अल्पकालिक रिवर्सल ट्रेडिंग के लिए उपयुक्त इसकी त्वरित प्रतिक्रिया में निहित है। साथ ही, उच्च ट्रेडिंग आवृत्तियों और आक्रामक स्टॉप जैसे जोखिम मौजूद हैं। भविष्य के अनुकूलन दिशाओं में पैरामीटर ट्यूनिंग, जोखिम नियंत्रण में सुधार, मल्टी-टाइमफ्रेम संयोजन आदि शामिल हैं। निरंतर अनुकूलन और पुनरावृत्ति के माध्यम से, इस रणनीति में अल्पकालिक रिवर्सल सिग्नल को कुशलतापूर्वक कैप्चर करने के लिए एक शक्तिशाली उपकरण बनने की क्षमता है।
/*backtest start: 2023-12-16 00:00:00 end: 2024-01-15 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @NeoButane 7 Dec. 2018 // JD Aggressive Sequential Setup // Not based off official Tom DeMarke documentation. As such, I have named the indicator JD instead oF TD to reflect this, and as a joke. // // Difference vs. TD Sequential: faster trade exits and a unique entry. Made for low timeframes. // - Highs or lows are compared instead of close. // - Mirrors only the Setup aspect of TD Sequential (1-9, not to 13) // - Count maxes out at 7 instead of 9. Also part of the joke if I'm going to be honest here // v1 - Release - Made as a strategy, 7 count // . S/R on 7 count // .. Entry on 7 count // ... Exit on 5 count or S/R cross //@version=3 title = "JD Aggressive Sequential Setup" vers = " 1.0 [NeoButane]" total = title + vers strategy(total, total, 1, 0) xx = input(true, "Include S/R Crosses Into Stop Loss") show_sp = input(true, "Show Count 1-4") sp_ct = 0 inc_sp(x) => nz(x) == 7 ? 1 : nz(x) + 1 sp_up = high > high[2] sp_dn = low < low[2] sp_col = sp_up ? green : red sp_comCol = sp_up ? red : green sp_ct := sp_up ? (nz(sp_up[1]) and sp_col == sp_col[1] ? inc_sp(sp_ct[1]) : 1) : sp_dn ? (nz(sp_dn[1]) and sp_col == sp_col[1] ? inc_sp(sp_ct[1]) : 1) : na sp_com = sp_ct == 7 sp_sr = valuewhen(sp_ct == 5, close, 0) sp_usr = valuewhen(sp_ct == 7 and sp_up, sma(hlc3, 2), 0) sp_usr := sp_usr <= sp_usr[1] * 1.0042 and sp_usr >= sp_usr[1] * 0.9958 ? sp_usr[1] : sp_usr sp_dsr = valuewhen(sp_ct == 7 and sp_dn, sma(hlc3, 2), 0) sp_dsr := sp_dsr <= sp_dsr[1] * 1.0042 and sp_dsr >= sp_dsr[1] * 0.9958 ? sp_dsr[1] : sp_dsr locc = location.abovebar plotchar(show_sp and sp_ct == 1, 'Setup: 1', '1', locc, sp_col, editable=false) plotchar(show_sp and sp_ct == 2, 'Setup: 2', '2', locc, sp_col, editable=false) plotchar(show_sp and sp_ct == 3, 'Setup: 3', '3', locc, sp_col, editable=false) plotchar(show_sp and sp_ct == 4, 'Setup: 4', '4', locc, sp_col, editable=false) plotshape(sp_ct == 5, 'Setup: 5', shape.xcross, locc, sp_comCol, 0, 0, '5', sp_col) plotshape(sp_ct == 6, 'Setup: 6', shape.circle, locc, sp_comCol, 0, 0, '6', sp_col) plotshape(sp_ct == 7, 'Setup: 7', shape.circle, locc, sp_comCol, 0, 0, '7', sp_col) // plot(sp_sr, "5 Count Support/Resistance", gray, 2, 6) plot(sp_usr, "7 Count Resistance", maroon, 2, 6) plot(sp_dsr, "7 Count Support", green, 2, 6) long = (sp_com and sp_dn) short = (sp_com and sp_up) sl_l = xx ? crossunder(close, sp_dsr) or (sp_ct == 5 and sp_up) or short : (sp_ct == 5 and sp_up) or short sl_s = xx ? crossover(close, sp_usr) or (sp_ct == 5 and sp_dn) or long : (sp_ct == 5 and sp_dn) or long strategy.entry('L', 1, when = long) strategy.close('L', when = sl_l) strategy.entry('S', 0, when = short) strategy.close('S', when = sl_s)