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

लेखक:चाओझांग, दिनांक: 2023-09-19 21:47:41
टैगः

अवलोकन

यह रणनीति ऊपरी और निचले बैंड के ट्रेड ब्रेकआउट के लिए डोंचियन चैनल संकेतक का उपयोग करती है, जो मध्यम से दीर्घकालिक ट्रेंड ब्रेकआउट रणनीतियों से संबंधित स्टॉक/फ्यूचर्स/क्रिप्टो/फॉरेक्स आदि में लेनदेन के बाद ट्रेंड को सक्षम करती है।

रणनीति तर्क

  1. ऊपरी और निचले बैंड प्राप्त करने के लिए एक निश्चित अवधि (उदाहरण के लिए 20 दिन) में उच्चतम उच्च और निम्नतम निम्न की गणना करें।

  2. मध्य रेखा ऊपरी और निचले बैंड का औसत है। ऊपरी बैंड को तोड़ने से ऊपर की ओर रुझान होता है, निचले बैंड को तोड़ने से नीचे की ओर रुझान होता है।

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

  4. जब कीमत मध्य रेखा से नीचे जाती है, तो बाहर निकलने के लिए लाभ लें।

  5. वास्तविक ट्रेडिंग संकेत उत्पन्न करने के लिए बैकटेस्ट समय सीमा का संदर्भ ले सकता है।

  6. वैकल्पिक रूप से, निचले बैंड को तोड़ने से भी शॉर्ट सिग्नल के रूप में कार्य किया जा सकता है।

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

लाभ विश्लेषण

  1. डोंचियन चैनल की गणना और कार्यान्वयन सरल है।

  2. कीमतों का चैनल तोड़ने से रुझान में बदलाव होता है।

  3. लाभ लेने के स्तर के रूप में मध्य रेखा उचित रूप से निर्धारित है।

  4. स्पष्ट संकेत नियम, निष्पादित करने में आसान।

  5. विभिन्न उत्पादों और समय सीमाओं के लिए चैनल मापदंडों को लचीले ढंग से समायोजित कर सकता है।

  6. दीर्घकालिक या अल्पकालिक व्यापारिक प्रदर्शन का मूल्यांकन कर सकता है।

  7. बड़े विस्तार की जगह, अन्य तकनीकी संकेतकों को पेश कर सकते हैं।

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

  1. चैनल ब्रेकआउट में देरी हो सकती है, शुरुआती अवसरों को खोने का जोखिम।

  2. ब्रेकआउट से पहले विचलन पर विचार नहीं करता है, झूठे संकेत उत्पन्न कर सकता है।

  3. बाजार की अस्थिरता के प्रति संवेदनशील निश्चित मध्य रेखा स्टॉप लॉस।

  4. अनुचित बैकटेस्ट अवधि से ओवर-फिटिंग का खतरा होता है।

  5. घाटे को रोकने की कमी है, बढ़े हुए घाटे के लिए सावधान रहने की जरूरत है।

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

  1. चैनल अवधि के मापदंडों का परीक्षण और अनुकूलन करें।

  2. अन्य एमए प्रकारों को स्टॉप लॉस लाइन के रूप में मूल्यांकन करें।

  3. वॉल्यूम संकेतक जैसे फ़िल्टर जोड़ें.

  4. चलती या पीछे की स्टॉप लॉस तंत्र जोड़ें।

  5. मूल्य ब्रेकआउट की भविष्यवाणी करने के लिए मशीन लर्निंग का परिचय दें।

  6. धन प्रबंधन को अनुकूलित करना, लाभ अनुपात निर्धारित करना आदि।

  7. दीर्घकालिक/अल्पकालिक परिचालनों या कई उत्पादों के संयोजन पर विचार करें।

सारांश

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


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-15 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//future strategy
//strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1,  overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2)
//stock strategy
strategy(title = "dc", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=.005)
//forex strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true)
//crypto strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true, commission_type=strategy.commission.percent,commission_value=.25,default_qty_value=10000)


testStartYear = input(2000, "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, "Backtest Start Month")
testEndDay = input(1, "Backtest Start Day")
testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0)


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

dcPeriod = 20

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=yellow, style=line, linewidth=1, title="Mid-Line Average")

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



अधिक