यह रणनीति मानक डोंचियन चैनल संकेतक के आधार पर विकसित की गई है। यह ट्रेडिंग सिग्नल जारी करने से पहले डिफ़ॉल्ट रूप से पुष्टि के लिए लगातार दो उच्च उच्च (या निम्न निम्न) की प्रतीक्षा करता है, ताकि मार्केट मेकर्स द्वारा नकली आउट से बचा जा सके।
रणनीति में दोहरी पुष्टि तंत्र को निष्क्रिय करने का विकल्प भी दिया गया है, ताकि यह नए उच्च या निम्न स्तरों को देखते ही तुरंत ट्रेडिंग सिग्नल जारी कर सके।
जो लोग शॉर्ट करना पसंद नहीं करते हैं, उनके लिए शॉर्ट पोजीशन को बाहर करने का विकल्प भी है।
रणनीति डोंचियन चैनल संकेतक के ऊपरी और निचले बैंड पर आधारित है। ऊपरी बैंड पिछले n बार में उच्चतम उच्च है, जबकि निचला बैंड पिछले n बार में सबसे कम कम है। डिफ़ॉल्ट लुकबैक अवधि n 20 है।
मध्य बैंड ऊपरी और निचले बैंड का औसत है, और इसका उपयोग प्रवृत्ति दिशा को मापने के लिए किया जा सकता है।
जब मूल्य ऊपरी बैंड से ऊपर टूट जाता है, तो रणनीति लंबी हो जाएगी यदि कोई मौजूदा लंबी स्थिति नहीं है। जब मूल्य निचले बैंड से नीचे टूट जाता है, तो रणनीति छोटी हो जाएगी यदि कोई मौजूदा छोटी स्थिति नहीं है।
झूठे ब्रेकआउट को फ़िल्टर करने के लिए,
इस रणनीति के लाभों में निम्नलिखित शामिल हैंः
डोंचियन चैनल सूचक सरल और समझने में आसान है।
दोहरी पुष्टिकरण तंत्र प्रभावी रूप से झूठे ब्रेकआउट को फ़िल्टर करता है और फंसने से बचता है।
चैनल लुकबैक अवधि को विभिन्न बाजार वातावरणों के अनुकूल करने के लिए अनुकूलित किया जा सकता है।
लघु बिक्री विकल्प विभिन्न निवेशकों की जरूरतों को पूरा करता है।
आगे के विकास के लिए कोड साफ और समझने में आसान है।
इस रणनीति के साथ कुछ जोखिम भी हैंः
दोहरी पुष्टि के कारण कुछ व्यापारिक अवसरों को खोया जा सकता है।
चैनल अवधि की अनुचित सेटिंग्स के परिणामस्वरूप अत्यधिक लगातार या कम व्यापार हो सकता है।
लंबी अवधि के लिए जोखिमों को प्रभावी ढंग से नियंत्रित नहीं किया जा सकता है।
शॉर्ट सेलिंग से होने वाले अतिरिक्त जोखिमों पर ध्यान देने की जरूरत है।
बैकटेस्ट ओवरफिटिंग के बारे में सावधानी बरतने की जरूरत है।
संबंधित समाधान:
दोहरी पुष्टिकरण अक्षम करें या पुष्टिकरण अंतराल छोटा करें.
मापदंडों का अनुकूलन और उपयुक्त चैनल अवधि का चयन करें।
स्टॉप लॉस/प्रॉफिट को प्रति ट्रेड हानि के लिए उचित सीमा पर सेट करें।
शॉर्ट बिक्री को अक्षम करें, केवल लंबे समय तक जाएं।
विभिन्न बाजार वातावरणों में रणनीति का ठोस मूल्यांकन करें।
सुधार के अवसरों में निम्नलिखित शामिल हैंः
अस्थिरता के आधार पर स्थिति आकार को गतिशील रूप से समायोजित करें।
टूटने की तीव्रता के माप के आधार पर झूठे ब्रेकआउट फ़िल्टर करें।
रुझानों का पालन करने के लिए ट्रेलिंग स्टॉप तंत्र को शामिल करें।
प्रवृत्ति की दिशा निर्धारित करने और प्रमुख मोड़ बिंदुओं को याद करने से बचने के लिए अन्य संकेतकों को मिलाएं।
मशीन लर्निंग के माध्यम से स्वचालित रूप से अनुकूलन पैरामीटर.
ये सुधार रणनीति की स्थिरता और लाभप्रदता में और सुधार कर सकते हैं।
यह डोंचियन चैनल के दोहरे पुष्टिकरण तंत्र पर आधारित एक सरल लेकिन प्रभावी प्रवृत्ति रणनीति है। पैरामीटर ट्यूनिंग और सुविधा विस्तार के साथ, रणनीति को बाजार के वातावरण की एक विस्तृत श्रृंखला के लिए अनुकूलित किया जा सकता है और इसकी महान व्यावहारिक उपयोगिता है।
/*backtest start: 2022-12-15 00:00:00 end: 2023-12-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Donchian Channels", shorttitle="DC", overlay=true, initial_capital=10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick=true) length = input(20, minval=1) lower = lowest(length) upper = highest(length) basis = avg(upper, lower) bool inShortPos = false bool inLongPos = false bool wait4confirmation = input(true, title="Wait for double confirmation?") bool doShort = input(true, title="Include short positions") plot(basis, "Basis", color=#FF6D00) u = plot(upper, "Upper", color=#2962FF) l = plot(lower, "Lower", color=#2962FF) fill(u, l, color=color.rgb(33, 150, 243, 95), title="Background") //if(inShortPos == false and inLongPos == false) if(not inLongPos and upper > upper[1]) if(wait4confirmation) if(not inLongPos and upper > upper[1] and upper[1] > upper[2]) strategy.close("Short", true) strategy.entry("Buy", true) else strategy.close("Short", true) strategy.entry("Buy", true) else if(not inShortPos and lower < lower[1]) if(wait4confirmation) if(not inShortPos and lower < lower[1] and lower[1] < lower[2]) strategy.close("Buy", true) if(doShort) strategy.entry("Short", true) else strategy.close("Buy", true) if(doShort) strategy.entry("Short", true)