डोंचियन चैनल ब्रेकआउट रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-26 14:55:04
टैगः

img

अवलोकन

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

रणनीति तर्क

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

विशेष रूप से, रणनीति निम्नलिखित चरणों में काम करती हैः

  1. 20 अवधि के उच्चतम उच्चतम, अर्थात् dcUpper की गणना करें;
  2. 20 पीरियड के निचले निचले स्तर की गणना करें, अर्थात् dcLower;
  3. चैनल की मध्य रेखा के रूप में dcAverage प्राप्त करने के लिए dcUpper और dcLower के औसत की गणना करें;
  4. डोनचियन चैनल बनाने के लिए ऊपरी, निचले और मध्य भागों को प्लॉट करें;
  5. जब बंद मध्य रेखा dcAverage से ऊपर हो, तो लंबा और जब बंद dcAverage से नीचे हो, तो छोटा;
  6. बाहर निकलने के नियम: यदि बंद निचले बैंड से नीचे है dcलंबी स्थिति में कम, लंबी स्थिति को बंद करें; यदि बंद मध्य रेखा से ऊपर है dcमध्यम, कम स्थिति को बंद करें।

उपरोक्त तर्क रणनीति के बुनियादी व्यापार सिद्धांत का वर्णन करता है - मूल्य ब्रेकआउट और पिवोट बिंदुओं पर दिशा स्विचिंग द्वारा रुझानों को कैप्चर करना।

लाभ विश्लेषण

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

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

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

कुछ जोखिम भी हैं:

  1. उच्च व्यापारिक आवृत्ति से अधिक लागत और फिसलन होती है।
  2. गलत स्टॉप लॉस प्लेसमेंट से ओवर-स्टॉप लॉस होता है।
  3. अनुचित मापदंडों के कारण अनुपलब्ध या झूठे संकेत होते हैं;
  4. देर से रुझान टूटने से नुकसान होता है।

समाधान:

  1. मापदंडों को अनुकूलित करना और व्यापार आवृत्ति को नियंत्रित करना;
  2. ओवर-स्टॉप हानि को रोकने के लिए स्टॉप-लॉस लॉजिक को बढ़ाएं;
  3. विभिन्न वातावरणों में परीक्षण और पैरामीटर समायोजित करें;
  4. देर से रुझान ब्रेकआउट विफलताओं से बचने के लिए फ़िल्टर जोड़ें।

अनुकूलन दिशाएँ

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

  1. प्रमुख रुझानों के खिलाफ व्यापार से बचने के लिए बाजार संरचना मीट्रिक जोड़ें;
  2. ब्रेकआउट वैधता सुनिश्चित करने और झूठे संकेतों को कम करने के लिए सिग्नल फ़िल्टरिंग बढ़ाएं;
  3. ब्रेकआउट तीव्रता को मापने के लिए अस्थिरता मीट्रिक को शामिल करें;
  4. स्थिरता में सुधार के लिए बहु-समय-सीमा या बहु-संपत्ति विश्लेषण लागू करें;
  5. बदलते बाजारों के अनुकूल पैरामीटरों को ऑटो-ट्यून करने के लिए मशीन लर्निंग का उपयोग करें।

निष्कर्ष

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


/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-25 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "dc", overlay = true)


testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testEndYear = input(2018, "Backtest Start Year")
testEndMonth = input(12)
testEndDay = input(31, "Backtest Start Day")
testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0)


testPeriod() =>
    true
    //time >= testPeriodStart  ? true : false

dcPeriod = input(20, "Period")

dcUpper = highest(close, dcPeriod)[1]
dcLower = lowest(close, dcPeriod)[1]
dcAverage = (dcUpper + dcLower) / 2

plot(dcLower, style=line, linewidth=3, color=red, offset=1)
plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1)

plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average")

strategy.entry("simpleBuy", strategy.long, when=close > dcAverage)
strategy.close("simpleBuy",when=close < dcLower)
    
strategy.entry("simpleSell", strategy.short,when=close < dcAverage)
strategy.close("simpleSell",when=close > dcAverage)
    



अधिक