
डोंगचींग चैनल ट्रेंड ट्रैकिंग रणनीति एक ट्रेंड ट्रैकिंग रणनीति है जो डोंगचींग चैनल संकेतक पर आधारित है। यह रणनीति विभिन्न चक्रों के उच्चतम और निम्नतम कीमतों की गणना करके, ऊपरी, निचले और मध्य ट्रैक बनाने के लिए, प्रवृत्ति ट्रेंड की दिशा का आकलन करने के लिए, ट्रेंड ट्रैकिंग ट्रेडों को लागू करने के लिए।
इस रणनीति में पहले रिटर्न्स समय सीमा निर्धारित की जाती है और फिर मल्टी हेड और खाली हेड नियम परिभाषित किए जाते हैं।
मल्टीहेड के लिए, जब कीमत डोंगचीआन चैनल के ऊपर की ओर बढ़ जाती है, तो मल्टीहेड खोलने की स्थिति होती है; जब कीमत नीचे की ओर गिरती है, तो मल्टीहेड फिक्सिंग की स्थिति होती है।
खाली सिर के लिए, जब कीमत नीचे डोंगचीआन चैनल के नीचे की ओर जाती है, तो खाली सिर खोलें; जब कीमत ऊपर की ओर जाती है, तो खाली सिर फ्लैट करें।
रणनीति में एटीआर को भी शामिल किया गया है, जो स्टॉप-लॉस के लिए एक निकासी तंत्र है। एटीआर मूल्य को स्टॉप-लॉस के रूप में गुणांक के साथ गुणा किया जाता है।
विशेष रूप से, मल्टी हेड स्टॉप एटीआर स्टॉप मूल्य को खोलने की कीमत से कम करता है; खाली हेड स्टॉप एटीआर स्टॉप मूल्य को खोलने की कीमत से अधिक करता है।
इस रणनीति ने एक पूर्ण व्यापार प्रणाली बनाने के लिए एटीआर स्टॉप लॉस लाइन के साथ-साथ डोंगचीआन चैनल के ऊपर और नीचे के ट्रैक को भी रेखांकित किया।
डोंगचीआन चैनल का उपयोग कर प्रवृत्ति की दिशा निर्धारित करने के लिए, कुछ प्रवृत्ति ट्रैकिंग क्षमता है।
डोंगचीआन चैनल Smoother पैरामीटर समायोज्य है, जो पैरामीटर अनुकूलन के माध्यम से सबसे अच्छा पैरामीटर संयोजन खोजने के लिए किया जा सकता है।
एटीआर सूचकांक के संयोजन के साथ, जोखिम को प्रभावी ढंग से नियंत्रित किया जा सकता है।
मल्टी हेड ट्रेडिंग नियम स्पष्ट और समझने योग्य हैं, जो शुरुआती सीखने के लिए उपयुक्त हैं।
कोड संरचना स्पष्ट है, इसे समझने और पुनः उपयोग करने में आसान है।
डोंगचीआन चैनल में, कीमतों में उतार-चढ़ाव के लिए एक निश्चित जोखिम है।
एटीआर स्टॉप-अप रेंज को गलत तरीके से सेट किया गया है, जिससे स्टॉप-अप बहुत व्यापक या बहुत संवेदनशील हो सकता है।
बहु-खाली पदों को बहुत अधिक एकाग्रता की आवश्यकता हो सकती है और स्थिति प्रबंधन नियमों को स्थापित करने की आवश्यकता होती है।
ट्रेडिंग किस्मों के लिए उपयुक्तता को सत्यापित करने की आवश्यकता है, विभिन्न किस्मों के लिए पैरामीटर को स्वतंत्र रूप से अनुकूलित करने की आवश्यकता है।
लेन-देन की लागत को भी ध्यान में रखा जाना चाहिए, जो उच्च लागत वाले वातावरण में समायोजन की आवश्यकता है।
डोंगचीआन चैनल के चैनल चक्र मापदंडों को अनुकूलित करें, सबसे अच्छा मापदंडों के संयोजन की तलाश करें।
विभिन्न एटीआर कारक सेटिंग्स को आज़माएं और सबसे अच्छा स्टॉप-डैमेज रेंज ढूंढें
एटीआर रोक के आधार पर, लाभ को लॉक करने के लिए चलती रोक को पेश करने का प्रयास करें।
बाजार की स्थिति के अनुसार, बहु-खाली पदों के अनुपात को उचित रूप से समायोजित करें।
विभिन्न किस्मों के पैरामीटरों की शक्ति का परीक्षण करें, सामान्य पैरामीटर संयोजन खोजें।
इस तरह के फ़िल्टर को लागू करने पर शोध करें, जैसे कि साउंडफ़ोर्क, ताकि रणनीति की स्थिरता में सुधार हो सके।
विभिन्न लेनदेन लागत परिवेश परीक्षण मापदंडों के अनुसार अनुकूलनशीलता
कुल मिलाकर, यह रणनीति एक अपेक्षाकृत सरल प्रवृत्ति ट्रैकिंग रणनीति है, जिसका केंद्र डोंगचीआन चैनल के अनुप्रयोग में है। इस रणनीति का लाभ यह है कि यह सरल और समझने में आसान है, सीखने के लिए उपयुक्त है, लेकिन फिर भी इसे पैरामीटर और जोखिम के लिए अनुकूलित करने की आवश्यकता है। अनुकूलन के कई तरीकों के माध्यम से, रणनीति की स्थिरता और लाभप्रदता को बढ़ाने की उम्मीद है।
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © kriswaters
//@version=4
strategy("Donchian Channels Strategy by KrisWaters", overlay=true )
// Date filter
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear = input(defval = 2017, title = "From Year", minval = 1900)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
// Strategy Settings
canEnterLong = input(true, title="Can Enter Long Position")
canEnterShort = input(false, title="Can Enter Short Position")
showLongChannel = input(true, title="Show Donchian Long Channels")
showShortChannel = input(false , title="Show Donchian Short Channels")
useAtrAsStopRule = input(false, title="Enable ATR Stop Rule")
// DonCcian Channel Lengths
longUpperLength = input(20, minval=1)
longLowerLength = input(10, minval=1)
shortUpperLength = input(10, minval=1)
shortLowerLength = input(20, minval=1)
// Donchian indicator calculations
longUpperValue = highest(high,longUpperLength)
longLowerValue = lowest(low,longLowerLength)
shortUpperValue = highest(high,shortUpperLength)
shortLowerValue = lowest(low,shortLowerLength)
// Plot Donchian Channels
uLong = plot(showLongChannel ? longUpperValue : na, color=color.green, offset=1)
lLong = plot(showLongChannel ? longLowerValue : na, color=color.green, offset=1)
uShort = plot(showShortChannel ? shortUpperValue : na, color=color.red, offset=1)
lShort = plot(showShortChannel ? shortLowerValue : na, color=color.red, offset=1)
// Styling
fill(uLong,lLong, color=color.green, transp=95, title="Long Arkaplan")
fill(uShort,lShort, color=color.red, transp=95, title="Short Arkaplan")
// Stop-loss value calculations
atrMultiplier = 2.0
atrValue = atr(20)
longStopValue = open - (atrMultiplier*atrValue)
shortStopValue = open + (atrMultiplier*atrValue)
// Plot stop-loss line
plot(useAtrAsStopRule ? longStopValue : na, color=color.red, linewidth=2, offset=1)
plot(useAtrAsStopRule ? shortStopValue : na, color=color.red, linewidth=2, offset=1)
// Long and Short Position Rules
if canEnterLong and na(longUpperValue) != true and na(longLowerValue) != true and window()
strategy.entry("Long", true, stop=longUpperValue)
strategy.exit("Long Exit", "Long", stop=useAtrAsStopRule ? max(longLowerValue,longStopValue) : longLowerValue)
if canEnterShort and na(shortUpperValue) != true and na(shortLowerValue) != true and window()
strategy.entry("Short", false, stop=shortLowerValue)
strategy.exit("Short Exit", "Short", stop=useAtrAsStopRule ? min(shortUpperValue,shortStopValue) : shortUpperValue)