इस रणनीति का मुख्य विचार खरीदने और बेचने के समय का विश्लेषण करने के लिए LazyBear
इस रणनीति में बोलिंगर बैंड और केल्टनर चैनल शामिल हैं, ताकि रुझानों और निचोड़ क्षेत्रों की पहचान की जा सके। विशेष रूप से, यह 20-अवधि बोलिंगर बैंड और 20-अवधि केल्टनर चैनलों की गणना करता है। जब बोलिंगर बैंड पूरी तरह से केल्टनर चैनलों के भीतर आते हैं, तो इसे एक निचोड़ संकेत के रूप में देखा जाता है। जब बोलिंगर बैंड का निचला बैंड केल्टनर चैनलों के निचले बैंड से ऊपर जाता है और बोलिंगर बैंड का ऊपरी बैंड केल्टनर चैनलों के ऊपरी बैंड से नीचे जाता है, तो निचोड़ क्षेत्र की पहचान की जाती है। इसके विपरीत, जब बोलिंगर बैंड का निचला बैंड केल्टनर चैनलों के निचले बैंड से नीचे आता है और बोलिंगर बैंड का ऊपरी बैंड केल्टनर चैनलों के ऊपरी बैंड से ऊपर उठता है, तो यह एक गैर-सामग्री क्षेत्र है।
इसके अलावा, रणनीति गतिशीलता ढलान में परिवर्तन का विश्लेषण करने के लिए रैखिक प्रतिगमन का उपयोग करती है। यह पिछले 20 अवधियों में मूल्य के रैखिक प्रतिगमन मूल्य की गणना करता है, जिसमें सामान्य मूल्य को घटा दिया जाता है। जब रैखिक प्रतिगमन मूल्य की ढलान सकारात्मक होती है, तो इसे एक ऊपर की प्रवृत्ति के रूप में देखा जाता है। जब ढलान नकारात्मक होती है, तो यह एक नीचे की प्रवृत्ति है। निचोड़ क्षेत्र के भीतर, यदि गतिशीलता ढलान में उलट है, तो यह एक खरीद या बिक्री का संकेत देता है। विशेष रूप से, जब निचोड़ क्षेत्र के भीतर, एक गति सकारात्मक से नकारात्मक में फ्लिप एक बिक्री संकेत जारी करता है। और जब निचोड़ क्षेत्र के भीतर, एक गति नकारात्मक से सकारात्मक में फ्लिप एक खरीद संकेत जारी करता है।
झूठे संकेतों को फ़िल्टर करने के लिए, रणनीति यह भी आंकती है कि क्या समापन मूल्य 50 दिन के घातीय चलती औसत से ऊपर है और यदि 50 दिन का घातीय चलती औसत ऊपर की ओर ढलान में है। केवल जब दोनों शर्तें पूरी हो जाती हैं तो खरीद संकेत निष्पादित किया जाएगा।
यह एक बहुत ही चतुर रणनीति है, दो अलग-अलग प्रकार के संकेतकों का उपयोग करके बाजार का बहुआयामी न्याय किया जा सकता है, जिससे गलत संकेतों से प्रभावी ढंग से बचा जा सकता है। विशेष रूप से इसके फायदे हैंः
बहुआयामी विश्लेषण और बेहतर सटीकता के लिए बोलिंगर बैंड, केल्टनर चैनल और गति संकेतक का व्यापक अनुप्रयोग।
निचोड़ क्षेत्र गति के उलटों के शिखरों और घाटों की प्रभावी ढंग से पहचान कर सकते हैं और मोड़ को सटीक रूप से पकड़ सकते हैं।
समापन मूल्य और 50 दिनों के ईएमए के आधार पर प्रवृत्ति फ़िल्टरिंग समेकन के दौरान पदों के दोहराए जाने से बचती है।
केवल निचोड़ क्षेत्रों के दौरान उत्सर्जित संकेत झूठे संकेतों को कम करते हैं और लाभप्रदता दर में सुधार करते हैं।
बड़े पैरामीटर अनुकूलन स्थान समायोजन अवधि आदि के माध्यम से लक्षित अनुकूलन की अनुमति देता है।
लंबी और छोटी अवधि को मिलाकर, बड़े चक्र के रुझानों को ध्यान में रखते हुए और मध्यम अवधि के संकेतकों को एकीकृत करते हुए, लंबी दिशा स्पष्ट है।
यद्यपि इस रणनीति में कई गैर-कृषि तकनीकी संकेतक हैं, फिर भी कुछ जोखिम हैंः
जब बोलिंगर बैंड और केल्टनर चैनल अलग होते हैं तो खरीद/बिक्री के अवसरों को खोना।
बाजार में जबरदस्त उछाल या गिरावट के दौरान बड़े नुकसान हो सकते हैं।
उच्च अस्थिरता वाले बाजारों में, निचोड़ की स्थिति स्पष्ट नहीं हो सकती है, जिसके परिणामस्वरूप कम संकेत होते हैं।
बुल-बियर संक्रमण के दौरान समायोजन घाटे के लिए प्रवण।
इन जोखिमों से बचने के लिए हम निम्नलिखित उपाय कर सकते हैंः
बोलिंगर बैंड और केल्टनर चैनलों को यथासंभव सिंक्रनाइज़ करने के लिए मापदंडों को अनुकूलित करें।
एकल हानि को नियंत्रित करने के लिए स्टॉप हानि सेट करें.
पोर्टफोलियो रणनीति के हिस्से के रूप में इस रणनीति का उपयोग करें, अन्य रणनीतियों के साथ संयुक्त।
उच्च अस्थिरता वाले बाजारों के दौरान स्थिति को उचित रूप से कम करें।
इस रणनीति के अनुकूलन के लिए अभी भी काफी जगह है, मुख्य रूप से निम्नलिखित दिशाओं मेंः
बोलिंगर बैंड और केल्टनर चैनलों की अवधि का अधिकतम अनुकूलन करना ताकि उन्हें यथासंभव समन्वित किया जा सके।
इष्टतम पैरामीटर संयोजन खोजने के लिए विभिन्न गुणक कारकों का परीक्षण करें।
पुष्टि के लिए अन्य संकेतक जैसे आरएसआई आदि को पेश करने का प्रयास करें।
वेन हुआ पांच रंग लाइन मॉडल के आधार पर, बाजार के चरणों के आधार पर इस रणनीति का चयनपूर्वक उपयोग करें।
गतिशील रूप से मापदंडों को अनुकूलित करने के लिए मशीन लर्निंग आदि को अपनाएं।
सबसे उपयुक्त व्यापारिक उत्पादों को खोजने के लिए विभिन्न सिक्कों पर बैकटेस्ट करें।
लंबी अवधि (दैनिक, साप्ताहिक आदि) में इस रणनीति की प्रभावशीलता का पता लगाएं।
LazyBear Squeeze Momentum Strategy व्यापक रूप से विभिन्न तकनीकी संकेतकों का उपयोग करता है, संपीड़न क्षेत्रों के दौरान व्यापार के लिए गति के उलट को सटीक रूप से पहचानता है, गैर-ट्रेंडिंग बाजारों के दौरान पदों के दोहराए जाने से बचता है। इसमें व्यवस्थित रूप से मात्रात्मक रूप से परिभाषित खरीद और बिक्री नियम हैं, बैकटेस्ट में उत्कृष्ट प्रदर्शन करते हैं। पैरामीटर सेटिंग्स को अनुकूलित करने, नए निर्णय संकेतकों आदि की शुरुआत के माध्यम से, इस रणनीति में सुधार के लिए बड़ी जगह है और मात्रा व्यापारियों द्वारा गहन शोध और अनुप्रयोग के लायक है।
/*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=4 // // @author LazyBear // List of all my indicators: https://www.tradingview.com/v/4IneGo8h/ // initialBalance = 8000 strategy("Crypto momentum strategy", overlay=false) length = input(20, title="BB Length") mult = input(2.0, title="BB MultFactor") lengthKC = input(20, title="KC Length") multKC = input(1.5, title="KC MultFactor") useTrueRange = input(true, title="Use TrueRange (KC)", type=input.bool) // Calculate BB source = close basis = sma(source, length) ema = ema(source, 50) dev = multKC * stdev(source, length) upperBB = basis + dev lowerBB = basis - dev // Calculate KC ma = sma(source, lengthKC) range = useTrueRange ? tr : high - low rangema = sma(range, lengthKC) upperKC = ma + rangema * multKC lowerKC = ma - rangema * multKC sqzOn = lowerBB > lowerKC and upperBB < upperKC sqzOff = lowerBB < lowerKC and upperBB > upperKC noSqz = sqzOn == false and sqzOff == false val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)), sma(close, lengthKC)), lengthKC, 0) slope = (val - val[2]) emaSlope = (ema - ema[1]) bcolor = iff(slope > 0, color.lime, color.red) scolor = noSqz ? color.green : sqzOn ? color.black : color.green squeeze = (noSqz ? 0 : sqzOn ? 1 : 0) plot(val, color=color.gray, style=plot.style_line, linewidth=1, title="momentum") plot(slope, color=bcolor, style=plot.style_circles, linewidth=2, title="slope") plot(0, color=scolor, style=plot.style_line, linewidth=2, title="squeeze-zero") co = crossover(slope / abs(slope), 0) cu = crossunder(slope / abs(slope), 0) if co and source > ema and emaSlope > 0 strategy.entry("long", strategy.long, comment="long") if cu strategy.close("long")