ट्रेलिंग स्टॉप लॉस रणनीति के साथ डोंचियन चैनल

लेखक:चाओझांग, दिनांकः 2023-12-07 16:53:10
टैगः

img

अवलोकन

यह एक ट्रेंड फॉलोइंग रणनीति है, जो डोंचियन चैनल इंडिकेटर पर आधारित है, जो लाभ में लॉक करने के लिए एटीआर इंडिकेटर पर आधारित गतिशील स्टॉप लॉस के साथ संयुक्त है। यह ट्रेंड फॉलोइंग रणनीति श्रेणी से संबंधित है।

रणनीति तर्क

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

लाभ विश्लेषण

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

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

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

इस रणनीति के मुख्य जोखिमों में निम्नलिखित शामिल हैंः

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

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

इस रणनीति के लिए कुछ अनुकूलन दिशाएंः

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

निष्कर्ष

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


/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-06 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "dc",  overlay = true)
atrLength = input(title="ATR Length:", defval=20, minval=1)

testStartYear = input(2017, "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(testEndYear,testEndMonth,testEndDay,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
atrValue=atr(atrLength)


useTakeProfit   = na
useStopLoss     = na
useTrailStop    = na
useTrailOffset  = na
//@version=1
Buy_stop = lowest(low[1],3) - atr(20)[1] / 3
plot(Buy_stop, color=red, title="buy_stoploss")
Sell_stop = highest(high[1],3) + atr(20)[1] / 3
plot(Sell_stop, color=green, title="sell_stoploss")

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) and cross(close,dcAverage))
strategy.close("simpleBuy",when= ( close< Buy_stop))
    
strategy.entry("simpleSell", strategy.short,when=(close < dcAverage) and cross(close,dcAverage) )
strategy.close("simpleSell",when=( close > Sell_stop))
    
//strategy.exit("Exit simpleBuy", from_entry = "simpleBuy", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
//strategy.exit("Exit simpleSell", from_entry = "simpleSell", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)



अधिक