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

लेखक:चाओझांग, दिनांकः 2024-02-21 11:38:48
टैगः

img

अवलोकन

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

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

डबल डोंचियन चैनल ब्रेकआउट रणनीति दो मापदंडों पर आधारित हैःधीमी डोंचियन चैनल अवधिऔरफास्ट डोंचियन चैनल अवधिइस रणनीति में सबसे पहले दो डोंचियन चैनलों के ऊपरी और निचले बैंड की गणना की जाती है।

  • डिफ़ॉल्ट धीमी डोंचियन चैनल अवधि 50 बार है, जो दीर्घकालिक रुझानों को दर्शाता है।
  • डिफ़ॉल्ट फास्ट डोंचियन चैनल अवधि 30 बार है, जो अल्पकालिक रुझान परिवर्तनों को दर्शाता है।

लंबी प्रविष्टि संकेत एकऊपरी बैंड के ऊपर ब्रेकआउटके साथसीमा से अधिक अस्थिरता. लघु प्रवेश संकेत एक हैनिचले बैंड से नीचे का विभाजनके साथसीमा से अधिक अस्थिरता.

लंबे स्टॉप लॉस आउट सिग्नल एक हैनिचले बैंड से नीचे का विभाजन. शॉर्ट स्टॉप लॉस आउट सिग्नल एकऊपरी बैंड के ऊपर ब्रेकआउट.

यह रणनीति भी निर्धारित करती हैलाभ लेनाबाहर निकलने की शर्तें. डिफ़ॉल्ट ले लाभ अनुपात 2% है, यानी ले लाभ आधा स्थिति जब मूल्य आंदोलन 2% तक पहुँचता है.

लाभ विश्लेषण

डबल डोंचियन चैनल ब्रेकआउट रणनीति के निम्नलिखित फायदे हैंः

  1. दो-चैनल डिजाइन अधिक सटीक प्रविष्टियों की अनुमति देते हुए, लंबे और छोटे समय दोनों से प्रवृत्ति संकेतों को कैप्चर कर सकता है।

  2. अस्थिरता की स्थिति सीमाबद्ध बाजारों में लगातार व्यापार करने से बचती है।

  3. व्यापक लाभ लेने और स्टॉप लॉस सेटिंग्स आंशिक लाभ को लॉक करती हैं और नुकसान को कम करती हैं।

  4. सरल और स्पष्ट रणनीति तर्क, समझने और लागू करने में आसान।

  5. अनुकूलन योग्य मापदंड विभिन्न उत्पादों और व्यापारिक वरीयताओं के अनुरूप हैं।

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

डबल डोंचियन चैनल ब्रेकआउट रणनीति में भी कुछ जोखिम हैं:

  1. दो-चैनल डिजाइन संवेदनशील है और झूठे संकेत उत्पन्न कर सकता है। व्यापक चैनल या समायोजित अस्थिरता मापदंड झूठे संकेतों को कम कर सकते हैं।

  2. अस्थिर बाजारों में, स्टॉप लॉस बहुत बार ट्रिगर हो सकता है। ट्रेडों की संख्या पर सीमा निर्धारित करने या स्टॉप लॉस रेंज को चौड़ा करने पर विचार करें।

  3. निश्चित प्रतिशत ले लाभ लाभ को अधिकतम करने में विफल रहता है। इष्टतम ले लाभ मूल्य निर्धारण के लिए गतिशील या मैनुअल हस्तक्षेप पर विचार करें।

  4. वास्तविक ट्रेडिंग प्रदर्शन बैकटेस्ट अपेक्षाओं से भिन्न हो सकता है। यदि आवश्यक हो तो गहन सत्यापन और पैरामीटर समायोजन की आवश्यकता होती है।

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

दोहरे डोंचियन चैनल ब्रेकआउट रणनीति को कई पहलुओं में अनुकूलित किया जा सकता हैः

  1. इष्टतम मापदंडों को खोजने के लिए अधिक अवधि संयोजनों का परीक्षण करें।

  2. सबसे स्थिर मीट्रिक खोजने के लिए एटीआर जैसे विभिन्न अस्थिरता उपायों का प्रयास करें।

  3. रुझान के अंत में हानि से बचने के लिए प्रविष्टियों की संख्या पर सीमा निर्धारित करें।

  4. उच्च एकल व्यापार लाभ के लिए गतिशील लाभ लेने का प्रयास करें।

  5. प्रविष्टियों को फ़िल्टर करने और सटीकता में सुधार करने के लिए अन्य संकेतकों को शामिल करें, जैसे कि मात्रा।

  6. बेहतर जोखिम नियंत्रण के लिए निश्चित अंशीय स्थिति आकार जैसे धन प्रबंधन मॉडल का अनुकूलन करें।

निष्कर्ष

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © omererkan

//@version=5
strategy(title="Double Donchian Channel Breakout", overlay=true, initial_capital = 1000, commission_value = 0.05, default_qty_value = 100, default_qty_type = strategy.percent_of_equity)

// Donchian Channels
slowLen = input.int(50, title="Slow Donchian", group = "Conditions")
fastLen = input.int(30, title="Fast Donchian", group = "Conditions")

// Volatility Calculated as a percentage
volatility = input.int(3, title="Volatility (%)", group = "Conditions")

// Long positions
long = input.bool(true, "Long Position On/Off", group = "Strategy")
longProfitPerc = input.float(2, title="Long TP1 (%)", group = "Strategy", minval=0.0, step=0.1) * 0.01

// Short positions
short = input.bool(true, "Short Position On/Off", group = "Strategy")
shortProfitPerc = input.float(2, title="Short TP1 (%)", group = "Strategy", minval=0.0, step=0.1) * 0.01

// First take profit point for positions
TP1Yuzde =input.int(50, title = "TP1 Position Amount (%)", group = "Strategy")

// Slow Donchian Calculated
ubSlow = ta.highest(high, slowLen)[1]
lbSlow = ta.lowest(low, slowLen)[1]

// Fast Donchian Calculated
ubFast = ta.highest(high, fastLen)[1]
lbFast = ta.lowest(low, fastLen)[1]

// Plot Donchian Channel for entries
plot(ubSlow, color=color.green, linewidth=2, title="Slow DoCh - Upperband")
plot(lbSlow, color=color.green, linewidth=2, title="Slow DoCh - Lowerband")
plot(ubFast, color=color.blue, linewidth=2, title="Fast DoCh - Upperband")
plot(lbFast, color=color.blue, linewidth=2, title="Fast DoCh - Lowerband")

// This calculation, the strategy does not open position in the horizontal market.
fark = (ubSlow - lbSlow) / lbSlow * 100

// Take profit levels
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

// Code long trading conditions
longCondition = ta.crossover(close, ubSlow) and fark > volatility
if longCondition and long == true
    strategy.entry("Long", strategy.long)

// Code short trading conditions
shortCondition = ta.crossunder(close, lbSlow) and fark > volatility
if shortCondition and short == true
    strategy.entry("Short", strategy.short)

// Determine long trading conditions
if strategy.position_size > 0 and ta.crossunder(close, lbFast) 
    strategy.close_all("Close All")

// Determine short trading conditions
if strategy.position_size < 0 and ta.crossover(close, ubFast)
    strategy.close_all("Close All")

// Take Profit Long
if strategy.position_size > 0
    strategy.exit("TP1", "Long", qty_percent = TP1Yuzde, limit = longExitPrice)

// Take Profit Short
if strategy.position_size < 0
    strategy.exit("TP1", "Short", qty_percent = TP1Yuzde, limit = shortExitPrice)

अधिक