स्टोकैस्टिक संकेतक के साथ संयुक्त दोहरी चलती औसत रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-12 11:16:52
टैगः

img

अवलोकन

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

रणनीतिक सिद्धांत

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

  1. दोहरी चलती औसत रणनीति

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

  2. स्टोकैस्टिक सूचक

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

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

लाभ विश्लेषण

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

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

  • दोहरी चलती औसत आसानी से झूठे संकेत उत्पन्न कर सकती हैं।
  • गलत स्टोकैस्टिक पैरामीटर सेटिंग्स ट्रेंड को मिस कर सकती हैं।
  • बाजार परिवर्तनों के अनुकूल मापदंडों को समायोजित करने की आवश्यकता है।

पैरामीटर संयोजनों को अनुकूलित करके और नियंत्रण घाटे में स्टॉप लॉस जोड़कर जोखिमों को कम किया जा सकता है।

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

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

  1. रणनीति पर विभिन्न चलती औसत मापदंडों के प्रभावों का परीक्षण करें।
  2. रणनीति की स्थिरता पर विभिन्न स्टोकैस्टिक मापदंडों के प्रभावों का परीक्षण करें।
  3. जीत दर में सुधार के लिए प्रवृत्ति फ़िल्टरिंग संकेतक जोड़ें।
  4. नुकसान को नियंत्रित करने के लिए एक गतिशील ट्रैलिंग स्टॉप लॉस तंत्र का निर्माण करें।

सारांश

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/11/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
// As the name suggests, High low bands are two bands surrounding the underlying’s 
// price. These bands are generated from the triangular moving averages calculated 
// from the underlying’s price. The triangular moving average is, in turn, shifted 
// up and down by a fixed percentage. The bands, thus formed, are termed as High 
// low bands. The main theme and concept of High low bands is based upon the triangular 
// moving average. 
//
// 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

    
HLB(Length, PercentShift) =>
    pos = 0.0
    xTMA = sma(sma(close, Length), Length)
    xHighBand = xTMA + (xTMA * PercentShift / 100)
    xLowBand = xTMA - (xTMA * PercentShift / 100)
    pos :=iff(close > xHighBand, 1,
           iff(close <xLowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & High Low Bands", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_HLB = input(14, minval=1)
PercentShift = input(1, minval = 0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLB = HLB(Length_HLB, PercentShift)
pos = iff(posReversal123 == 1 and posHLB == 1 , 1,
	   iff(posReversal123 == -1 and posHLB == -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 )

अधिक