दोहरी प्रतिगमन संतुलन रणनीति एक संयोजन रणनीति है जो उलट रणनीति और अनुभवजन्य मोड अपघटन (ईएमडी) फ़िल्टरिंग दोनों का उपयोग करती है। यह पहले 123 रिवर्स सिस्टम का उपयोग करके ट्रेडिंग सिग्नल उत्पन्न करती है, फिर ईएमडी फ़िल्टरिंग के साथ संकेतों को संसाधित करती है, और अंत में प्रवेश और निकास की पुष्टि करने के लिए दोनों से संकेतों को जोड़ती है। यह संकर दृष्टिकोण जीत की दर में सुधार कर सकता है।
123 रिवर्सल सिस्टम की उत्पत्ति उलफ जेन्सेन की पुस्तक
ईएमडी एक अनुकूली डेटा विश्लेषण विधि है। यह डेटा को विभिन्न आवृत्ति घटकों में प्रभावी ढंग से विघटित कर सकता है और दीर्घकालिक प्रवृत्ति को निकाल सकता है। यहां हम मूल्य आवृत्ति घटकों के आधार पर ट्रेडिंग संकेत उत्पन्न करने के लिए लंबाई को 20, डेल्टा को 0.5 और अंश को 0.1 पर सेट करते हैं।
दोहरी प्रतिगमन संतुलन रणनीति 123 प्रतिगमन प्रणाली और ईएमडी दोनों से ट्रेडिंग संकेतों को जोड़ती है। यह केवल तभी प्रविष्टियों की पुष्टि करती है जब दोनों प्रणालियों के संकेत सहमत होते हैं। यह संकर दृष्टिकोण जीत दर में सुधार करता है।
दोहरी प्रतिवर्तन संतुलन रणनीति दोनों प्रतिवर्तन रणनीतियों और डिजिटल सिग्नल प्रसंस्करण तकनीकों के लाभों का लाभ उठाती है। प्रतिवर्तन प्रणाली अल्पकालिक प्रतिवर्तन अवसरों को पकड़ती है जबकि ईएमडी फिल्टर दीर्घकालिक रुझानों को पकड़ते हैं। दोनों प्रणालियों का एक साथ उपयोग करने से स्थिरता में सुधार हो सकता है।
यह अवांछित whipsaws से बचने के लिए 123 पैटर्न भी पेश करता है। और ठीक से कॉन्फ़िगर किए गए ईएमडी पैरामीटर कुछ शोर को फ़िल्टर करने में मदद करते हैं। ये सभी कारक उच्च जीत दर में योगदान करते हैं।
इस रणनीति का सबसे बड़ा जोखिम रिवर्सल विफलता से आता है। यद्यपि 123 पैटर्न ऐसी संभावना को कम करता है, रिवर्सल ट्रेडिंग की अनिश्चितता उच्च बनी हुई है। इसके अलावा, अत्यधिक अस्थिर बाजारों के दौरान ईएमडी विधि टूट सकती है।
इस तरह के जोखिमों को नियंत्रित करने के लिए, रिवर्स सिस्टम के मापदंडों को अधिक विश्वसनीय संकेत उत्पन्न करने के लिए समायोजित किया जा सकता है। बेहतर फ़िल्टरिंग प्रदर्शन प्राप्त करने के लिए ईएमडी के बजाय विभिन्न फ़िल्टरिंग विधियों का भी परीक्षण किया जा सकता है। इसके अलावा, नुकसान को सीमित करने के लिए छोटे पद आकार रखना आवश्यक है।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
इष्टतम खोजने के लिए उलट प्रणाली के लिए विभिन्न पैरामीटर सेट का परीक्षण
विभिन्न डिजिटल फ़िल्टरिंग विधियों का प्रयास करें, जैसे, वेवलेट परिवर्तन, हिल्बर्ट परिवर्तन आदि।
एकल व्यापार हानि को नियंत्रित करने के लिए स्टॉप लॉस जोड़ें
उच्च दिशा सटीकता सुनिश्चित करने के लिए अन्य संकेतकों को शामिल करें
स्थिति आकार जैसे धन प्रबंधन मॉडल का अनुकूलन करें
दोहरी प्रतिगमन संतुलन रणनीति प्रतिगमन रणनीतियों और डिजिटल सिग्नल प्रसंस्करण तकनीकों की ताकतों को जोड़ती है। उचित पैरामीटर ट्यूनिंग और जोखिम नियंत्रण के साथ, यह स्थिर व्यापार प्रदर्शन उत्पन्न करती है। रणनीति अत्यधिक विस्तार योग्य है और अनुशंसा करने योग्य है।
/*backtest start: 2023-11-14 00:00:00 end: 2023-12-14 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 30/06/2020 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // The related article is copyrighted material from Stocks & Commodities Mar 2010 // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos Empirical(Length,Delta,Fraction) => pos = 0 xBandpassFilter = 0.0 xPeak = 0.0 xValley =0.0 xPrice = hl2 beta = cos(3.1415 * (360 / Length) / 180) gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180) alpha = gamma - sqrt(gamma * gamma - 1) xBandpassFilter := 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2]) xMean = sma(xBandpassFilter, 2 * Length) xPeak := iff (xBandpassFilter[1] > xBandpassFilter and xBandpassFilter[1] > xBandpassFilter[2], xBandpassFilter[1], nz(xPeak[1])) xValley := iff (xBandpassFilter[1] < xBandpassFilter and xBandpassFilter[1] < xBandpassFilter[2], xBandpassFilter[1], nz(xValley[1])) xAvrPeak = sma(xPeak, 50) xAvrValley = sma(xValley, 50) nAvrPeak = Fraction * xAvrPeak nAvrValley = Fraction * xAvrValley pos := iff(xMean > nAvrPeak and xMean > nAvrValley, 1, iff(xMean < nAvrPeak and xMean < nAvrValley, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Empirical Mode Decomposition", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- LengthEMD = input(20, minval=1) Delta = input(0.5) Fraction = input(0.1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posEmpirical = Empirical(LengthEMD,Delta,Fraction) pos = iff(posReversal123 == 1 and posEmpirical == 1 , 1, iff(posReversal123 == -1 and posEmpirical == -1, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )