तांग अंची कछुआ ट्रेडिंग रणनीति मूल कछुआ ट्रेडिंग रणनीति का एक अत्यधिक सरलीकृत संस्करण है। यह मूल कछुआ रणनीति से बहुत अलग है। रणनीति दो डोंचियन चैनलों, एक तेज चैनल और एक धीमी चैनल का उपयोग करती है। चैनल अवधि उपयोगकर्ता द्वारा निर्धारित की जाती है, जिसमें तेज चैनल के लिए 20 बार और धीमी चैनल के लिए 50 बार के डिफ़ॉल्ट मान होते हैं। रणनीति प्रवेश ट्रेडों के लिए धीमी चैनल के ऊपरी और निचले बैंड का उपयोग करती है और स्टॉप लॉस सेट करने के लिए तेज चैनल के मध्य बैंड का उपयोग करती है।
इस रणनीति का मूल तर्क यह हैः
तेज़ डोंचियन चैनल की गणना करें: ऊपरी बैंड पिछले तेज़ बारों पर उच्चतम उच्च है, निचला बैंड सबसे कम कम है, और मध्य बैंड ऊपरी और निचले बैंड का औसत है।
धीमे डोंचियन चैनल की गणना करें: ऊपरी बैंड पिछले धीमे बारों पर उच्चतम उच्च है, निचला बैंड सबसे कम कम है।
जब कोई स्थिति नहीं होती है, तो जब कीमत धीमी चैनल के ऊपरी बैंड को छूती है तो एक लंबा संकेत ट्रिगर किया जाता है, और जब कीमत धीमी चैनल के निचले बैंड को छूती है तो एक छोटा संकेत ट्रिगर किया जाता है।
स्थिति खोलने के बाद, फास्ट चैनल के मध्य बैंड का उपयोग स्टॉप लॉस के रूप में किया जाता है।
जब होल्डिंग अवधि के दौरान उद्घाटन संकेत के विपरीत संकेत होता है तो स्थिति को बंद कर दें।
इस रणनीति के लाभ इस प्रकार हैंः
सरल नियम लागू करने के लिए आसान. Donchian चैनलों और चल स्टॉप हानि समझने के लिए आसान हैं, शुरुआती के लिए उपयुक्त.
अनुकूलन योग्य मापदंड. उपयोगकर्ता विभिन्न बाजार वातावरणों के अनुकूल होने के लिए व्यापार उत्पादों और समय सीमाओं के आधार पर मापदंडों को समायोजित कर सकते हैं।
कुछ परस्पर विरोधी ट्रेडिंग सिग्नल केवल चैनल बैंड के मूल्य ब्रेकआउट पर निर्भर करता है, सामान्य संकेतकों से झूठे संकेतों से बचता है।
स्वचालित स्टॉप लॉस मैनेजमेंट. तेज चैनल मध्य बैंड के आधार पर चलती स्टॉप लॉस एकल ट्रेडों पर नुकसान को सीमित कर सकती है.
इस रणनीति के जोखिमों में निम्नलिखित शामिल हैंः
अधिक स्टॉप लॉस जब रुझान अस्पष्ट हो। यह रणनीति की लाभप्रदता को प्रभावित करता है।
जब रुझान उलट जाता है, तो पिछली रुझान दिशा में फ्लोटिंग मुनाफा घाटे में बदल जाएगा।
अनुचित पैरामीटर सेटिंग्स अति-आक्रामकता या अति-संरक्षकता का कारण बनती हैं। दोहराए गए बैकटेस्टिंग के माध्यम से उचित मानों को खोजने की आवश्यकता होती है।
स्वचालित ट्रेडिंग पर उच्च निर्भरता. स्वचालित ट्रेडिंग में विफलता के कारण होने वाले अपवादों से बचने के लिए सर्वर स्थिरता महत्वपूर्ण है।
उपरोक्त जोखिमों को कम करने के लिए, मापदंडों को अनुकूलित किया जा सकता है, स्थिति आकार को उचित रूप से सीमित किया जा सकता है, और जोखिम प्रबंधन मॉड्यूल जोड़े जा सकते हैं।
इन रणनीतियों में निम्नलिखित पहलुओं में सुधार किया जा सकता हैः
प्रवेश संकेतों के लिए फ़िल्टर जोड़ें ताकि प्रवृत्ति उलट संकेतों को पकड़ने से बचा जा सके। उदाहरण के लिए, प्रवृत्ति दिशा निर्धारित करने के लिए प्रवृत्ति संकेतक का उपयोग करें।
विभिन्न व्यापारिक साधनों को बेहतर ढंग से फिट करने के लिए चैनल अवधि और स्थिति आकार जैसे मापदंडों का अनुकूलन करें।
अत्यधिक घटनाओं में अत्यधिक नुकसान को रोकने के लिए अधिकतम निकासी सीमा और दैनिक हानि सीमा जैसे जोखिम प्रबंधन मॉड्यूल जोड़ें।
स्टॉप लॉस रणनीतियों में सुधार करना। उदाहरण के लिए, बाजार के रुझानों के लिए स्टॉप को अधिक अनुकूल बनाने के लिए ट्रेलिंग स्टॉप लॉस को अपनाएं।
संक्षेप में, तांग अंची कछुआ ट्रेडिंग रणनीति एक सरल प्रवृत्ति अनुसरण प्रणाली है। इसके फायदे इसकी आसानी से समझने और स्वचालन में निहित हैं। लेकिन यह कुछ जोखिम भी ले जाता है, और इसे अधिक व्यावहारिक बनाने के लिए मापदंडों और जोखिम प्रबंधन पर आगे के अनुकूलन की आवश्यकता होती है। पैरामीटर ट्यूनिंग, फ़िल्टर जोड़ने और जोखिम नियंत्रण मॉड्यूल जैसे उपायों के साथ, रणनीति लाइव ट्रेडिंग में बेहतर परिणाम प्राप्त कर सकती है।
/*backtest start: 2024-01-26 00:00:00 end: 2024-02-15 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2020 //@version=4 strategy("Noro's SimpleTurtle Strategy", shorttitle = "SimpleTurtle str", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 100, default_qty_value = 100, commission_value = 0.1) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") sizelong = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot long, %") sizeshort = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot short, %") fast = input(20, minval=1) slow = input(50, minval=1) showof = input(true, defval = true, title = "Show offset") showll = input(true, defval = true, title = "Show lines") showdd = input(false, defval = true, title = "Show label (drawdown)") showbg = input(true, defval = true, title = "Show background") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Donchian price channel fast hf = highest(high, fast) lf = lowest(low, fast) center = (hf + lf) / 2 //Donchian price chennal slow hs = highest(high, slow) ls = lowest(low, slow) //Lines colorpc = showll ? color.blue : na colorsl = showll ? color.red : na offset = showof ? 1 : 0 plot(hs, offset = offset, color = colorpc) plot(ls, offset = offset, color = colorpc) plot(center, offset = offset, color = colorsl) //Background size = strategy.position_size colorbg = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na bgcolor(colorbg, transp = 70) //Orders truetime = true lotlong = 0.0 lotshort = 0.0 lotlong := size != size[1] ? strategy.equity / close * sizelong / 100 : lotlong[1] lotshort := size != size[1] ? strategy.equity / close * sizeshort / 100 : lotshort[1] //Orders strategy.entry("Long", strategy.long, lotlong, stop = hs, when = needlong and strategy.position_size == 0 and truetime) strategy.entry("Short", strategy.short, lotshort, stop = ls, when = needshort and strategy.position_size == 0 and truetime) strategy.exit("Long", stop = center, when = needlong and strategy.position_size > 0) strategy.exit("Short", stop = center, when = needshort and strategy.position_size < 0) if true strategy.close_all() strategy.cancel("fast L") strategy.cancel("fast S") strategy.cancel("slow L") strategy.cancel("slow S") if showdd //Drawdown max = 0.0 max := max(strategy.equity, nz(max[1])) dd = (strategy.equity / max - 1) * 100 min = 100.0 min := min(dd, nz(min[1])) //Label min := round(min * 100) / 100 labeltext = "Drawdown: " + tostring(min) + "%" var label la = na label.delete(la) tc = min > -100 ? color.white : color.red osx = timenow + round(change(time)*10) osy = highest(100) la := label.new(x = osx, y = osy, text = labeltext, xloc = xloc.bar_time, yloc = yloc.price, color = color.black, style = label.style_labelup, textcolor = tc)