कछुआ ट्रेडिंग 3-दिवसीय रिवर्सन रणनीति लैरी कॉनर्स और सेसर अल्वारेज़ की पुस्तक
अभ्यास और बैकटेस्टिंग के माध्यम से, मैंने पाया है कि रणनीति लगातार बेहतर काम करती है जब प्रवृत्ति रेखा के लिए एसएमए के बजाय ईएमए का उपयोग किया जाता है। इसलिए यह स्क्रिप्ट प्रवृत्ति रेखा के लिए ईएमए का उपयोग करती है। मैंने एग्जिट ईएमए की लंबाई को भी समायोजित किया है।
यह रणनीति इस प्रकार काम करती हैः
आउटपुट ईएमए डिफ़ॉल्ट रूप से 5-दिवसीय ईएमए पर सेट होता है, इसकी लंबाई समायोज्य होती है।
रणनीति का मुख्य विचार अल्पकालिक औसत प्रतिगमन का लाभ उठाना है। जब कीमतें लगातार गिरती हैं, तो वे अल्पकालिक में वापस उछालने की संभावना रखते हैं। रणनीति यह जांचकर औसत प्रतिगमन के अवसरों की पहचान करती है कि क्या कीमतें 3 लगातार दिनों के लिए अल्पकालिक ईएमए से नीचे संकुचित हुई हैं। एक बार प्रतिगमन होने के बाद, यह तुरंत बाहर निकल जाता है जब कीमत निकास ईएमए से ऊपर टूट जाती है।
पारंपरिक चलती औसत क्रॉसओवर रणनीतियों की तुलना में, इस रणनीति के निम्नलिखित फायदे हैंः
रिवर्स की पहचान करने के लिए लगातार 3 दिनों के संकुचन का उपयोग करने से सिग्नल की गुणवत्ता में सुधार होता है।
लंबी और छोटी ईएमए के साथ फ़िल्टरिंग ट्रेंडिंग बाजारों में व्यापार से बचती है। यह केवल सीमा-बंद क्षेत्रों में प्रतिवर्तन का मतलब है।
प्रवृत्ति रेखा के लिए एसएमए के बजाय ईएमए का उपयोग करने से उलटफेर को पकड़ने में अधिक संवेदनशीलता होती है।
समायोज्य एक्जिट ईएमए लंबाई बाजार स्थितियों के आधार पर स्टॉप लॉस रणनीति को अनुकूलित करने की अनुमति देती है।
1-2 दिन की होल्डिंग अवधि के साथ कम ट्रेडिंग आवृत्ति लंबी दिशात्मक दांव से जुड़े जोखिमों से बचती है।
इस रणनीति में निम्नलिखित जोखिम भी हैं:
असफल उल्टा होने का जोखिम। उल्टा होने के संकेत के बाद कीमत उछाल नहीं ले सकती और गिरती रहती है।
लगातार स्टॉप लॉस जोखिम। अस्थिर बाजारों में कीमत बार-बार स्टॉप लॉस को हिट कर सकती है।
पैरामीटर अनुकूलन जोखिम. बाहर निकलने ईएमए और अन्य मापदंडों को विकसित बाजारों के आधार पर निरंतर परीक्षण और ट्यूनिंग की आवश्यकता होती है। समायोजन के बिना प्रदर्शन बिगड़ सकता है।
ओवरफिटिंग जोखिम. अनुकूलन ओवरफिटिंग से बचना चाहिए. पैरामीटर मजबूत होना चाहिए.
जोखिमों को निम्न द्वारा कम किया जा सकता हैः
एकल व्यापार हानि को नियंत्रित करने के लिए स्टॉप लॉस नियमों का सख्ती से पालन करना।
जोखिम और प्रतिफल को संतुलित करने के लिए अनुकूलन के दौरान मजबूत पैरामीटर ट्यूनिंग।
प्रति व्यापार कम जोखिम के लिए स्थिति आकार को समायोजित करना।
इस रणनीति में निम्नलिखित पहलुओं में सुधार किया जा सकता हैः
इष्टतम मापदंडों को खोजने के लिए प्रवेश और निकास के लिए विभिन्न ईएमए लंबाई का परीक्षण करें।
अन्य फ़िल्टर जैसे वॉल्यूम जोड़ें ताकि यह सुनिश्चित हो सके कि रिवर्स सिग्नल अधिक विश्वसनीय हों।
अधिक लचीलेपन के लिए एटीआर या ट्रैलिंग स्टॉप जैसे तरीकों से स्टॉप लॉस को बढ़ाएं।
मौजूदा रुझानों में रिवर्स सिग्नल लेने से बचने के लिए ट्रेंड फिल्टर शामिल करें।
पोर्टफोलियो अनुकूलन और विविधीकरण के लिए अन्य रणनीतियों के साथ संयोजन।
अनुकूलन पैरामीटर ट्यूनिंग के लिए मशीन लर्निंग का उपयोग करें।
कछुआ ट्रेडिंग 3-दिवसीय रिवर्स रणनीति एक छोटे ईएमए के नीचे 3-दिवसीय संकीर्ण पैटर्न का पता लगाकर अल्पकालिक रिवर्स अवसरों की पहचान करती है। पारंपरिक चलती औसत रणनीतियों की तुलना में, इसमें स्टॉप लॉस अनुकूलन के लिए अधिक विश्वसनीय प्रवेश संकेत और समायोज्य निकास ईएमए है। रणनीति रेंज-बाउंड चंचल बाजारों और शॉर्ट बाउंस को पकड़ने के लिए अच्छी तरह से काम करती है। लेकिन मापदंडों, स्टॉप लॉस और ट्रेंड फिल्टर को बेहतर बनाने के लिए और भी अवसर हैं। अन्य रणनीतियों के साथ संयोजन प्रदर्शन को और बढ़ा सकता है।
/*backtest start: 2023-10-05 00:00:00 end: 2023-10-12 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // @version = 5 // Author = TradeAutomation strategy(title="ETF 3-Day Reversion Strategy", shorttitle="ETF 3-Day Reversion Strategy", process_orders_on_close=true, overlay=true, commission_type=strategy.commission.cash_per_order, commission_value=1, initial_capital = 10000000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Backtest Date Range Inputs // StartTime = input(defval=timestamp('01 Jan 2012 05:00 +0000'), title='Start Time') EndTime = input(defval=timestamp('01 Jan 2099 00:00 +0000'), title='End Time') InDateRange = true // Strategy Rules // DayEMA5 = ta.ema(close, 5) Rule1 = close>ta.ema(close, 200) Rule2 = close<DayEMA5 Rule3 = high<high[1] and low<low[1] and high[1]<high[2] and low[1]<low[2] and high[2]<high[3] and low[2]<low[3] ExitEMA = ta.ema(close, input.int(5, "EMA Length For Exit Strategy", tooltip = "The strategy will sell when the price crosses over this EMA")) plot(DayEMA5) plot(ExitEMA, color=color.green) // Entry & Exit Functions // if (InDateRange) strategy.entry("Long", strategy.long, when = Rule1 and Rule2 and Rule3) // strategy.close("Long", when = ta.crossunder(close, ATRTrailingStop)) strategy.close("Long", when = ta.crossover(close, ExitEMA)) if (not InDateRange) strategy.close_all()