आरएसआई संकेतक पर आधारित निफ्टी ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-25 12:23:39
टैगः

img

अवलोकन

यह रणनीति रिलेटिव स्ट्रेंथ इंडेक्स (आरएसआई) संकेतक के आधार पर निफ्टी सूचकांक के व्यापार के लिए एक मात्रात्मक निवेश रणनीति तैयार करती है। यह आरएसआई का उपयोग करके कम खरीद और अधिक रिटर्न के लिए उच्च बिक्री को लागू करने के लिए ओवरबॉट और ओवरसोल्ड अवसरों की पहचान करती है।

रणनीतिक सिद्धांत

रणनीति व्यापार संकेतों के रूप में 2-अवधि आरएसआई सेट करती है। जब आरएसआई 20 से ऊपर जाता है तो यह लंबा हो जाता है, और जब आरएसआई 70 से नीचे जाता है तो स्थिति बंद हो जाती है। यह सूचकांक के अल्पकालिक समायोजन के अवसरों को पकड़ता है।

तर्क यह हैः जब आरएसआई 20 से नीचे होता है, तो यह ओवरसोल्ड स्थिति को इंगित करता है, जिसका अर्थ है कि परिसंपत्ति को कम करके आंका गया है और रिबाउंड आगे है। जब आरएसआई 20 से ऊपर जाता है, तो लंबा हो जाता है। जब आरएसआई 70 से ऊपर होता है, तो यह ओवरबॉट स्थिति को इंगित करता है, जिसका अर्थ है कि परिसंपत्ति अतिरंजित है और कॉलबैक आगे है। जब आरएसआई 70 से नीचे जाता है, तो बंद स्थिति।

लाभ विश्लेषण

संकेतकों के साथ अल्पकालिक ओवरबॉट/ओवरसोल्ड अवसरों की पहचान करने वाली रणनीति के रूप में, मुख्य लाभ हैंः

  1. सिद्धांत सरल और स्पष्ट है, समझने और मान्य करने में आसान है
  2. कुछ संकेतक पैरामीटर, अनुकूलन और समायोजन के लिए आसान
  3. अल्पावधि अधिशेष रिटर्न का पीछा करना, स्केलिंग ट्रेडिंग दर्शन के अनुरूप है
  4. अनुकूलन योग्य व्यापारिक अवधि, विभिन्न अपेक्षाओं के अनुकूल

जोखिम विश्लेषण

इस रणनीति के मुख्य जोखिमों में निम्नलिखित शामिल हैंः

  1. दीर्घकालिक रुझानों को पकड़ने में असमर्थ, बड़े कदमों को याद करने की संभावना
  2. पैरामीटर अनुकूलन पर अत्यधिक निर्भरता, ओवरफिट जोखिम
  3. घाटे को प्रभावी ढंग से नियंत्रित करने के लिए कोई स्टॉप लॉस तंत्र नहीं
  4. लगातार व्यापार रखने की अवधि को प्रभावित करता है, जिससे लेनदेन की लागत बढ़ जाती है

उपरोक्त जोखिमों को नियंत्रित करने के लिए निम्नलिखित पहलुओं में अनुकूलन किया जा सकता हैः

  1. दीर्घकालिक आंदोलनों की पहचान करने के लिए रुझान संकेतकों को शामिल करें
  2. ओवरफिट होने से बचने के लिए वॉक फॉरवर्ड विश्लेषण को अपनाएं
  3. समय पर स्टॉप लॉस के लिए स्टॉप लॉस प्वाइंट सेट करें
  4. व्यापारिक आवृत्ति को नियंत्रित करने के लिए व्यापारिक मापदंडों को उचित रूप से समायोजित करें

अनुकूलन दिशाएँ

रणनीति के अनुकूलन के लिए मुख्य पहलूः

  1. आरएसआई मापदंडों को अनुकूलित करें
  2. अधिकतम ड्रॉडाउन को सीमित करने के लिए स्टॉप लॉस तंत्र जोड़ें
  3. दीर्घकालिक प्रवृत्ति का आकलन करने के लिए चलती औसत आदि शामिल करें
  4. स्थिति आवंटन को अनुकूलित करने के लिए स्थिति आकार मॉड्यूल जोड़ें
  5. पैरामीटर स्वचालित रूप से समायोजित करने के लिए मात्रात्मक कॉपीराइट जोड़ें

निष्कर्ष

यह रणनीति आरएसआई संकेतक के आधार पर एक अल्पकालिक ट्रेडिंग रणनीति डिजाइन करती है, कम खरीद और उच्च बिक्री के लिए ओवरबॉट / ओवरसोल्ड संकेतों को कैप्चर करती है। रणनीति का सरल सिद्धांत है और इसे लागू करना आसान है, लेकिन इसमें एक निश्चित डिग्री का लगातार व्यापार, दीर्घकालिक रुझानों की पहचान करने में असमर्थता आदि है। रणनीति को अधिक स्थिर और विश्वसनीय बनाने के लिए आरएसआई मापदंडों को अनुकूलित करने, स्टॉप लॉस जोड़ने, फैसले की प्रवृत्ति आदि को जोड़ने पर भविष्य में सुधार किया जा सकता है।


/*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)


अधिक