डबल मूविंग एवरेज क्रॉसओवर रणनीति


निर्माण तिथि: 2023-12-01 18:18:16 अंत में संशोधित करें: 2023-12-01 18:18:16
कॉपी: 2 क्लिक्स: 668
1
ध्यान केंद्रित करना
1619
समर्थक

डबल मूविंग एवरेज क्रॉसओवर रणनीति

अवलोकन

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

जब तेजी से SMA ऊपर की ओर धीमी VWMA से गुजरता है, तो एक खरीद संकेत उत्पन्न होता है; जब तेजी से SMA नीचे की ओर धीमी VWMA से गुजरता है, तो एक बेचने का संकेत उत्पन्न होता है।

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

इस रणनीति का मूल तर्क दोहरी समरेखा पार प्रणाली पर आधारित है. विशेष रूप से, यह निम्नलिखित तकनीकी संकेतकों को एक साथ लागू करता हैः

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

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

इस रणनीति के साथ ही एक रोक-लगाव तंत्र की स्थापना की गई है। जब कीमतें प्रतिकूल दिशा में चलती हैं, तो जोखिम को नियंत्रित करने के लिए समय पर रोक-लगाव की जाती है।

श्रेष्ठता विश्लेषण

  1. बाजार के रुझानों में बदलाव के लिए त्वरित प्रतिक्रिया
  2. जोखिम को नियंत्रित करने के लिए रोकथाम
  3. सरल, सहज और समझने में आसान
  4. विभिन्न बाजार स्थितियों के लिए पैरामीटर को समायोजित करके अनुकूलित किया जा सकता है

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

  1. डबल-समान-रेखा रणनीतियाँ बहुमुखी बाजारों के लिए झूठे संकेत उत्पन्न करती हैं
  2. उचित पैरामीटर का चयन करने की आवश्यकता है, गलत सेटिंग से नुकसान हो सकता है
  3. कभी-कभी Markt में होने वाली दुर्घटनाओं के कारण सिरदर्द हो सकता है

जोखिम नियंत्रण के तरीके:

  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)