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


निर्माण तिथि: 2023-10-24 10:56:08 अंत में संशोधित करें: 2023-10-24 10:56:08
कॉपी: 0 क्लिक्स: 589
1
ध्यान केंद्रित करना
1617
समर्थक

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

अवलोकन

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

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

इस रणनीति में पहले दो चलती औसत निर्धारित किए जाते हैं, एक कम अवधि की 20 दिन की औसत रेखा और एक लंबी अवधि की 60 दिन की औसत रेखा। इसके बाद प्रवेश के लिए अल्पकालिक औसत रेखा और लंबी अवधि की औसत रेखा के क्रॉसिंग पर विचार किया जाता है।

विशेष रूप से, जब अल्पकालिक औसत रेखा पर लंबी अवधि की औसत रेखा को पार करते हैं, तो यह दर्शाता है कि यह वर्तमान में वृद्धि की प्रवृत्ति में है, यह अधिक है; जब अल्पकालिक औसत रेखा के नीचे लंबी अवधि की औसत रेखा को पार करते हैं, तो यह दर्शाता है कि यह वर्तमान में गिरावट की प्रवृत्ति में है, यह खाली है।

ट्रेलिंग स्टॉप के लिए ट्रेलिंग स्टॉप का उपयोग किया जाता है, जो कि उच्चतम और निम्नतम कीमतों के आधार पर अधिकतम लाभ को लॉक करने के लिए किया जाता है।

कोड का मुख्य तर्क इस प्रकार है:

  1. 20 दिन ईएमए और 60 दिन ईएमए की गणना करें
  2. 20 दिन का ईएमए 60 दिन का ईएमए से ऊपर है या नहीं, और यदि है तो अधिक करें
  3. 20 दिन का ईएमए 60 दिन का ईएमए से नीचे जाने के लिए, यदि हां, तो खाली करें
  4. स्टॉप-लॉस लाइन के रूप में 3% की उच्चतम कीमत के साथ एक बहु-पोजीशन में प्रवेश करना
  5. 3% न्यूनतम मूल्य के साथ स्टॉप लॉस के रूप में लॉग इन करें
  6. स्टॉप-लॉस लाइन को लगातार समायोजित करना

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

इस रणनीति के निम्नलिखित फायदे हैं:

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

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

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

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

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

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

सोच को अनुकूलित करें

इस रणनीति को और अधिक अनुकूलित किया जा सकता हैः

  1. अन्य संकेतकों को फ़िल्टर करने के लिए, एक बहु-शर्त प्रवेश तंत्र बनाने के लिए, झूठे टूटने से बचने के लिए। उदाहरण के लिए, आरएसआई सूचक निर्णय में शामिल किया जा सकता है।

  2. चलती औसत रेखा के आवधिक मापदंडों को अनुकूलित करें और सबसे अच्छा संयोजन ढूंढें। विभिन्न आवधिक मापदंडों का परीक्षण चरणबद्ध तरीके से किया जा सकता है।

  3. स्टॉप रेंज को अनुकूलित करें. सबसे अच्छा स्टॉप रेंज को रीमेक डेटा के माध्यम से गणना की जा सकती है। गतिशील स्टॉप रेंज को भी सेट किया जा सकता है।

  4. पुनः प्रवेश तंत्र सेट करें. स्टॉपलॉस से बाहर निकलने के बाद, उचित पुनः प्रवेश तर्क सेट किया जा सकता है, जिससे लेनदेन की संख्या कम हो जाएगी।

  5. प्रवृत्ति के आंकलन के संकेतकों के साथ, जब प्रवृत्ति स्पष्ट नहीं होती है, तो व्यापार को निलंबित करें, ताकि व्यापार को अमान्य न किया जा सके।

  6. स्थिति प्रबंधन तंत्र में शामिल हों, जो बाजार की स्थिति के अनुसार स्थिति और स्टॉप-लॉस रेंज को गतिशील रूप से समायोजित करता है।

संक्षेप

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

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


//@version=2
strategy("Noro's Bands Scalper Strategy v1.4", shorttitle = "Scalper str 1.4", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needbe = input(true, defval = true, title = "Bands Entry")
needct = input(false, defval = false, title = "Counter-trend entry")
needdb = input(true, defval = true, title = "Double Body")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close

//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd2 = center + distsma * 2
ld2 = center - distsma * 2

//Trend
trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd2, color = colo, linewidth = 1, transp = 0, title = "High band 2")
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band 1")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band 1")
plot(ld2, color = colo, linewidth = 1, transp = 0, title = "Low band 2")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Body
body = abs(close - open)
smabody = needdb == false ? ema(body, 30) : ema(body, 30) * 2
candle = high - low

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and bar == -1)) ? 1 : 0
dn7 = trend == 1 and ((bar == 1 and bar[1] == 1) or (close > hd and needbe == true)) and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and ((bar == -1 and bar[1] == -1) or (close < ld2 and needbe == true)) and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and bar == 1)) ? 1 : 0

if up7 == 1 or up8 == 1 
    strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)