
यह रणनीति क्लासिक कमोडिटी चैनल इंडेक्स ((CCI) पर आधारित है, केवल मल्टीहेड की जाती है। जब CCI सूचक बहुत कम स्तर पर होता है ((CCI <-150 या उपयोगकर्ता-परिभाषित थ्रेशोल्ड) और ताकत प्राप्त करने के लिए वापस आता है ((CCI> पूर्व-मूल K लाइन का CCI) और कीमत के तनाव थ्रेशोल्ड को फ़िल्टर करता है ((यानी, K लाइन के समापन मूल्य के लिए एक संकेत जारी किया जाता है जो खुले मूल्य से एक निश्चित आयाम से अधिक होना चाहिए - 0.25% पर सेट), सिस्टम बाजार में प्रवेश करता है। जब स्टॉपलॉस या CCI ऊपरी बैंड से ऊपर की कीमत तक पहुंच जाती है, तो स्थिति को बंद कर दिया जाता है।
इस रणनीति का उपयोग उच्च जीत की दर प्राप्त करने के लिए किया जाता है (अधिक से अधिक 50%) ट्रेडों के बजाय प्रवृत्ति को पकड़ने के लिए पूरी लंबाई का पीछा करने के लिए। इसलिए, यह उन व्यापारियों के लिए उपयुक्त है जो संभावित नुकसान को देखते हुए भी परेशान हैं।
CCI सूचकांक और उसके अंतराल को बनाने के लिए ta.sma () और ta.dev () फ़ंक्शन का उपयोग करें।
इनपुट का उपयोग करें ट्रेडिंग शुरू करने के लिए दिनांक का चयन करने के लिए, और एक प्रतिक्रिया विंडो सेट करें।
प्रवेश की शर्तें: सीसीआई के नीचे कम लाइन को पार करना और ऊपर की ओर बढ़ना शुरू करना, और सिग्नल के लाइन को 0.25% की कीमत से अधिक बंद करने की आवश्यकता होती है।
बाहर निकलने की शर्त 1: सीसीआई पर लाइन पर, स्टॉप और आउटफील्ड।
बाहर निकलने की शर्त 2: स्टॉपलॉस लाइन से नीचे, घाटे से बाहर निकलें
सीसीआई सूचकांक की ताकत के अनुसार प्रवेश का समय चुनने के साथ-साथ स्टॉप लॉस कंट्रोल जोखिम का उपयोग करने की रणनीति।
इस रणनीति के निम्नलिखित फायदे हैं:
सीसीआई सूचकांक का उपयोग ओवरबॉय और ओवरसोल की पहचान करने के लिए किया जाता है, ताकि रिवर्स अवसरों को प्रभावी ढंग से पकड़ा जा सके।
केवल कई दिशाओं में, गलत संचालन के बहुत अधिक जोखिम से बचें।
कीमतों के बल पर जांच करें, ताकि यह सुनिश्चित किया जा सके कि प्रवेश के समय कीमतें समर्थन पर हैं।
स्टॉप लॉस मैकेनिज्म एकल हानि को नियंत्रित करता है और धन का प्रभावी प्रबंधन करता है।
फीडबैक पैरामीटर लचीला है और प्रवेश फ़िल्टरिंग शर्तों को समायोजित कर सकता है।
निवेशकों के लिए उपयुक्त है जो धन प्रबंधन पर ध्यान केंद्रित करते हैं।
यह स्पष्ट रूप से रणनीतिक है, और कोड को सरल और समझने में आसान बनाया गया है।
इस रणनीति में कुछ जोखिम भी हैं:
केवल बहु-दिशात्मकता के साथ, नीचे की ओर एक छोटी रेखा को याद करना आसान है।
CCI पैरामीटर को गलत तरीके से सेट करने से विफलता हो सकती है।
स्टॉप लॉस सेटिंग्स बहुत ढीले हैं और नुकसान को प्रभावी ढंग से नियंत्रित नहीं कर सकते हैं।
कई व्यापारियों के लिए, स्टॉप लॉस के माध्यम से तोड़ने से अधिक नुकसान होता है।
उच्च लेनदेन की आवृत्ति से लेनदेन की लागत पर दबाव पड़ता है।
संबंधित जोखिम प्रबंधन उपाय:
CCI मापदंडों को अनुकूलित करें, इष्टतम मान खोजें
स्टॉप लॉस को समायोजित करें, जोखिम और स्टॉप लॉस के टूटने की संभावना के बीच संतुलन ढूंढें।
लेनदेन की लागत को ध्यान में रखते हुए, आवृत्ति को नियंत्रित करें।
ट्रेडों को एकतरफा करने से बचने के लिए प्रवृत्तियों और सीमाओं का आकलन करें।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
गतिशील स्टॉप का उपयोग करें और बाजार में उतार-चढ़ाव के आधार पर स्टॉप दूरी को समायोजित करें।
MACD जैसे सूचकांकों के साथ संयोजन, बहुत ढीले स्टॉप लॉस से बचें।
विक्रय के अवसरों को बढ़ाएं, सीसीआई के गर्म होने पर रिक्तियों पर विचार करें।
लेन-देन की लागत को ध्यान में रखते हुए, न्यूनतम स्टॉप दूरी निर्धारित करें।
ऑप्टिमाइज़ेशन पैरामीटर को रणनीति समय-सीमा के साथ संयोजित करें और सबसे अच्छा संयोजन खोजें।
मशीन सीखने के तरीकों का उपयोग करके पैरामीटर को स्वचालित रूप से अनुकूलित करें।
धन प्रबंधन मॉड्यूल जोड़ें, गतिशील रूप से स्थिति को समायोजित करें।
कुल मिलाकर, यह रणनीति सीसीआई सूचकांक के ओवर-खरीद और ओवर-बिक्री की विशेषता का उपयोग करती है, जब कीमतें समर्थन बनाती हैं, तो अधिक करें, स्टॉप-लॉस नियंत्रण जोखिम के माध्यम से, उच्च जीत की ट्रेडिंग की तलाश करें। रणनीति का लाभ सरल और आसान संचालन में है, जोखिम नियंत्रण में है। कमजोरी यह है कि केवल अधिक करना, स्टॉप-लॉस बहुत स्थिर है। इन समस्याओं को पैरामीटर अनुकूलन, अतिरिक्त बिकवाली, गतिशील स्टॉप-लॉस आदि के माध्यम से सुधार किया जा सकता है। यह रणनीति उन निवेशकों के लिए उपयुक्त है जो उच्च जीत की तलाश करते हैं और धन प्रबंधन पर ध्यान केंद्रित करते हैं।
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title='CCI High Performance long only', overlay=false )
src = input(close)
length = input.int(20, title='Period', minval=1)
lossp = input.float(8, title='Stop Loss percentage', minval=0.5, step=0.5)
scart = input.float(0.25, title='Close of the signal bar higher than Open %', minval = 0)
upperline = input.int(150, title='Upper Band', minval=0, step=10)
lowline = input.int(-150, title='Low Band', maxval=0, step=10)
// construction of CCI (not on close but in totalprice) and of bands
ma = ta.sma(src, length)
cci = (src - ma) / (0.015 * ta.dev(src, length))
plot(cci, 'CCI', color=color.new(#996A15, 0))
band1 = hline(upperline, 'Upper Band', color=#C0C0C0, linestyle=hline.style_dashed)
band0 = hline(lowline, 'Lower Band', color=#C0C0C0, linestyle=hline.style_dashed)
fill(band1, band0, color=color.new(#9C6E1B, 90), title='Background')
// === INPUT BACKTEST RANGE ===
fromMonth = input.int(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromDay = input.int(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromYear = input.int(defval = 2016, title = "From Year", minval = 1970)
thruMonth = input.int(defval = 1, title = "Thru Month", minval = 1, maxval = 12)
thruDay = input.int(defval = 1, title = "Thru Day", minval = 1, maxval = 31)
thruYear = input.int(defval = 2112, title = "Thru Year", minval = 1970)
// === FUNCTION EXAMPLE limit for backtest ===
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
//ENTRY CONDITIONS
// strategy: enter when CCI is under the low line and starts increasing. The filter is that the signal candle should mark a close higher than a x-percent
// (0.25%) of the open
// Exit when either when it reaches the target of a prices highest than high level of CCI or fixed stop loss (in percentage)
scart_level = open * (1+scart/100)
entryl = cci[1] < lowline[1] and cci > cci[1] and close > scart_level and window()
exit1 = cci> upperline
strategy.entry('Long', strategy.long, when=entryl)
strategy.close('Long', when=exit1, comment='target')
// money management (only stop loss)
losspel = strategy.position_avg_price * (1 - lossp / 100)
fixed_stop_long = close < losspel
strategy.close('Long', when=fixed_stop_long, comment='Stop Loss')