यह रणनीति रिलेटिव स्ट्रेंथ इंडेक्स (आरएसआई) संकेतक के आधार पर निफ्टी सूचकांक के व्यापार के लिए एक मात्रात्मक निवेश रणनीति तैयार करती है। यह आरएसआई का उपयोग करके कम खरीद और अधिक रिटर्न के लिए उच्च बिक्री को लागू करने के लिए ओवरबॉट और ओवरसोल्ड अवसरों की पहचान करती है।
रणनीति व्यापार संकेतों के रूप में 2-अवधि आरएसआई सेट करती है। जब आरएसआई 20 से ऊपर जाता है तो यह लंबा हो जाता है, और जब आरएसआई 70 से नीचे जाता है तो स्थिति बंद हो जाती है। यह सूचकांक के अल्पकालिक समायोजन के अवसरों को पकड़ता है।
तर्क यह हैः जब आरएसआई 20 से नीचे होता है, तो यह ओवरसोल्ड स्थिति को इंगित करता है, जिसका अर्थ है कि परिसंपत्ति को कम करके आंका गया है और रिबाउंड आगे है। जब आरएसआई 20 से ऊपर जाता है, तो लंबा हो जाता है। जब आरएसआई 70 से ऊपर होता है, तो यह ओवरबॉट स्थिति को इंगित करता है, जिसका अर्थ है कि परिसंपत्ति अतिरंजित है और कॉलबैक आगे है। जब आरएसआई 70 से नीचे जाता है, तो बंद स्थिति।
संकेतकों के साथ अल्पकालिक ओवरबॉट/ओवरसोल्ड अवसरों की पहचान करने वाली रणनीति के रूप में, मुख्य लाभ हैंः
इस रणनीति के मुख्य जोखिमों में निम्नलिखित शामिल हैंः
उपरोक्त जोखिमों को नियंत्रित करने के लिए निम्नलिखित पहलुओं में अनुकूलन किया जा सकता हैः
रणनीति के अनुकूलन के लिए मुख्य पहलूः
यह रणनीति आरएसआई संकेतक के आधार पर एक अल्पकालिक ट्रेडिंग रणनीति डिजाइन करती है, कम खरीद और उच्च बिक्री के लिए ओवरबॉट / ओवरसोल्ड संकेतों को कैप्चर करती है। रणनीति का सरल सिद्धांत है और इसे लागू करना आसान है, लेकिन इसमें एक निश्चित डिग्री का लगातार व्यापार, दीर्घकालिक रुझानों की पहचान करने में असमर्थता आदि है। रणनीति को अधिक स्थिर और विश्वसनीय बनाने के लिए आरएसआई मापदंडों को अनुकूलित करने, स्टॉप लॉस जोड़ने, फैसले की प्रवृत्ति आदि को जोड़ने पर भविष्य में सुधार किया जा सकता है।
/*backtest start: 2023-01-18 00:00:00 end: 2024-01-24 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("RSI Strategy", overlay=true,pyramiding = 1000) rsi_period = 2 rsi_lower = 20 rsi_upper = 70 rsi_value = rsi(close, rsi_period) buy_signal = crossover(rsi_value, rsi_lower) sell_signal = crossunder(rsi_value, rsi_upper) current_date1 = input(defval=timestamp("01 Nov 2009 00:00 +0000"), title="stary Time", group="Time Settings") current_date = input(defval=timestamp("01 Nov 2023 00:00 +0000"), title="End Time", group="Time Settings") investment_amount = 100000.0 start_time = input(defval=timestamp("01 Dec 2018 00:00 +0000"), title="Start Time", group="Time Settings") end_time = input(defval=timestamp("30 Nov 2023 00:00 +0000"), title="End Time", group="Time Settings") in_time = time >= start_time and time <= end_time // Variable to track accumulation. var accumulation = 0.0 out_time = time >= end_time if (buy_signal ) strategy.entry("long",strategy.long,qty= 1) accumulation += 1 if (out_time) strategy.close(id="long") plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup) plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown) plot(rsi_value, title="RSI", color=color.blue) hline(rsi_lower, title="Lower Level", color=color.red) plot(strategy.opentrades, style=plot.style_columns, color=#2300a1, title="Profit first entry") plot(strategy.openprofit, style=plot.style_line, color=#147a00, title="Profit first entry") // plot(strategy.position_avg_price, style=plot.style_columns, // color=#ca0303, title="Profit first entry") // log.info(strategy.position_size * strategy.position_avg_price)