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

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

img

अवलोकन

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

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

रणनीति तर्क

इस रणनीति का मूल तर्क दोहरी चलती औसत क्रॉसओवर प्रणाली में निहित है। विशेष रूप से यह निम्नलिखित तकनीकी संकेतकों का उपयोग करता हैः

  1. सरल चलती औसत (SMA): पिछले n दिनों के दौरान बंद होने की कीमतों का अंकगणितीय औसत, जो हाल की औसत कीमत को दर्शाता है।
  2. भारित चलती औसत (वीडब्ल्यूएमए): पिछले n दिनों के दौरान बंद होने की कीमतों का भारित औसत, अधिक हालिया कीमतों के लिए उच्च भारों को असाइन करना, मूल्य परिवर्तनों पर तेजी से प्रतिक्रिया करना।

तेजी से एसएमए में मूल्य परिवर्तनों पर तेजी से प्रतिक्रिया करने के लिए एक छोटी लुकबैक अवधि होती है, जबकि धीमी वीडब्ल्यूएमए में चिकनाई के लिए एक लंबी लुकबैक अवधि होती है। जब अल्पकालिक और दीर्घकालिक रुझान एक ही दिशा में संरेखित होते हैं, तो धीमी वीडब्ल्यूएमए के ऊपर तेजी से एसएमए क्रॉसिंग खरीद संकेत उत्पन्न करती है, जबकि नीचे क्रॉसिंग बिक्री संकेत उत्पन्न करती है।

यह रणनीति स्टॉप लॉस तंत्र भी स्थापित करती है। यह समय पर नुकसान को काटती है जब कीमत प्रतिकूल दिशाओं में चलती है।

लाभ विश्लेषण

  1. बाजार के रुझानों में परिवर्तन का पता लगाने में तेजी से प्रतिक्रिया करता है
  2. प्रभावी स्टॉप लॉस तंत्रों के साथ अच्छा ड्रॉडाउन नियंत्रण
  3. सरल और सहज ज्ञान युक्त, समझने और लागू करने में आसान
  4. विभिन्न बाजार वातावरणों में अनुकूलन योग्य मापदंड

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

  1. दोहरी एमए रणनीतियाँ बुल बाजारों में झूठे संकेत देती हैं
  2. अनुचित पैरामीटर समायोजन नुकसान का कारण बन सकता है
  3. कभी-कभी फ्लैश क्रैश होने से नुकसान हो सकता है

जोखिम प्रबंधन:

  1. पुष्टि के लिए रुझान फ़िल्टरिंग संकेतकों का प्रयोग करें
  2. पैरामीटर सेटिंग्स अनुकूलित करें
  3. एकल हानि को उचित रूप से नियंत्रित करने के लिए स्टॉप लॉस रणनीति अपनाएं

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

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

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

निष्कर्ष

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


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

//@version=4
//strategy(title="Bitlinc Entry v0.1 VWMA / SMA / MRSI SQQQ 94M", overlay=true, initial_capital=10000, currency='USD')

strategy(title="Bitlinc Entry v0.1 VWMA / SMA / MRSI SQQQ 94M", overlay=true)

// Credit goes to this developer for the "Date Range Code"
// https://www.tradingview.com/script/62hUcP6O-How-To-Set-Backtest-Date-Range/

// === GENERAL INPUTS ===
// short ma
maFastSource   = input(defval = close, title = "Simple MA Source")
maFastLength   = input(defval = 6, title = "Simple MA Length", minval = 1)
// long ma
maSlowSource   = input(defval = high, title = "VW MA Source")
maSlowLength   = input(defval = 7, title = "VW MA Period", minval = 1)


// === SERIES SETUP ===
// a couple of ma's...
maFast = sma(maFastSource, maFastLength)
maSlow = vwma(maSlowSource, maSlowLength)


// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = color.green, linewidth = 2, style = plot.style_line, transp = 30)
slow = plot(maSlow, title = "Slow MA", color = color.red, linewidth = 2, style = plot.style_line, transp = 30)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

// === LOGIC ===
enterLong = crossover(maFast, maSlow)
exitLong = crossover(maSlow, maFast)
//enterLong = crossover(maSlow, maFast)
//exitLong = crossover(maFast, maSlow)

// Entry //
strategy.entry(id="Long Entry", long=true, when=window() and enterLong)
strategy.entry(id="Short Entry", long=false, when=window() and exitLong)

// === FILL ====
fill(fast, slow, color = maFast > maSlow ? color.green : color.red)

// === MRSI ===
//
//

basis = rsi(close, input(50))

ma1 = ema(basis, input(2))
ma2 = ema(basis, input(27))

oversold = input(32.6)
overbought = input(63)

//plot(ma1, title="RSI EMA1", color=blue)
//plot(ma2, title="RSI EMA2", color=yellow)

obhist = ma1 >= overbought ? ma1 : overbought
oshist = ma1 <= oversold ? ma1 : oversold

//plot(obhist, title="Overbought Highligth", style=columns, color=color.maroon, histbase=overbought)
//plot(oshist, title="Oversold Highligth", style=columns, color=color.yellow, histbase=oversold)

//i1 = hline(oversold, title="Oversold Level", color=white)
//i2 = hline(overbought, title="Overbought Level", color=white)

//fill(i1, i2, color=olive, transp=100)

// === LOGIC ===
enterLongMrsi = crossover(ma1, oversold)
exitLongMrsi = crossover(ma1, overbought)

// Entry //
strategy.entry(id="MRSI Long Entry", long=true, when=window() and enterLongMrsi)
strategy.entry(id="MRSI Short Entry", long=false, when=window() and exitLongMrsi)

//hline(50, title="50 Level", color=white)

अधिक