यह रणनीति क्लासिक कमोडिटी चैनल इंडेक्स (CCI) पर आधारित है और केवल लंबे समय तक चलती है। यह उस समय बाजार में प्रवेश करती है जब CCI संकेतक बेहद कम स्तर पर होता है (CCI <-150 या उपयोगकर्ता-परिभाषित सीमा) और ताकत हासिल करता है (यानी CCI> पिछली मोमबत्ती का CCI), खुद कीमतों की
यह रणनीति तब समाप्त होती है जब या तो स्टॉप लॉस ट्रिगर हो जाता है या कीमतें सीसीआई के ऊपरी बैंड से ऊपर उठ जाती हैं।
इसका उद्देश्य एक प्रवृत्ति की पूरी अवधि को पकड़ने के बजाय लाभदायक ट्रेडों का एक उच्च प्रतिशत (50% से अधिक) प्राप्त करना है। इसलिए यह उन लोगों के लिए उपयुक्त है जो संभावित नुकसान को देखने से नफरत करते हैं।
सीसीआई संकेतक और बैंड का निर्माण ta.sma ((() और का उपयोग करta.dev() फलन।
बैकटेस्ट के लिए प्रारंभ तिथि का चयन करने के लिए इनपुट का उपयोग करें.
प्रवेश संकेतः सीसीआई निचले बैंड से नीचे पार करता है और बढ़ना शुरू कर देता है। अतिरिक्त फिल्टर के लिए 0.25% तक बंद > खुला होना आवश्यक है।
बाहर निकलना 1: सीसीआई ऊपरी सीमा से ऊपर उठता है, लाभ लेता है।
बाहर निकलना 2: कीमत स्टॉप लॉस स्तर से नीचे गिर जाती है, घाटे में कटौती करती है।
रणनीति केवल सीसीआई की ताकत पर आधारित है, जोखिम को नियंत्रित करने के लिए रुकती है।
इस रणनीति के निम्नलिखित फायदे हैंः
पुनरावृत्ति पर पूंजीकरण करने के लिए सीसीआई के साथ ओवरबॉट/ओवरसोल्ड की पहचान करें।
केवल लंबी दिशा से ही खराब ट्रेडों से अत्यधिक जोखिम से बचा जा सकता है।
मूल्य शक्ति फ़िल्टर प्रवेश से पहले बने समर्थन को सुनिश्चित करता है।
स्टॉप लॉस तंत्र प्रति व्यापार हानि को सीमित करता है और पूंजी का प्रबंधन करता है।
प्रवेश फिल्टर को समायोजित करने के लिए लचीला बैकटेस्ट पैरामीटर।
उच्च जीत दर जोखिम प्रबंधन पर केंद्रित निवेशकों को सूट करती है।
स्पष्ट तर्क और सरल कार्यान्वयन।
कुछ जोखिम भी हैं:
केवल लंबे समय तक जाने से अल्पकालिक गिरावट की प्रवृत्ति छूट सकती है।
खराब सीसीआई पैरामीटर ट्यूनिंग विफलता का कारण बनता है।
बहुत ढीला स्टॉप लॉस नुकसान को सीमित करने में विफल रहता है।
बढ़ते रुझान के बल पर स्टॉप के माध्यम से धमाके होते हैं जिससे बड़े नुकसान होते हैं।
उच्च व्यापारिक आवृत्ति लेनदेन की लागत को बढ़ाती है।
संभावित समाधान:
सर्वोत्तम मानों को खोजने के लिए सीसीआई मापदंडों का अनुकूलन करें।
जोखिम और फिसलन को संतुलित करने के लिए स्टॉप लॉस को समायोजित करें।
लागत को ध्यान में रखते हुए प्रवेश आवृत्ति का प्रबंधन करें।
ट्रेंड और रेंज फिल्टर के साथ मिलाएं।
रणनीति में सुधार के कुछ तरीके:
बाजार की अस्थिरता के आधार पर गतिशील स्टॉप लागू करें।
स्टॉप बहुत चौड़े होने से बचने के लिए एमएसीडी जैसे फ़िल्टर जोड़ें।
सीसीआई अति ताप होने पर शॉर्ट साइड शामिल करें।
लागतों पर विचार करें, न्यूनतम लाभ लक्ष्य निर्धारित करें।
समय सीमा के लिए मापदंडों का अनुकूलन करें.
स्वचालित पैरामीटर ट्यूनिंग के लिए मशीन लर्निंग।
गतिशील आवंटन के लिए स्थिति आकार जोड़ें.
संक्षेप में, यह लंबी-केवल रणनीति मूल्य शक्ति फ़िल्टर और स्टॉप नुकसान के साथ सीसीआई ओवरबॉट / ओवरसोल्ड स्तरों पर पूंजीकरण करती है। यह आसान कार्यान्वयन, अच्छा जोखिम नियंत्रण और उच्च जीत प्रतिशत प्रदान करती है। लंबी-केवल और निश्चित स्टॉप होने की सीमाओं को पैरामीटर अनुकूलन, लघु प्रविष्टियों, गतिशील स्टॉप आदि के माध्यम से संबोधित किया जा सकता है। यह रणनीति उच्च जीत दर और उचित जोखिम प्रबंधन की तलाश करने वाले निवेशकों के लिए उपयुक्त है।
/*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')