संसाधन लोड हो रहा है... लोड करना...

गतिशील डोंचियन चैनल और सरल चलती औसत संयोजन मात्रात्मक रणनीति

लेखक:चाओझांग, दिनांकः 2024-06-17 17:29:48
टैगःएसएमए

img

अवलोकन

यह रणनीति दो तकनीकी संकेतकों को जोड़ती हैः डोंचियन चैनल और सरल चलती औसत (एसएमए) । यह एक लंबी स्थिति खोलता है जब कीमत डोंचियन चैनल के निचले बैंड से नीचे टूट जाती है और एसएमए के ऊपर बंद हो जाती है। इसके विपरीत, यह एक छोटी स्थिति खोलता है जब कीमत डोंचियन चैनल के ऊपरी बैंड से ऊपर टूट जाती है और एसएमए के नीचे बंद हो जाती है। लंबी स्थिति बंद हो जाती है जब कीमत डोंचियन चैनल के ऊपरी बैंड तक पहुंच जाती है, जबकि छोटी स्थिति बंद हो जाती है जब कीमत निचले बैंड तक पहुंच जाती है। यह रणनीति मजबूत रुझान वाले बाजारों के लिए उपयुक्त है।

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

  1. डोंचियन चैनल के ऊपरी और निचले बैंड की गणना करें। ऊपरी बैंड पिछले n अवधियों में उच्चतम उच्च है, और निचला बैंड पिछले n अवधियों में निम्नतम निम्न है।
  2. सरल चलती औसत की गणना करें। एसएमए पिछले m अवधियों में समापन कीमतों का अंकगणितीय औसत है।
  3. लॉन्ग एंट्रीः जब कीमत डोंचियन चैनल के निचले बैंड से नीचे होती है और समापन मूल्य एसएमए से ऊपर होता है, तब लॉन्ग पोजीशन खोलें।
  4. शॉर्ट एंट्रीः एक शॉर्ट पोजीशन तब खोलें जब कीमत डोंचियन चैनल के ऊपरी बैंड से ऊपर हो और क्लोजिंग कीमत एसएमए से नीचे हो।
  5. लॉन्ग एक्जिटः जब कीमत डोंचियन चैनल के ऊपरी बैंड तक पहुंच जाती है तो लॉन्ग पोजीशन को बंद कर दें।
  6. शॉर्ट एक्जिटः शॉर्ट पोजीशन को बंद करें जब कीमत डोंचियन चैनल के निचले बैंड तक पहुंच जाए।

रणनीतिक लाभ

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

रणनीतिक जोखिम

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

रणनीति अनुकूलन दिशाएं

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

सारांश

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


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

//@version=5
strategy("FBK Donchian Channel Strategy", overlay=true)

// Inputs
donchian_period = input.int(20, title="Donchian Channel Period")
donchian_offset = input.int(1, title="Donchian Channel Offset")
sma_period = input.int(200, title="SMA Period")
start_date = input(timestamp("2023-01-01 00:00 +0000"), title="Start Date")
end_date = input(timestamp("2023-12-31 23:59 +0000"), title="End Date")
trade_type = input.string("Both", title="Trade Type", options=["Buy Only", "Sell Only", "Both"])

// Calculate indicators
donchian_upper = ta.highest(high, donchian_period)[donchian_offset]
donchian_lower = ta.lowest(low, donchian_period)[donchian_offset]
sma = ta.sma(close, sma_period)

// Plot indicators
plot(donchian_upper, color=color.red, title="Donchian Upper")
plot(donchian_lower, color=color.green, title="Donchian Lower")
plot(sma, color=color.blue, title="SMA")

// Helper function to check if within testing period
is_in_testing_period() => true

// Entry conditions
long_condition = low <= donchian_lower and close > sma
short_condition = high >= donchian_upper and close < sma

// Exit conditions
exit_long_condition = high >= donchian_upper
exit_short_condition = low <= donchian_lower

// Open long position
if (is_in_testing_period() and (trade_type == "Buy Only" or trade_type == "Both") and long_condition)
    strategy.entry("Long", strategy.long)

// Close long position
if (is_in_testing_period() and exit_long_condition)
    strategy.close("Long")

// Open short position
if (is_in_testing_period() and (trade_type == "Sell Only" or trade_type == "Both") and short_condition)
    strategy.entry("Short", strategy.short)

// Close short position
if (is_in_testing_period() and exit_short_condition)
    strategy.close("Short")

// Close all positions at the end of the testing period
if not is_in_testing_period()
    strategy.close_all()


संबंधित

अधिक