दोहरी चलती औसत रिवर्स ब्रेकआउट रणनीति

लेखक:चाओझांग, दिनांक: 2023-12-18 10:24:08
टैगः

img

अवलोकन

डबल मूविंग एवरेज रिवर्सल ब्रेकआउट रणनीति एक संयोजन रणनीति है जिसमें 123 रिवर्सल रणनीति और प्राइस एंड मूविंग एवरेज डिवर्जेंस रणनीति दोनों शामिल हैं। इस रणनीति का मुख्य विचार केवल तब ट्रेडिंग सिग्नल उत्पन्न करना है जब 123 रिवर्सल सिग्नल प्राइस एंड एमए डिवर्जेंस सिग्नल के साथ संरेखित हों।

रणनीति तर्क

डबल मूविंग एवरेज रिवर्सल ब्रेकआउट रणनीति में दो घटक होते हैंः

  1. 123 प्रतिवर्तन रणनीति

    123 रिवर्सल रणनीति दो लगातार दिनों के बंद मूल्य उलट के आधार पर ट्रेडिंग सिग्नल उत्पन्न करती है (यानी उच्च बंद के बाद निम्न बंद; या निम्न बंद के बाद उच्च बंद), 9 दिन के स्टोकैस्टिक ऑसिलेटर के-लाइन के साथ संयुक्त एक निश्चित स्तर (डिफ़ॉल्ट 50) से नीचे / ऊपर होने के साथ। खरीद सिग्नल तब उत्पन्न होते हैं जब के-लाइन 50 से नीचे होती है और बिक्री सिग्नल तब उत्पन्न होते हैं जब के-लाइन 50 से ऊपर होती है।

  2. मूल्य और चलती औसत विचलन रणनीति

    मूल्य और एमए विचलन रणनीति मूल्य और एक निश्चित अवधि के चलती औसत (डिफ़ॉल्ट 14) के बीच प्रतिशत अंतर की गणना करती है। यह खरीद संकेत उत्पन्न करता है जब विचलन एक सीमा से नीचे होता है (डिफ़ॉल्ट 3%) और बिक्री संकेत उत्पन्न करता है जब विचलन एक सीमा से ऊपर होता है (डिफ़ॉल्ट 0.54%).

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

लाभ विश्लेषण

डबल मूविंग एवरेज रिवर्सल ब्रेकआउट रणनीति में विवर्तन और ट्रेंड-फॉलो-अप रणनीतियों की ताकतों को मिलाकर तालमेल बनाया गया है।

123 रिवर्सल रिवर्सल सिग्नल चुनता है ताकि मोड़ पर पूंजीकरण किया जा सके। प्राइस एंड एमए डिवर्जेंस लंबी अवधि के रुझान को ट्रैक करता है। साथ में वे फंसने से बचने के लिए बड़ी प्रवृत्ति की सवारी करते हुए अल्पकालिक रिवर्सल को पकड़ते हैं।

इसके अतिरिक्त, दोनों रणनीतियों से संरेखित संकेतों की आवश्यकता करके, अमान्य ट्रेडों की संख्या को काफी कम किया जा सकता है, जिससे संकेत-शोर अनुपात में सुधार होता है।

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

दोनों रणनीतियों की ताकत का लाभ उठाते हुए, दोहरी चलती औसत रिवर्सल ब्रेकआउट रणनीति प्रत्येक से जुड़े जोखिमों को भी विरासत में लेती है।

123 रिवर्सल घटक के लिए, लगातार दो दैनिक रिवर्स वास्तविक ट्रेंड रिवर्स की गारंटी नहीं देते हैं। वे अल्पावधि pullbacks के कारण झूठे संकेत हो सकते हैं। इसके अलावा, स्टोकैस्टिक ऑसिलेटर के खराब पैरामीटर ट्यूनिंग से सिग्नल की गुणवत्ता बिगड़ सकती है।

मूल्य और एमए विचलन भाग के लिए, अनुचित चलती औसत मापदंडों के लिए लेगिंग संकेतों का कारण बन सकता है। इसके अलावा, विचलन स्वयं प्रवृत्ति दिशा का संकेत नहीं देता है, केवल यांत्रिक संकेत उत्पन्न करता है।

संक्षेप में, इस रणनीति के प्रमुख जोखिम खराब पैरामीटर ट्यूनिंग और दोषपूर्ण सिग्नल जनरेशन से आते हैं। पैरामीटर अनुकूलन, स्टॉप लॉस/टेक प्रॉफिट, मैनुअल हस्तक्षेप आदि के माध्यम से जोखिम को कम किया जा सकता है।

बढ़ोतरी के अवसर

दोहरी चलती औसत रिवर्सल ब्रेकआउट रणनीति को निम्नलिखित पहलुओं में बढ़ाया जा सकता हैः

  1. बेहतर संकेतों के लिए एमए और ऑसिलेटर मापदंडों का अनुकूलन करें
  2. सिग्नल फ़िल्टरिंग के लिए अन्य संकेतक जोड़ें
  3. स्टॉप लॉस और ले लाभ को शामिल करें
  4. समय से पहले ट्रेडों से बचने के लिए रुझान निर्धारण जोड़ें
  5. मैनुअल हस्तक्षेप और अनुकूलन पैरामीटर समायोजन

विभिन्न सुधार विधियों के संयोजन से रणनीतिक स्थिरता और लाभप्रदता में और सुधार किया जा सकता है।

निष्कर्ष

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


/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 13/04/2021
// 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
// Percent difference between price and MA
//
// 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


DBP_MA(Length,SellZone,BuyZone) =>
    pos = 0.0
    xSMA = sma(close, Length)
    nRes = abs(close - xSMA) * 100 / close
    pos:= iff(nRes < BuyZone, 1,
           iff(nRes > SellZone, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Difference between price and MA", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Difference between price and MA ----")
LengthDBP = input(14, minval=1)
SellZone = input(0.54, minval=0.01, step = 0.01)
BuyZone = input(0.03, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDBP_MA = DBP_MA(LengthDBP,SellZone,BuyZone)
pos = iff(posReversal123 == 1 and posDBP_MA == 1 , 1,
	   iff(posReversal123 == -1 and posDBP_MA == -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 )

अधिक