लंबी दूरी की अनुकूलित सीसीआई बॉटम कैचिंग कमोडिटी ट्रेडिंग रणनीति


निर्माण तिथि: 2023-12-21 14:30:03 अंत में संशोधित करें: 2023-12-21 14:30:03
कॉपी: 0 क्लिक्स: 726
1
ध्यान केंद्रित करना
1623
समर्थक

लंबी दूरी की अनुकूलित सीसीआई बॉटम कैचिंग कमोडिटी ट्रेडिंग रणनीति

अवलोकन

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

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

इस रणनीति के लिए, सीसीआई को एक दूरदर्शी दृष्टिकोण के साथ निर्धारित किया गया है, जो कि पिछले कुछ समय के लिए सीसीआई के निचले बिंदु की स्थिति को निर्धारित करता है, और सीसीआई को खरीदने के लिए गतिशील रूप से निर्धारित करता है। यदि पिछले 40 दिनों में सीसीआई का निचला बिंदु -90 से अधिक है, तो -90 को नए ओवरसोल्ड क्षेत्र का स्तर माना जाता है; यदि पिछले 50 दिनों में सीसीआई का निचला बिंदु -70 से अधिक है, तो -70 को नए ओवरसोल्ड क्षेत्र का स्तर माना जाता है। इस तरह की प्रविष्टियों को डिजाइन किया गया है ताकि वे गतिशील रूप से अलग-अलग बाजारों के लिए अनुकूल हो सकें, जो मजबूत गिरावट वाले बाजारों में कम जोखिम वाले प्रविष्टियों का पीछा करते हैं, और जोनल बाजारों में समतल प्रविष्टियों को व्यवस्थित करने के लिए कुछ अधिक आरामदायक हैं।

विशेष रूप से, डिफ़ॉल्ट खरीद सिग्नल का सीसीआई स्तर -145 है। फिर पिछले 40 दिनों, 50 दिनों आदि के विभिन्न दिनों में सीसीआई के निम्नतम बिंदु की स्थिति का न्याय करें, यदि निम्नतम बिंदु डिफ़ॉल्ट स्तर के अगले स्तर जैसे -90 से ऊपर है, तो -90 को नए प्रविष्टियों के स्तर के रूप में लें। यदि निम्नतम बिंदु -90 से ऊपर है, तो -70 को नए प्रविष्टियों के स्तर के रूप में लें, और इसी तरह। इस प्रकार प्रविष्टियों के स्तर को -145 / -90 / -70 / -50 / -4 / 0 / +25 / +50 / +70 के बीच गतिशील रूप से स्विच किया जा सकता है। जब सीसीआई उचित स्तर से नीचे होता है, तो खरीद संकेत उत्पन्न होता है।

इसके अलावा, रणनीतियों में मुनाफे को लॉक करने के लिए स्टॉप-लॉस को ट्रैक करना शामिल है, और स्टॉप-लॉस का स्तर कीमतों के साथ बढ़ता है।

श्रेष्ठता विश्लेषण

  • सीसीआई सूचकांक का उपयोग करके ओवरसोल्ड क्षेत्रों का निर्धारण करने के लिए विचार स्पष्ट और विश्वसनीय है
  • Entries क्षैतिज गतिशील अनुकूली डिजाइन जो रणनीति को विभिन्न प्रकार के बाजार परिदृश्यों के लिए स्वचालित रूप से अनुकूलित करने की अनुमति देता है
  • स्टॉप-लॉस-ट्रैकिंग डिज़ाइन रणनीति को लाभ-लॉकिंग के लिए बहुत अच्छा बनाता है

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

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

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

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

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

अनुकूलन दिशा

  • CCI पैरामीटर और चिकनाई चक्र का अनुकूलन करें, विभिन्न समय अवधि के लिए CCI प्रभाव का परीक्षण करें
  • बेहतर डिफ़ॉल्ट या अनुकूली डिजाइन की तलाश में अधिक प्रकार के प्रविष्टियों के स्तर का परीक्षण करना
  • विभिन्न स्टॉप-लॉस पैरामीटर का परीक्षण करें और कमोडिटी बाजार की उच्च अस्थिरता के लिए स्टॉप-लॉस को उचित रूप से बढ़ाएं

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Extended Adaptive CCI Entry Strategy for Commodities", shorttitle="Ext_Adaptive_CCI_Entry_Com", overlay=true)

// Inputs
cciLength = input(20, title="CCI Period")
defaultCCIEntryOversold = input(-145, title="Default CCI Entry Oversold Level")
adaptiveCCIEntryLevel90 = input(-90, title="Adaptive CCI Entry Level for 40 Days")
adaptiveCCIEntryLevel70_50Days = input(-70, title="Adaptive CCI Entry Level for 50 Days")
adaptiveCCIEntryLevel50 = input(-50, title="Adaptive CCI Entry Level for 60 Days")
adaptiveCCIEntryLevel4 = input(-4, title="Adaptive CCI Entry Level for 90 Days")
adaptiveCCIEntryLevel0 = input(0, title="Adaptive CCI Entry Level for 120 Days")
adaptiveCCIEntryLevel25 = input(25, title="Adaptive CCI Entry Level for 140 Days")
adaptiveCCIEntryLevel50_160Days = input(50, title="Adaptive CCI Entry Level for 160 Days")
adaptiveCCIEntryLevel70_180Days = input(70, title="Adaptive CCI Entry Level for 180 Days")
lookback40 = input(40, title="Lookback Period for -90 Level")
lookback50 = input(50, title="Lookback Period for -70 Level")
lookback60 = input(60, title="Lookback Period for -50 Level")
lookback90 = input(90, title="Lookback Period for -4 Level")
lookback120 = input(120, title="Lookback Period for 0 Level")
lookback140 = input(140, title="Lookback Period for +25 Level")
lookback160 = input(160, title="Lookback Period for +50 Level")
lookback180 = input(180, title="Lookback Period for +70 Level")

// Indicator Calculation
cci = ta.cci(close, cciLength)

// Determine adaptive entry level based on lookback periods
var float entryLevel = defaultCCIEntryOversold // Initialize with the default level
if ta.lowest(cci, lookback40) > adaptiveCCIEntryLevel90
    entryLevel := adaptiveCCIEntryLevel90
if ta.lowest(cci, lookback50) > adaptiveCCIEntryLevel70_50Days
    entryLevel := adaptiveCCIEntryLevel70_50Days
if ta.lowest(cci, lookback60) > adaptiveCCIEntryLevel50
    entryLevel := adaptiveCCIEntryLevel50
if ta.lowest(cci, lookback90) > adaptiveCCIEntryLevel4
    entryLevel := adaptiveCCIEntryLevel4
if ta.lowest(cci, lookback120) > adaptiveCCIEntryLevel0
    entryLevel := adaptiveCCIEntryLevel0
if ta.lowest(cci, lookback140) > adaptiveCCIEntryLevel25
    entryLevel := adaptiveCCIEntryLevel25
if ta.lowest(cci, lookback160) > adaptiveCCIEntryLevel50_160Days
    entryLevel := adaptiveCCIEntryLevel50_160Days
if ta.lowest(cci, lookback180) > adaptiveCCIEntryLevel70_180Days
    entryLevel := adaptiveCCIEntryLevel70_180Days

// Entry Condition
longCondition = cci < entryLevel

// Entry and Exit
if (longCondition)
    strategy.entry("Long", strategy.long, qty=1)
    alert("Long entry executed at " + str.tostring(close), alert.freq_once_per_bar)

trailOffset = input(10.0, title="Trailing Stop Offset in USD")
strategy.exit("Trailing Stop", "Long", trail_offset = trailOffset, trail_price = close)
if (close < entryLevel - trailOffset)
    alert("Long position closed at " + str.tostring(close), alert.freq_once_per_bar)

// Plotting
plot(series=cci, color=color.purple, title="CCI")
hline(price=defaultCCIEntryOversold, color=color.red, title="Default CCI Entry Oversold Level")
hline(price=adaptiveCCIEntryLevel90, color=color.orange, title="CCI -90 Level (40 Days)")
hline(price=adaptiveCCIEntryLevel70_50Days, color=color.yellow, title="CCI -70 Level (50 Days)")
hline(price=adaptiveCCIEntryLevel50, color=color.green, title="CCI -50 Level (60 Days)")
hline(price=adaptiveCCIEntryLevel4, color=color.blue, title="CCI -4 Level (90 Days)")
hline(price=adaptiveCCIEntryLevel0, color=color.purple, title="CCI 0 Level (120 Days)")
hline(price=adaptiveCCIEntryLevel25, color=color.aqua, title="CCI +25 Level (140 Days)")
hline(price=adaptiveCCIEntryLevel50_160Days, color=color.black, title="CCI +50 Level (160 Days)")
hline(price=adaptiveCCIEntryLevel70_180Days, color=color.gray, title="CCI +70 Level (180 Days)")