दोहरी चैनल ब्रेकआउट कछुआ रणनीति


निर्माण तिथि: 2024-01-05 16:16:44 अंत में संशोधित करें: 2024-01-05 16:16:44
कॉपी: 1 क्लिक्स: 603
1
ध्यान केंद्रित करना
1617
समर्थक

दोहरी चैनल ब्रेकआउट कछुआ रणनीति

अवलोकन

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

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

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

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

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

इसके अलावा, रणनीति में जोखिम और स्थिति प्रबंधन की डिग्री भी है। जोखिम की डिग्री डिफ़ॉल्ट रूप से 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)