डबल-चैनल ब्रेकथ्रू कछुआ रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-05 16:16:44
टैगः

img

अवलोकन

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

सिद्धांत

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

स्लो चैनल की ऊपरी और निचली रेल (नीली रेखाएं) का उपयोग ट्रेडिंग सिग्नल उत्पन्न करने के लिए किया जाता है। जब कीमत ऊपरी रेल के माध्यम से टूटती है, तो लंबी हो जाती है; जब कीमत निचली रेल के नीचे टूटती है, तो छोटी हो जाती है। फास्ट चैनल की मध्य रेल (लाल रेखा) का उपयोग स्टॉप लॉस के लिए किया जाता है। लंबी पदों के लिए स्टॉप लॉस मूल्य फास्ट चैनल की मध्य रेल है; शॉर्ट पदों के लिए स्टॉप लॉस मूल्य भी फास्ट चैनल की मध्य रेल है।

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

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

लाभ

डबल चैनल ब्रेकथ्रू कछुए की रणनीति के निम्नलिखित फायदे हैंः

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

  2. अच्छा ड्रॉडाउन और जोखिम नियंत्रण। फास्ट चैनल का मध्य रेल स्टॉप लॉस के रूप में कार्य करता है, इसलिए ऊपरी से मध्य रेल और निचले से मध्य रेल तक जोखिम क्षेत्र हैं। यह प्रति व्यापार नियंत्रित नुकसान सुनिश्चित करता है। रणनीति अधिकतम खाता हानि को सीधे सीमित करने के लिए जोखिम प्रतिशत भी निर्धारित करती है।

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

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

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

जोखिम

डबल चैनल ब्रेकथ्रू कछुए रणनीति में भी कुछ जोखिम हैंः

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

  2. स्टॉप लॉस पॉइंट्स शिकार के लिए प्रवण हैं। कछुए के फिक्स्ड मिडिल रेल स्टॉप लॉस को सक्रिय बाजारों में आसानी से मारा जा सकता है। इसके लिए मिडिल रेल मापदंडों के गतिशील समायोजन की आवश्यकता होती है।

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

  4. ओवरनाइट और प्री-मार्केट जानकारी का उपयोग करने में असमर्थ। वर्तमान में रणनीति केवल लाइव बाजार डेटा के आधार पर रुझानों का न्याय करती है, ओवरनाइट और प्री-मार्केट मूल्य कार्यों के साथ ट्रेडिंग निर्णयों को सूचित करने में असमर्थ है। इसे डेटा समायोजन द्वारा संबोधित किया जा सकता है।

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

डबल चैनल ब्रेकथ्रू कछुए रणनीति के लिए मुख्य अनुकूलन दिशाएं हैंः

  1. स्थिति को समायोजित करने के लिए इंट्राडे की कीमतों का उपयोग करें। केवल सरल लंबी/छोटी के बजाय चैनल से मूल्य की दूरी के आधार पर स्थिति को समायोजित किया जा सकता है।

  2. बुद्धिमान स्टॉप लॉस रणनीतियाँ. फिक्स्ड स्टॉप लॉस शिकार से बचने के लिए गतिशील गणनाओं के लिए फिक्स्ड मिडिल रेल स्टॉप बदलें।

  3. अनुकूली चैनल पैरामीटर अनुकूलन. मैन्युअल निश्चित मूल्यों के बजाय बाजार की स्थितियों के आधार पर स्वचालित रूप से चैनल पैरामीटर को समायोजित करने की अनुमति दें.

  4. रात भर और बाजार से पहले की जानकारी शामिल करें। अधिक पूर्ण बाजार स्थितियों को प्राप्त करने के लिए रुझानों का आकलन करते समय न केवल वास्तविक कीमतों पर विचार करें, बल्कि रात भर और बाजार से पहले की कीमतों पर भी विचार करें।

  5. कई शेयरों और सूचकांकों को मिलाएं। बेहतर अल्फा के लिए स्टॉक और सूचकांक मध्यस्थता के अवसरों के साथ कई शेयरों पर रणनीति लागू करें।

निष्कर्ष

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


/*backtest
start: 2023-12-05 00:00:00
end: 2024-01-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2020

//@version=4
strategy("Noro's RiskTurtle Strategy", shorttitle = "RiskTurtle str", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 100, default_qty_value = 100, commission_value = 0.1)

//Settings
needlong  = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
risk      = input(2, minval = 0.1, maxval = 99, title = "Risk size, %")
fast      = input(20, minval = 1, title = "Fast channel (for stop-loss)")
slow      = input(50, minval = 1, title = "Slow channel (for entries)")
showof    = input(true, defval = true, title = "Show offset")
showll    = input(true, defval = true, title = "Show lines")
showdd    = input(true, defval = true, title = "Show label (drawdown)")
showbg    = input(true, defval = true, title = "Show background")
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")

//Donchian price channel fast
hf = highest(high, fast)
lf = lowest(low, fast)
center = (hf + lf) / 2

//Donchian price chennal slow
hs = highest(high, slow)
ls = lowest(low, slow)

//Lines
colorpc = showll ? color.blue : na
colorsl = showll ? color.red : na
offset = showof ? 1 : 0
plot(hs, offset = offset, color = colorpc, title = "Slow channel high")
plot(ls, offset = offset, color = colorpc, title = "Slow channel low")
plot(center, offset = offset, color = colorsl, title = "Fast channel stop-loss")

//Background
size = strategy.position_size
colorbg = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na
bgcolor(colorbg, transp = 70)

//Var
loss = 0.0
maxloss = 0.0
equity = 0.0
truetime = true

//Lot size
risksize = -1 * risk
risklong = ((center / hs) - 1) * 100
coeflong = abs(risksize / risklong)
lotlong = (strategy.equity / close) * coeflong
riskshort = ((center / ls) - 1) * 100
coefshort = abs(risksize / riskshort)
lotshort = (strategy.equity / close) * coefshort

//Orders
strategy.entry("Long", strategy.long, lotlong, stop = hs, when = needlong and strategy.position_size == 0 and hs > 0 and truetime)
strategy.entry("Short", strategy.short, lotshort, stop = ls, when = needshort and strategy.position_size == 0 and ls > 0 and truetime)
strategy.exit("LongExit", "Long", stop = center, when = needlong and strategy.position_size > 0)
strategy.exit("Short", stop = center, when = needshort and strategy.position_size < 0)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")
    
if showdd

    //Drawdown
    max = 0.0
    max := max(strategy.equity, nz(max[1]))
    dd = (strategy.equity / max - 1) * 100
    min = 100.0
    min := min(dd, nz(min[1]))
    
    //Max loss size
    equity := strategy.position_size == 0 ? strategy.equity : equity[1]
    loss := equity < equity[1] ? ((equity / equity[1]) - 1) * 100 : 0
    maxloss := min(nz(maxloss[1]), loss)
    
    //Label
    min := round(min * 100) / 100
    maxloss := round(maxloss * 100) / 100
    labeltext = "Drawdown: " + tostring(min) + "%" + "\nMax.loss " + tostring(maxloss) + "%"
    var label la = na
    label.delete(la)
    tc = min > -100 ? color.white : color.red
    osx = timenow + round(change(time)*10)
    osy = highest(100)
    // la := label.new(x = osx, y = osy, text = labeltext, xloc = xloc.bar_time, yloc = yloc.price, color = color.black, style = label.style_labelup, textcolor = tc)

अधिक