बोलिंगर बैंड्स, आरएसआई, एमएसीडी और स्टोकैस्टिक मल्टी इंडिकेटर फ्यूजन ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-09-28 12:06:39
टैगः

अवलोकन

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

सिद्धांत

यह रणनीति मुख्य रूप से चार संकेतकों का उपयोग करती है - बोलिंगर बैंड, आरएसआई, एमएसीडी और स्टोकैस्टिक।

बोलिंगर बैंड्स को साधारण चलती औसत के ऊपर और नीचे मानक विचलन के स्तर पर चित्रित किया जाता है। बैंड के बाहर की कीमतें संकेत देती हैं कि कीमत सामान्य वितरण और इस प्रकार व्यापार के अवसरों के बाहर चली गई है।

आरएसआई गति की गणना करता है क्योंकि उच्चतम बंद करने के लिए कम बंद करने का अनुपात। 30 से नीचे के मूल्य एक ओवरसोल्ड स्थिति का सुझाव देते हैं जबकि 70 से ऊपर ओवरबॉट का सुझाव देता है। ये व्यापार संकेतों के रूप में कार्य करते हैं।

एमएसीडी लघु और दीर्घकालिक चलती औसत के बीच का अंतर है। एमएसीडी रेखा और संकेत रेखा के क्रॉसओवर व्यापार संकेत उत्पन्न करते हैं - लंबे समय के लिए स्वर्ण क्रॉस और लघु के लिए मृत्यु क्रॉस।

स्टोकैस्टिक के और डी लाइन क्रॉसओवर भी ट्रेड सिग्नल के रूप में कार्य करते हैं। 20 से नीचे के संकेत ओवरसोल्ड होते हैं जबकि 80 से ऊपर के संकेत ओवरबॉट होते हैं। डी से ऊपर के क्रॉसिंग से तेजी के संकेत मिलते हैं जबकि नीचे के क्रॉसिंग से मंदी के संकेत मिलते हैं।

इन चार संकेतकों के संकेतों का संयोजन व्यापार प्रविष्टियों की सटीकता में सुधार करता है। विशेष रूप से, जब कीमत बोलिंगर बैंड्स ऊपरी बैंड से अधिक हो जाती है, तो आरएसआई 30 से नीचे, एमएसीडी गोल्डन क्रॉस और स्टोकास्टिक के क्रॉसिंग डी से ऊपर 20 से नीचे। सभी चार शर्तों को पूरा करने पर पिरामिडिंग लंबी स्थिति। लघु संकेत समान हैं।

लाभ

इस रणनीति का मुख्य लाभ यह है कि कई संकेतकों का संयोजन सटीकता और जीत दर में सुधार करता है।

सबसे पहले, विभिन्न समय सीमाओं पर संकेतकों का उपयोग करना - मध्यम/दीर्घकालिक के लिए बोलिंगर, और अल्पकालिक के लिए एमएसीडी, आरएसआई, स्टोकैस्टिक, त्रुटियों को कम करता है।

दूसरे, सभी संकेतकों को संरेखित करने की आवश्यकता झूठे संकेतों को कम करती है। केवल जब बोलिंगर, आरएसआई, एमएसीडी और स्टोकैस्टिक सभी संकेत देते हैं तो एकल संकेतकों की विफलता से बचा जाता है।

इसके अलावा, पूरक संकेतकों का संयोजन प्रत्येक की ताकतों पर पूंजीकरण करता है। आरएसआई ओवरबॉट/ओवरसोल्ड, बोलिंगर ट्रेंड परिवर्तन, एमएसीडी गति शिफ्ट आदि की पहचान करता है।

अंत में, पुष्ट संकेतों के साथ पिरामिडिंग पद निश्चित मात्रा के व्यापारों के मुकाबले लाभ को अधिकतम करते हैं।

जोखिम

विचार करने के लिए कुछ जोखिमः

सबसे पहले, अधिक मापदंडों और संकेतकों से अनुकूलन मुश्किल हो जाता है। सर्वोत्तम संयोजन खोजने के लिए व्यापक परीक्षण की आवश्यकता होती है।

दूसरे, समवर्ती संकेत दुर्लभ होते हैं, जिससे व्यापार की आवृत्ति कम होती है। लंबी अवधि के लिए संरेखण की कमी से रणनीति का प्रदर्शन कम होता है।

तीसरा, पिरामिड ट्रेडिंग नुकसान को बढ़ा सकती है यदि संकेतक गलत संकेत देते हैं। गलत पिरामिड ट्रेडों में अधिक नुकसान होता है।

अंत में, असंगत संकेतक संकेतों को निर्णय नियमों की आवश्यकता होती है।

सुधार

रणनीति में सुधार के कुछ तरीके:

  1. सर्वोत्तम संयोजन खोजने के लिए आनुवंशिक एल्गोरिदम, ग्रिड खोज आदि के माध्यम से मापदंडों का अनुकूलन करें।

  2. स्टॉप लॉस नियम जोड़ें जब कीमत सीमाओं से परे प्रतिकूल रूप से आगे बढ़ती है।

  3. असंगत सूचक संकेतों और भारित मापदंडों के लिए स्कोरिंग प्रणाली के साथ प्रवेश तर्क में सुधार।

  4. आदर्श बाहर निकलने के नियमों को उत्पन्न करने के लिए होल्डिंग अवधि में लाभ/नुकसान डेटा के साथ बाहर निकलने का अनुकूलन करें।

  5. रणनीतियों के लिए उपयुक्त उत्पादों और समय सीमाओं का अनुकूलन करें।

  6. पैरामीटर अनुकूलन में फिसलने और कमीशन जैसे व्यापार लागतों के लिए खाता।

  7. अनुकूलन अनुकूलन के लिए मशीन लर्निंग का उपयोग करें।

निष्कर्ष

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


/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MD strategy", overlay=true)
lengthrsi = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
source = close
lengthbb = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50)
direction = input(0, title = "Strategy Direction",  minval=-1, maxval=1)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
consecutiveBarsUp = input(3)
consecutiveBarsDown = input(3)
lengthch = input( minval=1, maxval=1000, defval=5)
upBound = highest(high, lengthch)
downBound = lowest(low, lengthch)
lengthst = input(14, minval=1)
OverBoughtst = input(80)
OverSoldst = input(20)
smoothK = 3
smoothD = 3

k = sma(stoch(close, high, low, lengthst), smoothK)
d = sma(k, smoothD)



ups = price > price[1] ? nz(ups[1]) + 1 : 0
dns = price < price[1] ? nz(dns[1]) + 1 : 0
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

basis = sma(source, lengthbb)
dev = mult * stdev(source, lengthbb)

upper = basis + dev
lower = basis - dev

vrsi = rsi(price, lengthrsi)

if (not na(vrsi))
    if (crossover(vrsi, overSold))
        strategy.entry("RsiLE", strategy.long, comment="RsiLE")
    if (crossunder(vrsi, overBought))
        strategy.entry("RsiSE", strategy.short, comment="RsiSE")

if (crossover(source, lower))
    strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")

if (crossunder(source, upper))
    strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands",  comment="BBandSE")
else
    strategy.cancel(id="BBandSE")
    
    
if (not na(k) and not na(d))
    if (crossover(k,d) and k < OverSoldst)
        strategy.entry("StochLE", strategy.long, comment="StochLE")
    if (crossunder(k,d) and k > OverBoughtst)
        strategy.entry("StochSE", strategy.short, comment="StochSE")   
        
if (crossover(delta, 0))
    strategy.entry("MacdLE", strategy.long, comment="MacdLE")

if (crossunder(delta, 0))
    strategy.entry("MacdSE", strategy.short, comment="MacdSE")


अधिक