दोहरी चलती औसत प्रवृत्ति अनुवर्ती रणनीति


निर्माण तिथि: 2023-12-21 11:45:35 अंत में संशोधित करें: 2023-12-21 11:45:35
कॉपी: 0 क्लिक्स: 653
1
ध्यान केंद्रित करना
1621
समर्थक

दोहरी चलती औसत प्रवृत्ति अनुवर्ती रणनीति

अवलोकन

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

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

यह रणनीति मुख्य रूप से दो सूचकांक चलती औसत प्रणाली के आधार पर कीमत की प्रवृत्ति की दिशा का आकलन करती है। रणनीति दो अलग-अलग मापदंडों के तेजी से धीमी गति से ईएमए का उपयोग करती है, तेजी से ईएमए 1 मूल्य परिवर्तन को अधिक तेजी से प्रतिक्रिया करता है, धीमी गति से ईएमए 2 मूल्य परिवर्तन को अधिक देरी से प्रतिक्रिया करता है। जब तेजी से लाइन पर धीमी लाइन को पार करते हैं, तो यह एक खरीद संकेत है, यह दर्शाता है कि कीमत बढ़ना शुरू हो गई है; जब तेजी से लाइन नीचे धीमी लाइन को पार करती है, तो यह एक बिक्री संकेत है, यह दर्शाता है कि कीमत गिरना शुरू हो गई है।

इसके अलावा, रणनीति ने ADX संकेतक को ट्रेंड की ताकत का आकलन करने के लिए पेश किया। ADX मूल्य में उतार-चढ़ाव की गणना करके ट्रेंड की ताकत का आकलन करता है। जब ADX मूल्य बढ़ता है, तो यह दर्शाता है कि प्रवृत्ति मजबूत हो रही है; जब ADX मूल्य घटता है, तो यह दर्शाता है कि प्रवृत्ति कमजोर हो रही है। रणनीति ने ADX संकेतक के माध्यम से व्यापार फ़िल्टर शर्तें निर्धारित की हैं, केवल जब प्रवृत्ति की ताकत मजबूत होती है, तो व्यापार संकेत जारी किया जाता है।

विशेष रूप से, रणनीति के लिए ट्रेडिंग सिग्नल उत्पन्न करने के नियम इस प्रकार हैंः

  1. तेज लाइन पर धीमी लाइन पर अधिक काम करें, तेज लाइन के नीचे धीमी लाइन पर खाली करें
  2. ADX>25 के बाद ही अतिरिक्त रिक्त स्थान की अनुमति है

इस प्रकार, कमजोर संकेतों को फ़िल्टर करने और ट्रेडिंग सिस्टम की स्थिरता को और बढ़ाने के लिए एक प्रभावी तरीका है।

रणनीतिक लाभ

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

  1. मध्यम और दीर्घकालिक मूल्य रुझानों को पकड़नादोहरी ईएमए औसत प्रणाली कीमतों के मध्य-दीर्घकालिक रुझानों को प्रभावी ढंग से निर्धारित करने में सक्षम है, जो अल्पकालिक बाजार के शोर से बाधित नहीं है।

  2. फ़िल्टर फ़र्ज़ी फ़र्कADX के माध्यम से प्रवृत्ति की ताकत का आकलन करें, और प्रवृत्ति के मोड़ के पास होने वाले झूठे टूटने से अनावश्यक नुकसान से बचें।

  3. पैरामीटर अनुकूलित करने के लिए जगह बड़ा: तेज धीमी रेखा पैरामीटर संयोजन, ADX पैरामीटर आदि में अनुकूलन के लिए जगह है, संयोजन पैरामीटर के माध्यम से बेहतर व्यापार प्रभाव प्राप्त किया जा सकता है।

  4. अत्यधिक अनुकूलनीय: यह रणनीति अधिकांश शेयरों और समय-सीमाओं पर लागू होती है और इसे कई बाजारों में सत्यापित किया गया है।

  5. लागू करने में आसानइस रणनीति के लिए केवल सरल औसत की आवश्यकता होती है, यह कम संसाधनों का उपयोग करता है, इसे प्रोग्राम करना आसान है, और इसे लागू करने की लागत कम है।

रणनीतिक जोखिम

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

  1. प्रवृत्ति उलट जोखिम: कोई भी ट्रेंड रणनीति ट्रेंड रिवर्स प्वाइंट का सही अनुमान नहीं लगा सकती है, और जब ट्रेंड रिवर्स होता है, तो यह निश्चित रूप से भारी नुकसान का कारण बनता है।

  2. अति जोखिम के लिए पैरामीटर अनुकूलनपैरामीटर को चरम पर अनुकूलित करने से रणनीतियों को ऐतिहासिक डेटा के साथ अति-फिट किया जा सकता है, जिससे रणनीतियों की स्थिरता और वास्तविक युद्ध प्रभावशीलता कम हो जाती है।

  3. आकस्मिकता का खतराप्रमुख घटनाएं मूल मूल्य प्रवृत्ति पैटर्न को तोड़ती हैं, और इस स्थिति में चलती औसत संकेतक विफल हो जाते हैं, और नुकसान को नियंत्रित करने के लिए मैन्युअल हस्तक्षेप या स्टॉप-लॉस सेटिंग की आवश्यकता होती है।

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

  1. मूल्य टर्नओवर के लिए अतिरिक्त संकेतकों को शामिल करना। उदाहरण के लिए, लेनदेन की मात्रा को शामिल करना, जो मूल्य टर्नओवर के साथ लेनदेन की मात्रा को बढ़ाता है।

  2. ADX मापदंडों को उचित रूप से छूट दी गई है ताकि यह सुनिश्चित किया जा सके कि रुझान की शुरुआत में भी अवसरों का लाभ उठाया जा सके। साथ ही साथ MACD जैसे सहायक निर्णय संकेतक भी पेश किए जा सकते हैं।

  3. पैरामीटर के संयोजन के लिए बहु-समूह प्रशिक्षण परीक्षण करें, स्थिरता और वास्तविक युद्ध प्रभाव दोनों के लिए अच्छे पैरामीटर चुनें। एकल पैरामीटर के संयोजन के लिए अति-अनुकूलन जोखिम से बचें।

रणनीति अनुकूलन दिशा

इस रणनीति में कुछ और अनुकूलन विकल्प भी हैं:

  1. स्टॉप लॉस तंत्र का परिचयमोबाइल स्टॉप या प्रतिशत स्टॉप सेट करें, ट्रेंड रिवर्स होने पर सक्रिय रूप से स्टॉप करें, ताकि स्थिति को बहुत अधिक नुकसान न हो।

  2. लेन-देन की मात्रा के साथउदाहरण के लिए, लेन-देन की मात्रा के साथ, मूल्य टर्नओवर पर गलत संकेतों से बचा जा सकता है।

  3. पैरामीटर अनुकूलन अनुकूलन: सूचकांक के पैरामीटर को स्थिर स्थिर पैरामीटर के बजाय वास्तविक समय के बाजार में परिवर्तन के लिए अनुकूलित करने की अनुमति देना, जो रणनीति की स्थिरता में काफी सुधार कर सकता है।

  4. मशीन लर्निंग का परिचय: मशीन लर्निंग एल्गोरिदम का उपयोग करके बड़े पैमाने पर ऐतिहासिक डेटा का विश्लेषण करना, चलती औसत और एडीएक्स के मापदंडों को निर्धारित करना, और यहां तक कि कीमतों के भविष्य के आंदोलन की भविष्यवाणी करना। यह चलती औसत रणनीति के विकास की दिशा है।

  5. क्रॉस-साइकल अनुकूलन: विभिन्न ट्रेडिंग चक्रों के लिए पैरामीटर सेटिंग्स अलग-अलग हो सकती हैं, जिससे प्रत्येक चक्र के लिए पैरामीटर के इष्टतम विन्यास का परीक्षण किया जा सकता है।

संक्षेप

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

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

//@version=3
strategy("Kitaec Strategy4", shorttitle = "Kitaec str4", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
len = input(14, defval=14, minval=1, maxval=1000, title="Smoothing")
len2 = input(14, defval=14, minval=1, maxval=1000, title="Smoothing2")
len3=input(550)
src = close
ema1=ema(src, len)
ema2=ema(ema1, len2)
d=ema1-ema2
zlema=ema1+d

ema21=ema(src, (len/3)*2)
ema22=ema(ema21, (len2/3)*2)
d2=ema21-ema22
zlema2=ema21+d2

ema31=ema(src, len3)
ema32=ema(ema21, len3)
d3=ema31-ema32
zlema3=ema31+d2

fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//MAs
//ma1 = security(tickerid, "60", vwma(src, len)[1])
//ma2 = security(tickerid, "120", vwma(src, len)[1])
//plot(ma1, linewidth = 2, color = blue, title = "MA")
//plot(ma2, linewidth = 2, color = red, title = "MA2")

// ADX
lenadx = 14
lensig = 14
limadx = 18

up = change(high)
down = -change(low)
trur = rma(tr, lenadx)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, lenadx) / trur)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, lenadx) / trur)
sum = plus + minus 
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), lensig)
adx2 = ema(adx, 14)
adx2i = ema(adx2,14)
dadx2 = adx2 - adx2i
zladx2 = adx2 + dadx2
plus2 = ema(plus, 14)
plus2i = ema (plus2, 14)
dplus2 = plus2 - plus2i
zlplus2 = plus2 + dplus2

minus2 = ema(minus, 14)
minus2i = ema (minus2, 14)
dminus2 = minus2 - minus2i
zlminus2 = minus2 + dminus2

vwma = vwma(close, 150)
vwma2 = ema(vwma, 9)
vwma2i = ema(vwma2, 9)
dvwma2 = vwma2 - vwma2i
zlvwma2 = vwma2 + dvwma2


rmax=rma(src, len)
rmax2=rma(rmax, len2)
rmd=rmax-rmax2
zlrmax=rmax+rmd
rmaxz=rma(src, (len/3)*2)
rmaxz2=rma(rmaxz, (len2/3)*2)
rmzd=rmaxz-rmaxz2
zlrmaxz=rmaxz+rmzd
rmaxcol2=zlrmaxz[1] > zlema2[1] ? red:lime
rmaxcol= zlrmax[1] > zlema[1] ? red:lime


rmazlema3=rma(zlema3, 100)
plot(rmazlema3, color=gray, linewidth=2)
plot(zlema, color=green)
plot(zlema2, color=yellow)
plot(zlema3, color=teal, linewidth=2)
plot(ema2, color=na)
plot(rmax, color=rmaxcol2, linewidth=3)
plot(zlrmax, color=rmaxcol, linewidth=3)


//Trading
size = strategy.position_size
lot = 0.0 
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]

if zlrmax[1] < zlema[1]
    strategy.entry("Buy", strategy.long, needlong ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if zlrmax[1] > zlema[1]
    strategy.entry("Sell", strategy.short, needshort ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))