আরএসআই ব্রেকআউট কৌশলটি আপেক্ষিক শক্তি সূচক (আরএসআই) সূচকের উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল। কৌশলটি যখন আরএসআই পূর্বনির্ধারিত ওভারকপড এবং ওভারসোল্ড থ্রেশহোল্ড মানগুলি ভেঙে দেয় তখন ট্রেডিং সংকেত তৈরি করে, অর্থাৎ আরএসআই 30 এর নীচে থাকলে দীর্ঘ যান এবং আরএসআই 70 এর উপরে থাকলে শর্ট যান।
আরএসআই ব্রেকআউট কৌশলটির মূল ধারণাটি হ'ল বাজারে ওভারবয়ড এবং ওভারসোল্ড শর্তগুলি নির্ধারণের জন্য আরএসআই সূচকটি ব্যবহার করা। আরএসআই একটি স্টকটির সাম্প্রতিক শক্তি বা দুর্বলতা প্রতিফলিত করার জন্য একটি সময়ের মধ্যে গড় মূল্য লাভ এবং ক্ষতির অনুপাত গণনা করে। সাধারণত, 30 এর নীচে আরএসআইকে ওভারসোল্ড এবং 70 এর উপরে আরএসআইকে ওভারসোল্ড হিসাবে বিবেচনা করা হয়।
কৌশলটি প্রথমে আরএসআইয়ের জন্য ওভারসোল্ড এবং ওভারক্রয়েড থ্রেশহোল্ড মান নির্ধারণ করে, ডিফল্ট মান 30 এবং 70। এটি তারপরে রিয়েল টাইমে আরএসআই লাইন পর্যবেক্ষণ করে। যখন আরএসআই 70 থ্রেশহোল্ডের নীচে উপরে থেকে নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। এটি নির্দেশ করে যে বাজারটি ওভারক্রয়েড জোনে প্রবেশ করেছে এবং সম্ভবত নেমে যাবে, তাই একটি শর্ট পজিশন নেওয়া হয়। বিপরীতভাবে, যখন আরএসআই 30 থ্রেশহোল্ডের উপরে ভেঙে যায়, তখন একটি ক্রয় সংকেত উত্পন্ন হয়, যা নির্দেশ করে যে ওভারসোল্ড বাজারটি সম্ভবত ফিরে আসবে, তাই একটি দীর্ঘ অবস্থান নেওয়া হয়।
এইভাবে, কৌশলটি স্টক ওঠানামা চলাকালীন মূল্য বিপরীত পয়েন্টগুলি ক্যাপচার করার চেষ্টা করে এবং সেই অনুযায়ী অবস্থানগুলিকে
আরএসআই ব্রেকআউট কৌশল নিম্নলিখিত সুবিধাগুলি আছেঃ
সহজ এবং স্পষ্ট ট্রেডিং সংকেত। RSI সূচকটি কেবলমাত্র সূচক লাইনটি প্রান্তিক মানগুলি ভঙ্গ করে কিনা তা পর্যবেক্ষণ করে গণনা এবং ব্যাখ্যা করা সহজ। জটিল নিয়ম ছাড়াই সংকেতগুলি ঘটলে ট্রেডগুলি দ্রুত নেওয়া যেতে পারে।
ভাল ব্যাকটেস্ট ফলাফল সহ সম্পূর্ণ স্বয়ংক্রিয়। ট্রেডগুলি মানুষের হস্তক্ষেপ ছাড়াই আরএসআই সূচক দ্বারা উত্পন্ন হয়। একই সাথে, আরএসআই ওভারকপ এবং ওভারসোল্ড সংকেতগুলি কার্যকর হওয়ার প্রবণতা রয়েছে, যা ব্যাকটেস্টে শালীন কৌশল রিটার্নের দিকে পরিচালিত করে।
অত্যন্ত কাস্টমাইজযোগ্য। ট্রেডাররা বিভিন্ন স্টক এবং বাজারের গতিবিধি অনুসারে ওভারকুপ / ওভারসোল্ড থ্রেশহোল্ডের মতো আরএসআই পরামিতিগুলি নমনীয়ভাবে সামঞ্জস্য করতে পারে।
আরএসআই ব্রেকআউট কৌশল কিছু ঝুঁকি বহন করেঃ
হুইপসাউসের প্রবণতা। সূচক থ্রেশহোল্ড মানগুলির ঘন ক্রসওভার অত্যধিক অকার্যকর ব্যবসায়ের দিকে পরিচালিত করতে পারে, স্থিতিশীল মুনাফা হ্রাস করতে পারে। কিছু হুইপি সংকেতগুলি ফিল্টার করতে প্যারামিটারগুলি সামঞ্জস্য করা যেতে পারে।
কোনও প্রবণতা বিচার নেই। আরএসআই সামগ্রিক প্রবণতা ভালভাবে বিচার না করে কেবলমাত্র ওভারক্রয় / ওভারসোল্ড স্তরের উপর ভিত্তি করে সংকেত উত্পাদন করে। কৌশলটি অস্থির বাজারে আটকে যায়। প্রতি-প্রবণতা ব্যবসায় এড়াতে প্রবণতা ফিল্টার যুক্ত করা যেতে পারে।
উচ্চ ড্রাউনডাউন ঝুঁকি। আরএসআই প্রায়শই উত্থানমুখী বিচ্যুতি প্রদর্শন করে যেখানে দাম বাড়তে থাকে যখন আরএসআই হ্রাসের প্রবণতা বজায় রাখে। এই ক্ষেত্রে শর্ট ট্রেডগুলি বিশাল ক্ষতির মুখোমুখি হবে।
আরএসআই ব্রেকআউট কৌশল নিম্নলিখিত উপায়ে উন্নত করা যেতে পারেঃ
RSI এর সীমাবদ্ধতা অতিক্রম করার জন্য একাধিক সূচক অন্তর্ভুক্ত করুন, উদাহরণস্বরূপ বাজারের প্রবণতা নির্ধারণের জন্য চলমান গড়, শক্তি সূচক এবং ভলিউম ফিল্টারগুলি সংকেতগুলি নিশ্চিত করতে।
উচ্চতর স্থিতিশীলতার জন্য আরএসআই পরামিতিগুলি অনুকূল করুন, অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় থ্রেশহোল্ডগুলি সামঞ্জস্য করা, সংকেত সময়কাল ফিল্টার ইত্যাদি কঠোর পরীক্ষার মাধ্যমে সেট করুন। এটি অকার্যকর সংকেতগুলি ফিল্টার করে।
ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস এবং লাভ গ্রহণ করুন। উদাহরণস্বরূপ, শতাংশ বা পয়েন্ট স্টপ সেট করুন। সামগ্রিক লাভের উপর অতিরিক্ত একক বাণিজ্য ক্ষতি এড়ান। লাভ গ্রহণের জন্য প্রবণতা এবং প্রযুক্তিগত পয়েন্টগুলিও বিবেচনা করুন।
আরএসআই ব্রেকআউট কৌশলটি ওভারকুপ এবং ওভারসোল্ড সংকেতগুলির উপর ভিত্তি করে একটি গড় বিপরীত পরিমাণগত কৌশল। এটিতে সহজ এবং পরিষ্কার সংকেত, সম্পূর্ণ অটোমেশন ক্ষমতা এবং উচ্চ কাস্টমাইজযোগ্যতা রয়েছে তবে হুইপসো এবং ড্রাউনডাউন ঝুঁকি রয়েছে। সূচক কম্বো এবং ঝুঁকি নিয়ন্ত্রণের সাথে অনুকূলিতকরণের মাধ্যমে এটি একটি স্থিতিশীল কৌশলতে সুর করা যেতে পারে।
/*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")