डबल मूविंग एवरेज इंडिकेटर स्टोचैस्टिक रणनीति


निर्माण तिथि: 2024-01-29 11:54:10 अंत में संशोधित करें: 2024-01-29 11:54:10
कॉपी: 0 क्लिक्स: 608
1
ध्यान केंद्रित करना
1617
समर्थक

डबल मूविंग एवरेज इंडिकेटर स्टोचैस्टिक रणनीति

अवलोकन

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

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

यह रणनीति मुख्य रूप से दो तकनीकी संकेतकों पर आधारित हैः

  1. औसत रेखाः तेजी से ईएमए, धीमी गति से एसएमए और धीमी गति से वीडब्ल्यूएमए के तीन अलग-अलग मापदंडों की औसत रेखा की गणना करें, जो तेजी से ईएमए के ऊपर या धीमी गति से एसएमए के नीचे जाने पर एक व्यापार संकेत उत्पन्न करता है।

  2. यादृच्छिक संकेतकः %K मान की गणना करें, जब यह सेट ओवरबॉय या ओवरबॉय थ्रेशोल्ड से अधिक हो, तो यह माना जाता है कि बाजार में बदलाव हो सकता है, और कुछ औसत व्यापारिक संकेतों को हटा दिया जा सकता है।

इस प्रकार, रणनीतिक संकेतों का तार्किक अर्थ हैः

  1. जब तेजी से ईएमए धीमी गति से एसएमए से गुजरता है, और% के मूल्य ओवरबॉट थ्रेशोल्ड से नीचे है, तो अधिक करें; जब तेजी से ईएमए धीमी गति से एसएमए से गुजरता है, और% के मूल्य ओवरबॉट थ्रेशोल्ड से ऊपर है, तो शून्य करें।

  2. खुले मल्टी-ओवर पोजीशन के लिए, यदि %K मूल्य ओवरसोल्ड क्षेत्र में वापस आता है, या कीमत स्टॉपलॉस लाइन से नीचे आती है, तो ब्लीडिंग। खुले खाली पोजीशन के लिए, यदि %K मूल्य ओवरसोल्ड क्षेत्र में वापस आता है, या कीमत स्टॉपलॉस लाइन से ऊपर जाती है, तो ब्लीडिंग।

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

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

इस रणनीति के कुछ प्रमुख फायदे हैंः

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

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

इस रणनीति के कुछ जोखिम भी हैं:

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

जवाब देने का तरीका:

  1. ऑप्टिमाइज़ेशन पैरामीटर, इष्टतम सूचकांक पैरामीटर संयोजन ढूंढें
  2. उचित रूप से स्थिति के आकार को छोटा करें और ढेरों में भंडारण करें।
  3. इस तरह की घटनाओं से बचने के लिए मौलिक विश्लेषण के साथ-साथ अन्य उपायों को भी अपनाया जा सकता है।

अनुकूलन दिशा

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

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("TVIX MEAN REV V2 TREND", overlay=true)
length = input(16, minval=1)
OverBought = input(80)
OverSold = input(20)
TradeLong = input (true)
TradeShort = input (true)

OverBoughtClose = input(80)
OverSoldClose = input(20)

smoothK = 3
smoothD = 3
trail_points = input(50)

k = sma(stoch(close, high, low, length), smoothK)
d = sma(k, smoothD)
k2 = sma(stoch(close, high, low, length), smoothK)
d2 = sma(k, smoothD)


// === GENERAL INPUTS ===
// short Ema
maFastSource = input(defval=close, title="Fast EMA Source")
maFastLength = input(defval=1, title="Fast EMA Period", minval=1)
// long Sma
maSlowSource = input(defval=close, title="Slow SMA Source")
maSlowLength = input(defval=100, title="Slow SMA Period", minval=1)
// longer Sma
maSlowerSource = input(defval=close, title="Slower SMA Source")
maSlowerLength = input(defval=30, title="Slower SMA Period", minval=1)

//ATR Stop Loss Indicator by Keith Larson
atrDays = input(7, "ATR Days Lookback")
theAtr = atr(atrDays)
atrModifier = input(5.0, "ATR Modifier")
//plot(atr * atrModifier, title="ATR")

LstopLoss = close - (theAtr * atrModifier)
SstopLoss = close + (theAtr * atrModifier)



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

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


// === LOGIC === Basic - simply switches from long to short and vice-versa with each fast-slow MA cross
LongFilter = maFast > maSlow
ShortFilter = maSlow > maFast




BUY=crossover(k, d) and k < OverSold
SELL=crossunder(k, d) and k > OverBought

SELLCLOSE=crossover(k, d) and k < OverSoldClose
BUYCLOSE=crossunder(k, d) and k > OverBoughtClose

Open = open


if not na(k) and not na(d)
    if crossover(k, d) and k < OverSold and LongFilter and TradeLong
        strategy.entry("$", strategy.long, limit = Open, comment="Long")
    
    strategy.close("$",when = crossunder(k, d) and k > OverBoughtClose or open < LstopLoss  )
    ///strategy.close("$",when = open < LstopLoss  )
    
if not na(k) and not na(d)
    if crossunder(k, d) and k > OverBought and ShortFilter and TradeShort
        strategy.entry("$1", strategy.short, limit = Open, comment="S")
        
    strategy.close ("$1", when = crossover(k, d) and k < OverSoldClose or open > SstopLoss  )
    ///strategy.close ("$1", when = open < SstopLoss)