दोहरी चलती औसत क्रॉसओवर रिवर्स रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-24 17:03:47
टैगः

img

अवलोकन

डबल मूविंग एवरेज क्रॉसओवर रिवर्सल रणनीति एक ट्रेंड फॉलो करने वाली रणनीति है जो 123 रिवर्सल रणनीति और डायनापोली डिट्रेन्डेड ऑसिलेटर रणनीति को बाजार के रुझानों को ट्रैक करने के लिए डबल मूविंग एवरेज क्रॉसओवर के माध्यम से ट्रेडिंग सिग्नल उत्पन्न करने के लिए जोड़ती है।

रणनीति तर्क

इस रणनीति के दो भाग हैंः

  1. 123 रिवर्स रणनीतिः यह रणनीति संकेत उत्पन्न करने के लिए स्टोकास्टिक संकेतक का उपयोग करती है। यह एक खरीद संकेत भेजती है जब बंद मूल्य दो लगातार दिनों की गिरावट के बाद बढ़ता है, जबकि स्टोकास्टिक फास्ट लाइन धीमी रेखा से नीचे और 50 से नीचे है; यह एक बिक्री संकेत भेजती है जब बंद मूल्य बढ़ोतरी के दो लगातार दिनों के बाद गिरता है, जबकि स्टोकास्टिक फास्ट लाइन धीमी रेखा से ऊपर और 50 से ऊपर है।

  2. डिनापोली डिट्रेन्डेड ऑसिलेटर रणनीति: यह रणनीति मूल्य की चलती औसत रेखा का उपयोग तब ट्रेडिंग सिग्नल उत्पन्न करने के लिए करती है जब कीमत चलती औसत रेखा से एक निश्चित मूल्य से अधिक या नीचे गिर जाती है। विशेष रूप से, यह एक खरीद संकेत भेजता है जब कीमत चलती औसत रेखा के सकारात्मक ट्रिगर मूल्य से अधिक हो जाती है, और एक बिक्री संकेत जब कीमत चलती औसत रेखा के नकारात्मक ट्रिगर मूल्य से नीचे गिर जाती है।

उपरोक्त दो रणनीतियों में से प्रत्येक अलग-अलग ट्रेडिंग सिग्नल उत्पन्न करने के बाद, यह रणनीति उन्हें एकीकृत करती है और केवल तब ही वास्तविक ट्रेडिंग ऑर्डर भेजती है जब दोनों संकेत सुसंगत होते हैं, अर्थात जब दोहरी चलती औसत एक ही दिशा में संकेत बनाते हैं; अन्यथा कोई कार्रवाई नहीं की जाती है।

लाभ विश्लेषण

दोहरी चलती औसत ट्रेडिंग संकेतों को जोड़कर, यह रणनीति बाजार के रुझानों को प्रभावी ढंग से ट्रैक कर सकती है और इसके निम्नलिखित फायदे हैंः

  1. गति और रुझानों का आकलन करने में स्टोकास्टिक सूचक की ताकत का पूर्ण उपयोग करें, किसी भी एकल सूचक से भ्रामक संकेतों के कारण होने वाले नुकसान से बचें।

  2. डायनापोली संकेतक प्रभावी रूप से रुझानों की पहचान कर सकता है और यादृच्छिक उतार-चढ़ाव के कारण अनावश्यक स्थिति खोलने से बचा सकता है।

  3. दोहरी चलती औसत क्रॉसओवर प्रभावी रूप से झूठे संकेतों को कम कर सकती है और संकेत की गुणवत्ता में सुधार कर सकती है ताकि बाजार की दिशा का आकलन करने के लिए मजबूत साक्ष्य प्रदान किया जा सके।

  4. रणनीति के समायोज्य मापदंड उपयोगकर्ताओं को व्यक्तिगत वरीयताओं के आधार पर मापदंड संयोजन चुनने की अनुमति देते हैं ताकि विभिन्न बाजार वातावरणों के लिए लचीले ढंग से अनुकूलित किया जा सके।

जोखिम विश्लेषण

इस रणनीति में निम्नलिखित जोखिम भी हैं:

  1. बुल बाजार में, अत्यधिक सावधान सूचक पैरामीटर सेटिंग्स के कारण रणनीति खरीद अवसरों को याद कर सकती है। रणनीति को अधिक आक्रामक बनाने के लिए पैरामीटर को उचित रूप से समायोजित किया जा सकता है।

  2. एक मंदी के बाजार में, दोहरी चलती औसत क्रॉसओवर संकेतों में देरी हो सकती है, जिसके परिणामस्वरूप ओवरबॉट और ओवरसोल्ड स्थितियां हो सकती हैं। रणनीति को अधिक संवेदनशील बनाने के लिए चलती औसत अवधि को उचित रूप से छोटा किया जाना चाहिए।

  3. बाजार में एक तरफ़ा भारी बदलाव होने पर दोहरी चलती औसत के क्रॉसओवर सिग्नल धीमे हो सकते हैं। घाटे को नियंत्रित करने के लिए स्टॉप सेट किए जाने चाहिए।

अनुकूलन

इस रणनीति को निम्नलिखित तरीकों से अनुकूलित किया जा सकता हैः

  1. इष्टतम पैरामीटर संयोजन खोजने के लिए स्टोकैस्टिक और डायनापोली संकेतकों के मापदंडों का परीक्षण और अनुकूलन करें।

  2. रणनीति के आंतरिक तर्क को समृद्ध करने और संकेतों की सटीकता में सुधार करने के लिए वॉल्यूम संकेतक जैसे अन्य सहायक निर्णय संकेतक जोड़ें।

  3. मशीन लर्निंग विधियों का उपयोग रणनीतिक मापदंडों और सिग्नल जनरेशन नियमों को प्रशिक्षित और अनुकूलित करने के लिए करें ताकि उन्हें बाजार परिवर्तनों के लिए पूरी तरह से अनुकूलित किया जा सके।

  4. मध्यम और दीर्घकालिक संकेतों के बीच अंतर करने के लिए उन्नत तकनीकी संकेतकों के साथ स्थानीय संरचनाओं का आकलन करना, जिससे रणनीति कई समय सीमाओं में काम करने में सक्षम हो।

निष्कर्ष

डबल मूविंग एवरेज क्रॉसओवर रिवर्सल रणनीति दो संकेतकों को एकीकृत करती है ताकि डबल मूविंग एवरेज क्रॉसओवर ट्रेडिंग सिग्नल बन सकें, जो बाजार के रुझानों को प्रभावी ढंग से ट्रैक कर सकते हैं और जोखिमों को नियंत्रित करते हुए अपेक्षाकृत अच्छा रिटर्न प्राप्त कर सकते हैं। यह एक विश्वसनीय प्रवृत्ति के बाद की रणनीति है। पैरामीटर अनुकूलन और सहायक संकेतकों को जोड़ने के माध्यम से रणनीति में लगातार सुधार और उन्नयन किया जा सकता है। इसका व्यापक अनुप्रयोग संभावनाएं हैं।


/*backtest
start: 2023-10-24 00:00:00
end: 2023-11-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/02/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
// DiNapoli Detrended Oscillator Strategy
//
// 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

DiNapoli(Length, Trigger) =>
    pos = 0.0
    xSMA = sma(close, Length)
    nRes = close - xSMA
    pos := iff(nRes > Trigger, 1,
    	     iff(nRes <= Trigger, -1, nz(pos[1], 0)))    
    pos

strategy(title="Combo Backtest 123 Reversal & DiNapoli Detrended Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDiN = input(14, minval=1)
TriggerDiN = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDiN = DiNapoli(LengthDiN, TriggerDiN)
pos = iff(posReversal123 == 1 and posDiN == 1 , 1,
	   iff(posReversal123 == -1 and posDiN == -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 )

अधिक