कछुआ ट्रेडिंग रणनीति एक प्रवृत्ति के बाद की रणनीति है जो गति ब्रेकआउट को ट्रैक करती है। यह प्रसिद्ध व्यापारी रिचर्ड डेनिस द्वारा 1980 के दशक में यह साबित करने के लिए विकसित किया गया था कि व्यापारियों को पैदा होने के बजाय नियमों द्वारा पोषित किया जा सकता है। रणनीति का मुख्य विचार मूल्य ब्रेकआउट को ट्रैक करना और रुझानों का पालन करना है, जबकि डाउनसाइड जोखिम को सीमित करने के लिए पैसे के प्रबंधन सिद्धांतों का सख्ती से पालन करना है।
कछुआ ट्रेडिंग रणनीति चैनलों के निर्माण के लिए दो मापदंडों N और N/2 का उपयोग करती है। विशेष रूप से, यह सबसे हाल के N दिनों और N/2 दिनों में उच्चतम और निम्नतम कीमतों की गणना करती है। जब कीमत N-दिन के चैनल से अधिक होती है, तो एक लंबी स्थिति स्थापित की जाती है। जब कीमत N/2-दिन के चैनल से नीचे गिरती है, तो स्थिति बंद हो जाती है। इसी तरह, जब कीमत N-दिन के चैनल को नीचे की ओर तोड़ती है, तो एक छोटी स्थिति स्थापित की जाती है, और जब कीमत N/2-दिन के चैनल से ऊपर उठती है, तो बंद हो जाती है। लक्ष्य जोखिम को नियंत्रित करते हुए मूल्य रुझानों का पालन करना है।
कोड में, N के अनुरूप हैenter_slow
और N/2 के अनुरूप हैenter_fast
उच्चतम कीमतें (slowL
औरfastL
) और सबसे कम कीमतें (slowS
औरfastS
हाल के 55 दिनों और 20 दिनों के दौरान की गई लंबी पोजीशन की गणना अलग से की जाती है।enterL2
) और जब कीमत 20 दिन के चैनल से नीचे गिरती है तो बंद हो जाती है (exitL1
) शॉर्ट पोजीशन तब खोले जाते हैं जब कीमत 55 दिन के चैनल को नीचे की ओर तोड़ती है (enterS2
) और जब कीमत 20 दिन के चैनल से ऊपर जाती है तो बंद हो जाती है (exitS1
).
कछुआ ट्रेडिंग रणनीति का सबसे बड़ा लाभ जोखिम नियंत्रण है। मूल्य ब्रेकआउट पर पदों की स्थापना करके और पॉलबैक पर जल्दी से रोककर, यह व्यक्तिगत ट्रेडों पर नुकसान को प्रभावी ढंग से नियंत्रित करता है। फिक्स्ड फ्रैक्शनल पोजीशन साइजिंग का उपयोग जोखिम को और कम करता है।
एक और लाभ सरल पैरामीटर चयन है। पूरी रणनीति में केवल 4 पैरामीटर हैं जिन्हें समझना और ट्यून करना आसान है। पैरामीटर खुद भी काफी स्थिर हैं, जिन्हें लगातार अनुकूलन की आवश्यकता नहीं है।
कछुए की ट्रेडिंग रणनीति का सबसे बड़ा जोखिम दीर्घकालिक रुझानों को ट्रैक करने में असमर्थता है। यह रुझान बनने पर प्रवेश के अवसरों को याद कर सकता है। इसके अलावा, चंचल मूल्य दोलन वातावरण में, रणनीति लगातार प्रवेश और निकास को ट्रिगर करेगी, लेनदेन लागत और फिसलने के जोखिम को बढ़ाएगी।
इसके अतिरिक्त, फिक्स्ड पैरामीटर सेटिंग्स उत्पादों और बाजार व्यवस्थाओं के बीच बहुत अलग प्रदर्शन कर सकती हैं, जिसके लिए अनुभव के आधार पर मैन्युअल ट्यूनिंग की आवश्यकता होती है।
कछुए व्यापार रणनीति को कई तरीकों से बढ़ाया जा सकता हैः
परिदृश्यों में प्रणाली को अधिक मजबूत बनाने के लिए बाजार अस्थिरता और संकेत आवृत्ति के आधार पर पैरामीटर N और N/2 में अनुकूलन क्षमताएं जोड़ें।
अस्थिर बाजारों में गलत दिशा में प्रवेश से बचने के लिए प्रवेश से पहले रुझान का पता लगाने के नियम शामिल करें।
अधिक अवधि में रुझानों की पुष्टि करने और कम अवधि में व्यापार करने के लिए बहु-समय-अंतराल दृष्टिकोण अपनाएं।
ड्रॉडाउन को कम करने के लिए ट्रेलिंग स्टॉप या समय आधारित स्टॉप के साथ स्टॉप लॉस नियमों को अनुकूलित करें।
कछुआ ट्रेडिंग रणनीति प्रभावी रूप से एक सरल ब्रेकआउट प्रणाली द्वारा रुझानों को ट्रैक करती है। जोखिम नियंत्रण इसकी सबसे बड़ी ताकत है, त्वरित स्टॉप और निश्चित अंश स्थिति आकार के लिए धन्यवाद। साथ ही, हम कई आयाम देखते हैं जिनके साथ रणनीति का विस्तार और अनुकूलित किया जा सकता है ताकि अधिक उपकरणों और बाजार की स्थिति के अनुरूप हो। कुल मिलाकर, यह मूल्य रुझानों को पकड़ने के लिए जोखिम-नियंत्रित तरीका प्रदान करता है जो मात्रात्मक व्यापार के लिए एक महत्वपूर्ण संदर्भ है।
/*backtest start: 2022-12-24 00:00:00 end: 2023-12-24 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //oringinally coded by tmr0, modified by timchep //original idea from «Way of the Turtle: The Secret Methods that Turned Ordinary People into Legendary Traders» (2007) CURTIS FAITH strategy("Turtles", shorttitle = "Turtles", overlay=true, pyramiding=1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100) ////////////////////////////////////////////////////////////////////// // Component Code Start testStartYear = input(2011, "Backtest Start Year") testStartMonth = input(12, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2030, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) // A switch to control background coloring of the test period testPeriodBackground = input(title="Color Background?", type=bool, defval=false) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na bgcolor(testPeriodBackgroundColor, transp=97) testPeriod() => true // Component Code Stop ////////////////////////////////////////////////////////////////////// shortingEnabled = input(title="Enable Shorting?", type=bool, defval=true) enter_fast = input(20, minval=1) exit_fast = input(10, minval=1) enter_slow = input(55, minval=1) exit_slow = input(20, minval=1) fastL = highest(enter_fast) fastLC = lowest(exit_fast) fastS = lowest(enter_fast) fastSC = highest(exit_fast) slowL = highest(enter_slow) slowLC = lowest(exit_slow) slowS = lowest(enter_slow) slowSC = highest(exit_slow) enterL1 = high > fastL[1] exitL1 = low <= fastLC[1] enterS1 = low < fastS[1] exitS1 = high >= fastSC[1] enterL2 = high > slowL[1] exitL2 = low <= slowLC[1] enterS2 = low < slowS[1] exitS2 = high >= slowSC[1] if testPeriod() strategy.entry("fast L", strategy.long, when = enterL1) if not enterL1 strategy.entry("slow L", strategy.long, when = enterL2) strategy.close("fast L", when = exitL1) strategy.close("slow L", when = exitL2) if shortingEnabled and testPeriod() strategy.entry("fast S", strategy.short, when = enterS1) if not enterS2 strategy.entry("slow S", strategy.short, when = enterS2) strategy.close("fast S", when = exitS1) strategy.close("slow S", when = exitS2)