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

लेखक:चाओझांग, दिनांकः 2024-01-29 11:51:08
टैगः

img

अवलोकन

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

रणनीति तर्क

यह रणनीति मूल्य रुझानों को निर्धारित करने और प्रवेश और निकास बिंदुओं की गणना करने के लिए डोंचियन चैनल संकेतक का उपयोग करती है। डोंचियन चैनल में एक ऊपरी रेल, निचली रेल और मध्य रेल शामिल हैं। ऊपरी रेल एक निश्चित अवधि में उच्चतम मूल्य है, निचली रेल सबसे कम मूल्य है, और मध्य रेल औसत मूल्य है।

प्रवेश और निकास अवधि की लंबाई को स्वतंत्र रूप से कॉन्फ़िगर किया जा सकता है। जब कीमत निचली रेल के माध्यम से ऊपर की ओर टूटती है, तो यह लंबी जाती है। जब कीमत ऊपरी रेल के माध्यम से नीचे की ओर टूटती है, तो यह छोटी हो जाती है। निकास बिंदु तब होता है जब कीमत फिर से संबंधित रेल को छूती है। मध्य रेल का उपयोग स्टॉप लॉस लाइन के रूप में भी किया जा सकता है।

इसके अतिरिक्त, रणनीति एक लाभ लेने का बिंदु भी निर्धारित करती है। लंबी पदों के लिए लाभ लेने की कीमत प्रवेश मूल्य गुणा (1 + लाभ लेने का प्रतिशत) है, और शॉर्ट पदों के लिए इसके विपरीत। इस सुविधा को सक्षम करने से मुनाफे में ताला लग जाता है और घाटे का विस्तार होने से रोका जाता है।

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

लाभ विश्लेषण

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

  1. स्पष्ट संकेत तर्क और सरल/विश्वसनीय संकेत जनरेशन।
  2. डोंचियन चैनल सूचक मूल्य उतार-चढ़ाव के प्रति असंवेदनशील है, जो प्रवृत्ति को पकड़ने में मदद करता है।
  3. विभिन्न परिसंपत्तियों और समय सीमाओं के अनुरूप अनुकूलन योग्य चैनल पैरामीटर।
  4. अंतर्निहित स्टॉप लॉस/टेक प्रॉफिट फ़ंक्शन प्रभावी ढंग से जोखिम को नियंत्रित करते हैं।
  5. क्रिप्टोकरेंसी जैसी अस्थिर परिसंपत्तियों के लिए उच्च लाभ क्षमता।

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

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

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

उपरोक्त जोखिमों को कम करने के लिएः

  1. समग्र जोखिम को नियंत्रित करने के लिए उचित आकार की स्थिति और परिसंपत्तियों में विविधता।
  2. सबसे अच्छा संयोजन खोजने के लिए मापदंडों का अनुकूलन करें, संभवतः मशीन लर्निंग का उपयोग करें।
  3. सिग्नल की विश्वसनीयता निर्धारित करने के लिए अतिरिक्त संकेतक शामिल करें।

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

इस रणनीति को निम्नलिखित आयामों में और अधिक अनुकूलित किया जा सकता हैः

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

निष्कर्ष

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
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/
// © algotradingcc
// Strategy testing and optimisation for free trading bot 

//@version=4
strategy("Donchian Channel Strategy [for free bot]", overlay=true )

//Long optopns
buyPeriodEnter = input(10, "Channel Period for Long enter position")
buyPeriodExit = input(10, "Channel Period for Long exit position")
isMiddleBuy = input(true, "Is exit on Base Line? If 'no' - exit on bottom line")
takeProfitBuy = input(2.5, "Take Profit (%) for Long position")
isBuy = input(true, "Allow Long?")

//Short Options
sellPeriodEnter = input(20, "Channel Period for Short enter position")
sellPeriodExit = input(20, "Channel Period for Short exit position")
isMiddleSell = input(true, "Is exit on Base Line? If 'no' - exit on upper line")
takeProfitSell = input(2.5, "Take Profit (%) for Short position")
isSell = input(true, "Allow Short?")

// Test Start
startYear = input(2005, "Test Start Year")
startMonth = input(1, "Test Start Month")
startDay = input(1, "Test Start Day")
startTest = timestamp(startYear,startMonth,startDay,0,0)

//Test End
endYear = input(2050, "Test End Year")
endMonth = input(12, "Test End Month")
endDay = input(30, "Test End Day")
endTest = timestamp(endYear,endMonth,endDay,23,59)

timeRange = time > startTest and time < endTest ? true : false

// Long&Short Levels
BuyEnter = highest(buyPeriodEnter)
BuyExit = isMiddleBuy ? ((highest(buyPeriodExit) + lowest(buyPeriodExit)) / 2): lowest(buyPeriodExit)

SellEnter = lowest(sellPeriodEnter)
SellExit = isMiddleSell ? ((highest(sellPeriodExit) + lowest(sellPeriodExit)) / 2): highest(sellPeriodExit)

// Plot Data
plot(BuyEnter, style=plot.style_line, linewidth=2, color=color.blue, title="Buy Enter")
plot(BuyExit, style=plot.style_line, linewidth=1, color=color.blue, title="Buy Exit", transp=50)
plot(SellEnter, style=plot.style_line, linewidth=2, color=color.red, title="Sell Enter")
plot(SellExit, style=plot.style_line, linewidth=1, color=color.red, title="Sell Exit", transp=50)

// Calc Take Profits
TakeProfitBuy = 0.0
TakeProfitSell = 0.0
if strategy.position_size > 0
    TakeProfitBuy := strategy.position_avg_price*(1 + takeProfitBuy/100)
    
if strategy.position_size < 0
    TakeProfitSell := strategy.position_avg_price*(1 - takeProfitSell/100)

// Long Position    
if isBuy and timeRange
    strategy.entry("Long", strategy.long, stop = BuyEnter, when = strategy.position_size == 0) 
    
strategy.exit("Long Exit", "Long", stop=BuyExit, limit = TakeProfitBuy, when = strategy.position_size > 0)

// Short Position
if isSell and timeRange
    strategy.entry("Short", strategy.short, stop = SellEnter, when = strategy.position_size == 0) 
    
strategy.exit("Short Exit", "Short", stop=SellExit, limit = TakeProfitSell, when = strategy.position_size < 0)

// Close & Cancel when over End of the Test
if time > endTest
    strategy.close_all()
    strategy.cancel_all()


अधिक