यह रणनीति मुख्य रूप से बाजार में ओवरबॉट और ओवरसोल्ड स्थितियों को निर्धारित करने के लिए रिलेटिव स्ट्रेंथ इंडेक्स (आरएसआई) का उपयोग करती है, जो एक प्रवृत्ति फ़िल्टर के रूप में 200-दिवसीय सरल चलती औसत (एसएमए) से ऊपर की कीमत के साथ संयुक्त है, यह तय करने के लिए कि व्यापार में प्रवेश करना है या नहीं। यह रणनीति तीन आरएसआई संकेतकों के माध्यम से प्रवेश स्थितियों का निर्माण करती है। केवल जब अल्पकालिक आरएसआई 35 से नीचे है और लगातार तीन अवधि के लिए एक गिरावट का रुझान दिखाता है, जबकि तीसरी अवधि आरएसआई 60 से नीचे है, और वर्तमान समापन मूल्य 200-दिवसीय एसएमए से ऊपर है, तो यह लंबा होगा। निकास की स्थिति यह है कि जब आरएसआई 50 से ऊपर पार करता है।
यह रणनीति एक ट्रिपल आरएसआई के माध्यम से प्रवेश स्थितियों का निर्माण करती है, जो एक प्रवृत्ति फ़िल्टर के रूप में दीर्घकालिक चलती औसत से ऊपर की कीमत के साथ संयुक्त है, ताकि ओवरसोल्ड रिवर्सल सेटअप को कैप्चर किया जा सके। रणनीति तर्क सरल और स्पष्ट है, लागू करने और अनुकूलित करने में आसान है। हालांकि, रणनीति में जोखिम और कमियां भी हैं जैसे कि सिग्नल लेग, कम ट्रेडिंग आवृत्ति, और केवल एकतरफा बाजार की चाल को कैप्चर करने में सक्षम है। इसे वास्तविक अनुप्रयोग में निरंतर डिबगिंग और सुधार की आवश्यकता है। स्टॉप लॉस और लाभ लेने, स्थिति प्रबंधन की शुरुआत करके, अन्य संकेतकों और अन्य तरीकों के साथ संयोजन करके, रणनीति की स्थिरता और लाभप्रदता में और सुधार किया जा सकता है।
/*backtest start: 2023-05-15 00:00:00 end: 2024-05-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //@author Honestcowboy // strategy("Triple RSI [Honestcowboy]" ) // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> // ---------> User Inputs <----------- >> // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> rsiLengthInput = input.int(5, minval=1, title="RSI Length", group="RSI Settings") rsiSourceInput = input.source(close, "Source", group="RSI Settings") // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> // ---------> VARIABLE CALCULATIONS <----------- >> // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput) down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> // ---------> CONDITIONALS <----------- >> // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> rule1 = rsi<35 rule2 = rsi<rsi[1] and rsi[1]<rsi[2] and rsi[2]<rsi[3] rule3 = rsi[3]<60 rule4 = close>ta.sma(close, 200) longCondition = rule1 and rule2 and rule3 and rule4 closeCondition = rsi>50 // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> // ---------> GRAPHICAL DISPLAY <----------- >> // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> hline(30, title="Long Condition Line") hline(50, title="Exit Condition Line") plot(rsi) plotshape(longCondition ? rsi-3 : na, title="Long Condition", style=shape.triangleup, color=color.lime, location=location.absolute) plotshape(closeCondition and rsi[1]<50? rsi+3 : na, title="Exit Condition", style=shape.triangledown, color=#e60000, location=location.absolute) // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> // ---------> AUTOMATION AND BACKTESTING <----------- >> // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> if longCondition and strategy.position_size==0 strategy.entry("LONG", strategy.long) if closeCondition strategy.close("LONG")