इस रणनीति का नाम है
इस रणनीति का मुख्य तर्क मूल्य प्रवृत्ति निर्धारित करने के लिए आरएसआई और ज़िगज़ैग दोनों संकेतकों का उपयोग करना है। विशेष रूप से, आरएसआई संकेतक यह तय करता है कि क्या कीमत अधिक खरीदी गई है या अधिक बेची गई है। ज़िगज़ैग संकेतक यह पता लगाता है कि क्या कीमत में महत्वपूर्ण प्रतिशत स्पाइक है। जब दोनों संकेतक एक साथ ट्रेडिंग संकेत देते हैं, तो हम निर्धारित करते हैं कि काउंटर स्थिति के लिए एक प्रवृत्ति उलट है।
आरएसआई संकेतक के लिए, हम ओवरबॉट लाइन को 75 पर और ओवरसोल्ड लाइन को 25 पर सेट करते हैं। जब आरएसआई 25 से नीचे से 25 से ऊपर तक बढ़ता है, तो इसे ओवरसोल्ड से तेजी की ओर पलटाव माना जाता है। जब आरएसआई 75 से ऊपर से 75 से नीचे गिरता है, तो यह तेजी से ओवरसोल्ड की ओर पलटाव का संकेत देता है।
ज़िगज़ैग सूचक के लिए, हम प्रतिशत परिवर्तन में मूल्य स्पाइक सीमा को 1% पर सेट करते हैं। जब मूल्य व्याप्ति में 1% से अधिक स्पाइक करता है, तो ज़िगज़ैग रेखा एक संकेत देगी। प्रवृत्ति निर्णय के साथ संयुक्त, हम प्रवृत्ति उलट पहचान सकते हैं।
जब दोनों संकेतक संकेत देते हैं, यदि पिछला रुझान तेजी है और अब आरएसआई ओवरबॉट है जबकि ज़िगज़ैग कीमत स्पाइक दिखाता है, तो हम निर्धारित करते हैं कि कीमत टॉप कर रही है और शॉर्टिंग पर विचार कर सकती है। इसके विपरीत, यदि पिछला रुझान मंदी है और अब आरएसआई ओवरसोल्ड है जबकि ज़िगज़ैग कीमत स्पाइक दिखाता है, तो हम निर्धारित करते हैं कि कीमत नीचे जा रही है और लंबे समय तक विचार कर सकती है। इस तर्क के माध्यम से, हम प्रवृत्ति का पालन कर सकते हैं।
इस रणनीति का सबसे बड़ा लाभ दो संकेतकों के संयोजन के माध्यम से संकेत की गुणवत्ता में सुधार है। एक एकल संकेतक कई झूठे संकेत देता है। लेकिन यह रणनीति सत्यापन के लिए आरएसआई और ज़िगज़ैग का उपयोग करती है, कई नकली संकेतों को फ़िल्टर करती है और जीत दर में सुधार करती है।
एक और ताकत लचीला पैरामीटर ट्यूनिंग है। सर्वोत्तम परिणामों के लिए विभिन्न बाजार स्थितियों के अनुसार आरएसआई और ज़िगज़ैग पैरामीटर अनुकूलन योग्य हैं। यह रणनीति के लिए महान अनुकूलनशीलता लाता है।
मुख्य जोखिम संकेतकों से गलत संकेत हैं। दोहरे संकेतक सत्यापन के बावजूद, उच्च अस्थिरता के दौरान अभी भी विफलताएं हो सकती हैं जिससे ट्रेडिंग त्रुटियां हो सकती हैं। अनुचित पैरामीटर सेटिंग भी रणनीति प्रदर्शन को प्रभावित करती है।
जोखिम को कम करने के लिए, हम समय पर स्टॉप लॉस के लिए स्थिति धारण अवधि को छोटा कर सकते हैं। बाजार की विशेषताओं के लिए पैरामीटर अनुकूलन भी बहुत महत्वपूर्ण है। असामान्य बाजार की स्थिति का सामना करते समय मैनुअल हस्तक्षेप आवश्यक हो सकता है।
इस रणनीति में निम्नलिखित पहलुओं से सुधार किया जा सकता हैः
सिग्नल को फ़िल्टर करने के लिए संयुक्त निर्णय के लिए केडीजे और एमएसीडी जैसे अधिक संकेतक जोड़ें।
बाजार परिवर्तनों के अनुकूल स्वचालित पैरामीटर अनुकूलन के लिए मशीन लर्निंग एल्गोरिदम पेश करना।
बाजार की अस्थिरता के आधार पर गतिशील सुरक्षा के साथ एक अनुकूलन स्टॉप लॉस तंत्र का निर्माण करें।
रुझान की ताकत के आधार पर स्थिति आकार को अनुकूलित करें।
असामान्य बाजारों में स्वचालित रूप से स्विच करने के लिए वैकल्पिक रणनीतियाँ स्थापित करें।
संक्षेप में, यह एक विशिष्ट प्रवृत्ति के बाद की रणनीति है। मूल विचार आरएसआई और ज़िगज़ैग संकेतकों के संयोजन का उपयोग करके प्रवृत्ति उलट को पहचानना है। लाभ दोहरे संकेतक निस्पंदन के माध्यम से बेहतर संकेत गुणवत्ता में निहित है। संकेतक विफलता के जोखिमों पर पूरी तरह से विचार करने की आवश्यकता है, और पैरामीटर ट्यूनिंग, स्टॉप लॉस अनुकूलन, स्थिति आकार आदि के माध्यम से रणनीति में लगातार सुधार किया जाना चाहिए। कुल मिलाकर यह क्रिप्टो बाजार के लिए एक प्रभावी प्रवृत्ति ट्रैकिंग समाधान प्रदान करता है।
/*backtest start: 2024-01-22 00:00:00 end: 2024-02-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © SoftKill21 //@version=4 strategy("Crypto ZigZag RSI strategy 15min",overlay=true) length =input(5, title="RSI Length") overSold = input(25) overBought= input(75) p =close vrsi = rsi(p, length) var bool long = na var bool short = na long :=crossover(vrsi,overSold) short := crossunder(vrsi,overBought) var float last_open_long = na var float last_open_short = na last_open_long := long ? close : nz(last_open_long[1]) last_open_short := short ? close : nz(last_open_short[1]) entry_value =last_open_long entry_value1=last_open_short // ZZPercent = input(1, title="Minimum % Change", type=input.float) r1Level=entry_value s1Level=entry_value1 trend = 0 trend := na(trend[1]) ? 1 : trend[1] LL = 0.0 LL := na(LL[1]) ? s1Level : LL[1] HH = 0.0 HH := na(HH[1]) ?r1Level : HH[1] Pi = ZZPercent * 0.01 zigzag = float(na) if trend > 0 if r1Level >= HH HH := r1Level HH else if s1Level < HH * (1 - Pi) zigzag :=r1Level[1] trend := -1 LL := s1Level LL else if s1Level <= LL LL := s1Level LL else if r1Level > LL * (1 + Pi) zigzag := s1Level[1] trend := 1 HH := s1Level HH shortc=crossunder(trend,0) longc=crossover(trend,0) longa =input(true) shorta=input(false) if(longa) strategy.entry("long",1,when=longc) strategy.close("long",when=shortc) if(shorta) strategy.entry("short",0,when=shortc) strategy.close("long",when=longc)