आरएसआई ब्रेकआउट रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है

लेखक:चाओझांग, दिनांक: 2023-12-22 14:06:45
टैगः

img

अवलोकन

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

रणनीति तर्क

आरएसआई ब्रेकआउट रणनीति का मुख्य विचार बाजार में ओवरबॉट और ओवरसोल्ड स्थितियों का निर्धारण करने के लिए आरएसआई संकेतक का उपयोग करना है। आरएसआई एक स्टॉक की हालिया ताकत या कमजोरी को दर्शाने के लिए एक अवधि में औसत मूल्य लाभ और नुकसान के अनुपात की गणना करता है। आम तौर पर, 30 से नीचे आरएसआई को ओवरसोल्ड और 70 से ऊपर आरएसआई को ओवरसोल्ड माना जाता है।

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

इस प्रकार, स्टॉक में उतार-चढ़ाव के दौरान मूल्य पलटने के बिंदुओं को पकड़ने और कम खरीदें और उच्च बेचें के अनुरूप पदों को समायोजित करने का प्रयास किया जाता है।

लाभ

आरएसआई ब्रेकआउट रणनीति के निम्नलिखित फायदे हैंः

  1. सरल और स्पष्ट ट्रेडिंग सिग्नल. आरएसआई संकेतक की गणना और व्याख्या करना आसान है केवल यह देखते हुए कि क्या संकेतक रेखा सीमा मानों को तोड़ती है। जटिल नियमों के बिना संकेत होने पर ट्रेडों को तुरंत लिया जा सकता है।

  2. अच्छी बैकटेस्ट के परिणामों के साथ पूरी तरह से स्वचालित। ट्रेड मानव हस्तक्षेप के बिना आरएसआई संकेतक द्वारा उत्पन्न होते हैं। उसी समय, आरएसआई ओवरबॉट और ओवरसोल्ड सिग्नल प्रभावी होते हैं, जिससे बैकटेस्ट में सभ्य रणनीति रिटर्न होता है।

  3. अत्यधिक अनुकूलन योग्य। व्यापारी विभिन्न स्टॉक और बाजार गतिशीलता के अनुरूप ओवरबॉट / ओवरसोल्ड सीमाओं जैसे आरएसआई मापदंडों को लचीले ढंग से समायोजित कर सकते हैं।

जोखिम

आरएसआई ब्रेकआउट रणनीति में कुछ जोखिम भी होते हैंः

  1. Whipsaws के लिए प्रवण। संकेतक सीमा मानों के लगातार क्रॉसओवर से अत्यधिक अप्रभावी ट्रेडों का कारण बन सकता है, जिससे स्थिर मुनाफे में बाधा पड़ सकती है। कुछ whippy संकेतों को फ़िल्टर करने के लिए मापदंडों को समायोजित किया जा सकता है।

  2. कोई प्रवृत्ति निर्णय नहीं। आरएसआई केवल समग्र प्रवृत्ति को अच्छी तरह से न्याय किए बिना ओवरबॉट / ओवरसोल्ड स्तरों के आधार पर संकेत उत्पन्न करता है। रणनीति चंचल बाजारों में फंस जाती है। काउंटर-ट्रेंड ट्रेडों से बचने के लिए प्रवृत्ति फिल्टर जोड़े जा सकते हैं।

  3. उच्च ड्रॉडाउन जोखिम। आरएसआई अक्सर तेजी से विचलन प्रदर्शित करता है जहां कीमत ऊपर की ओर बढ़ती रहती है जबकि आरएसआई नीचे की ओर रुझान रखता है। ऐसे मामलों में शॉर्ट ट्रेडों को भारी नुकसान का सामना करना पड़ेगा।

सुधार के क्षेत्र

आरएसआई ब्रेकआउट रणनीति को निम्नलिखित तरीकों से बढ़ाया जा सकता हैः

  1. आरएसआई की सीमाओं को दूर करने के लिए कई संकेतकों को शामिल करें, उदाहरण के लिए बाजार की प्रवृत्ति निर्धारित करने के लिए चलती औसत, ताकत संकेतकों और संकेतों की पुष्टि करने के लिए वॉल्यूम फिल्टर।

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

  3. जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस और ले लाभ को लागू करें। उदाहरण के लिए, प्रतिशत या बिंदु स्टॉप सेट करें। समग्र लाभ पर ओवरसाइज्ड सिंगल-ट्रेड नुकसान से बचें। लाभ लेने के लिए प्रवृत्ति और तकनीकी बिंदुओं पर भी विचार करें।

निष्कर्ष

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


/*backtest
start: 2023-11-21 00:00:00
end: 2023-12-21 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Bunghole 2021

strategy(title="My New Strategy", initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, currency = 'USD', overlay=true)

//// Stoploss and Take Profit Parameters
// Enable Long Strategy
enable_long_strategy = input(true, title="Enable Long Strategy", group="SL/TP For Long Strategy",inline="1")
long_stoploss_value = input(defval=50, title='Stoploss %', type=input.float, minval=0.1, group="SL/TP For Long Strategy",inline="2")
long_stoploss_percentage = (close * (long_stoploss_value / 100)) / syminfo.mintick
long_takeprofit_value = input(defval=50, title='Take Profit %', type=input.float, minval=0.1, group="SL/TP For Long Strategy",inline="2")
long_takeprofit_percentage = (close * (long_takeprofit_value / 100)) / syminfo.mintick

// Enable Short Strategy
enable_short_strategy = input(true, title="Enable Short Strategy", group="SL/TP For Short Strategy",inline="3")
short_stoploss_value = input(defval=50, title='Stoploss %', type=input.float, minval=0.1, group= "SL/TP For Short Strategy",inline="4")
short_stoploss_percentage = (close * (short_stoploss_value / 100)) / syminfo.mintick
short_takeprofit_value = input(defval=50, title='Take Profit %', type=input.float, minval=0.1, group="SL/TP For Short Strategy",inline="4")
short_takeprofit_percentage = (close * (short_takeprofit_value / 100)) / syminfo.mintick

// Plot Stoploss & Take Profit Levels
long_stoploss_price = strategy.position_avg_price * (1 - long_stoploss_value/100)
long_takeprofit_price = strategy.position_avg_price * (1 + long_takeprofit_value/100)
short_stoploss_price = strategy.position_avg_price * (1 + short_stoploss_value/100)
short_takeprofit_price = strategy.position_avg_price * (1 - short_takeprofit_value/100)
plot(enable_long_strategy and not enable_short_strategy ? long_stoploss_price: na, color=#ff0000, style=plot.style_linebr, linewidth=2, title="Long SL Level")
plot(enable_long_strategy and not enable_short_strategy ? long_takeprofit_price: na, color=#008000, style=plot.style_linebr, linewidth=2, title="Long TP Level")
plot(enable_short_strategy and not enable_long_strategy ? short_stoploss_price: na, color=#ff0000, style=plot.style_linebr, linewidth=2, title="Short SL Level")
plot(enable_short_strategy and not enable_long_strategy ? short_takeprofit_price: na, color=#008000, style=plot.style_linebr, linewidth=2, title="Short TP Level")

// Date Range
start_date = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=31, group="Date Range")
start_month = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12, group="Date Range")
start_year = input(title="Start Year", type=input.integer, defval=1804, minval=1800, maxval=3000, group="Date Range")
end_date = input(title="End Date", type=input.integer, defval=1, minval=1, maxval=3, group="Date Range")
end_month = input(title="End Month", type=input.integer, defval=1, minval=1, maxval=12, group="Date Range")
end_year = input(title="End Year", type=input.integer, defval=2077, minval=1800, maxval=3000, group="Date Range")
in_date_range = (time >= timestamp(syminfo.timezone, start_year, start_month, start_date, 0, 0)) and (time < timestamp(syminfo.timezone, end_year, end_month, end_date, 0, 0))

//// Inputs   **This is where you enter your indicators for your strategy. For example, I added the RSI indicator.**
//RSI
rsi = rsi(close, 14)
rsi_over_sold = rsi < 30
rsi_over_bought = rsi > 70


//// Strategy  **This is where you create your strategy. For example, We have or buy and sell signals.**
// Creating Long and Short Strategy
buy_signal = rsi_over_sold
sell_signal = rsi_over_bought

// Long Strategy
if buy_signal and in_date_range and enable_long_strategy == true
    strategy.entry("Long", true, when=buy_signal, alert_message="Open Long Position")
    strategy.exit("Long  SL/TP", from_entry="Long", loss=long_stoploss_percentage, profit=long_takeprofit_percentage, alert_message="Your Long SL/TP Limit As Been Triggered.")
    strategy.close("Long", when=sell_signal, alert_message="Close Long Position")
    
// Short Strategy
if sell_signal and in_date_range and enable_short_strategy == true
    strategy.entry("Short", false, when = sell_signal, alert_message="Open Short Position")
    strategy.exit("Short SL/TP", from_entry="Short", loss=short_stoploss_percentage, profit=short_takeprofit_percentage, alert_message="Your Short SL/TP Limit As Been Triggered.")
    strategy.close("Short", when=buy_signal, alert_message="Close Short Position")


अधिक