दोहरे कारक औसत प्रतिवर्तन ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-12-19 11:09:20
टैगः

img

अवलोकन

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

सिद्धांत

इस रणनीति में दो उप-रणनीतियां शामिल हैं। पहली उप-रणनीति 123 रिवर्स रणनीति है। यह पिछले दो ट्रेडिंग दिनों में समापन कीमतों में परिवर्तन की गणना करके और स्टोकेस्टिक संकेतक को मिलाकर यह आंकता है कि बाजार एक रिवर्स बिंदु पर है या नहीं। विशेष रूप से, जब समापन मूल्य लगातार दो दिनों के लिए बढ़ता है और स्टोकेस्टिक संकेतक 50 से नीचे होता है, तो एक खरीद संकेत जारी किया जाता है; जब समापन मूल्य लगातार दो दिनों के लिए गिरता है और स्टोकेस्टिक संकेतक 50 से ऊपर होता है, तो एक बिक्री संकेत जारी किया जाता है।

दूसरी उप-रणनीति केल्टनर चैनल रणनीति है। यह रणनीति सबसे हाल के n ट्रेडिंग दिनों में विशिष्ट मूल्य चलती औसत और अस्थिरता रेंज की गणना करती है। जब कीमत ऊपरी या निचले रेल के करीब आती है, तो रिवर्स ट्रेडिंग सिग्नल जारी किए जाते हैं। जब कीमत निचली रेल से नीचे होती है, तो शॉर्ट; जब यह ऊपरी रेल से ऊपर होती है, तो लंबी जाती है।

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

लाभ विश्लेषण

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

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

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

इस रणनीति का मुख्य जोखिम यह है कि उल्टा संकेतों का समय महत्वपूर्ण है। यदि निरंतर झूठे उल्टा होने लगते हैं या उल्टा संकेतों का समय गलत तरीके से चुना जाता है, तो इससे पूर्ण प्रवृत्ति को बनाए रखने में विफलता होगी, जिससे अंतिम रिटर्न प्रभावित होगा।

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

अंत में, रिवर्स ट्रेडिंग में ही एक असमान जोखिम-लाभ अनुपात होता है। असामान्य बाजार स्थितियां आसानी से परिसमापन का कारण बन सकती हैं। इसे सख्त स्टॉप लॉस के माध्यम से टालना होगा।

अनुकूलन दिशाएँ

उपरोक्त जोखिम विश्लेषण के अनुसार, रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः

  1. उच्च दोष सहिष्णुता और कम झूठे संकेत के साथ संयोजन खोजने के लिए उलटने संकेतक मापदंडों के विभिन्न सेटिंग्स का परीक्षण करें
  2. अधिक सटीक रूप से प्रतिवर्तन को पकड़ने के लिए मान खोजने के लिए विभिन्न चक्र लंबाई के पैरामीटर मूल्यों का प्रयास करें
  3. प्रति व्यापार अधिकतम हानि को सख्ती से नियंत्रित करने के लिए एक स्टॉप लॉस मॉड्यूल जोड़ें
  4. रणनीति के तर्क से बेहतर मेल खाने वाले निकास बिंदुओं को खोजने के लिए विभिन्न होल्डिंग अवधि के प्रभावों का परीक्षण करें
  5. जोखिम-लाभ अनुपात को अधिक उचित बनाने के लिए खुली स्थिति की संख्या बढ़ाएं या स्थिति नियंत्रण मॉड्यूल जोड़ें

सारांश

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


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 09/12/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 Keltner Channel, a classic indicator 
// of technical analysis developed by Chester Keltner in 1960. 
// The indicator is a bit like Bollinger Bands and Envelopes.
//
// 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

KeltnerChn(nPeriod) =>
    pos = 0.0
    xPrice = sma(hlc3, nPeriod)
    xMove = sma(high - low, nPeriod)
    reverse = input(false, title="Trade reverse")
    xUpper = xPrice + xMove
    xLower = xPrice - xMove
    pos := iff(close < xLower, -1,
             iff(close > xUpper, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Keltner Channel", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
nPeriod = input(title="Period", defval=10, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKeltnerChn = KeltnerChn(nPeriod)
pos = iff(posReversal123 == 1 and posKeltnerChn == 1 , 1,
	   iff(posReversal123 == -1 and posKeltnerChn == -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 )

अधिक