
এই কৌশলটির নাম হল RSI-ভিত্তিক ডাবল-রেল ব্রেকিং কৌশল। এই কৌশলটি RSI-এর ডাবল-রেলের সমন্বয় ব্যবহার করে সিদ্ধান্ত নেওয়ার জন্য এবং নিম্ন-বিক্রয়-উচ্চ-বিক্রয় লক্ষ্য অর্জনের জন্য। যখন RSI সূচকটি সেট করা নিম্ন-রেলের নিচে থাকে (ডিফল্ট 40) তখন এটি একটি ক্রয় সংকেত হিসাবে বিবেচনা করা হয়, আর RSI10 যদি RSI14 এর চেয়ে কম হয় তবে এটি আরও নিশ্চিত করা হয়। যখন RSI সূচকটি সেট করা উচ্চ-রেলের উপরে থাকে (ডিফল্ট 70) তখন এটি বিক্রয় সংকেত হিসাবে বিবেচিত হয়, আর RSI10 যদি RSI14 এর চেয়ে বেশি হয় তবে এটি আরও নিশ্চিত করা হয়। এই কৌশলটি একই সাথে একটি সরানো ক্ষতি এবং স্টপ-অফ-অপ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ-অফ
এই কৌশলটির মূল যুক্তিটি হল RSI সূচকের দ্বৈত রেল ব্যবহার করে বিচার করা। RSI সূচকটি সাধারণত 14 টি চক্রের জন্য সেট করা হয়, যা প্রায় 14 দিনের জন্য স্টকগুলির দুর্বলতার প্রতিনিধিত্ব করে। এই কৌশলটি RSI10 কে একটি সহায়ক বিচার সূচক হিসাবে যুক্ত করেছে।
যখন RSI 14 40 এর ট্র্যাকটি ভেঙে দেয়, তখন শেয়ারের দাম দুর্বলতার দিকে পড়ে, সমর্থন পুনরুদ্ধারের সুযোগ তৈরি হতে পারে বলে মনে করা হয়। এই সময়ে যদি RSI 10 RSI 14 এর চেয়ে কম হয়, তবে স্বল্পমেয়াদী প্রবণতা এখনও নেমে গেছে, এটি একটি পতনশীল সংকেতকে আরও নিশ্চিত করতে পারে। সুতরাং যখন RSI 14 <= 40 এবং RSI 10 < RSI 14 হয় তখন একটি ক্রয় সংকেত তৈরি হয়।
আরএসআই ১৪ ৭০-এর ট্রেইল ভেঙে যখন শেয়ারের দাম স্বল্প-মেয়াদী শক্তিশালী অঞ্চলে প্রবেশ করে, তখন পিছনে ফিরে যাওয়ার সুযোগ হতে পারে। এই সময়ে যদি আরএসআই ১০ আরএসআই ১৪ এর চেয়ে বড় হয়, তবে স্বল্পমেয়াদী প্রবণতা অব্যাহত থাকে, তাই একটি bullish সংকেত আরও নিশ্চিত করা যেতে পারে। সুতরাং যখন আরএসআই ১৪ > = 70 এবং আরএসআই ১০ > আরএসআই ১৪ এর নীচে থাকে তখন একটি বিক্রয় সংকেত তৈরি হয়।
এইভাবে, RSI14 এবং RSI10 এর সমন্বিত বিচারটি দ্বৈত রেল কৌশলটির কেন্দ্রীয় যুক্তি গঠন করে।
এই কৌশলটি যথাযথভাবে ব্যবহার করার জন্য, RSI প্যারামিটারগুলি যথাযথভাবে সামঞ্জস্য করা যেতে পারে, স্টপ লস অবস্থানগুলি কঠোরভাবে নিয়ন্ত্রণ করা যেতে পারে, খুব ঘন ঘন অপারেশন এড়ানো যেতে পারে এবং স্থিতিশীল এবং দীর্ঘস্থায়ী লাভজনকতার জন্য প্রচেষ্টা করা যেতে পারে।
এই কৌশলটি আরএসআইয়ের দ্বৈত রেলের উপর ভিত্তি করে বিচার করা হয়, কিছু পরিমাণে কিছু গোলমাল সংকেত ফিল্টার করে। তবে কোনও একক সূচক কৌশল নিখুঁত হতে পারে না, আরএসআই সূচকগুলি বিভ্রান্তিকর হতে পারে, সতর্কতার সাথে দেখা উচিত। এই কৌশলটিতে ঝুঁকি নিয়ন্ত্রণের জন্য একটি মোবাইল স্টপ এবং স্টপ-আপ ব্যবস্থা অন্তর্ভুক্ত করা হয়েছে, যা অত্যন্ত প্রয়োজনীয়। ভবিষ্যতে আরও অপ্টিমাইজ করা যেতে পারে, যাতে কৌশল প্যারামিটার এবং স্টপ-আপ পদ্ধতি আরও স্মার্ট এবং গতিশীল হয়।
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-07 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © DojiEmoji
//@version=4
strategy("[KL] RSI 14 + 10 Strategy",overlay=true)
backtest_timeframe_start = input(defval = timestamp("01 Jan 2015 13:30 +0000"), title = "Backtest Start Time", type = input.time)
//backtest_timeframe_end = input(defval = timestamp("19 Mar 2021 19:30 +0000"), title = "Backtest End Time", type = input.time)
TARGET_PROFIT_MODE = input(false,title="Exit when Risk:Reward met")
REWARD_RATIO = input(3,title="Risk:[Reward] (i.e. 3) for exit")
// Trailing stop loss {
TSL_ON = input(true,title="Use trailing stop loss")
var entry_price = float(0)
ATR_multi_len = 26
ATR_multi = input(2, "ATR multiplier for stop loss")
ATR_buffer = atr(ATR_multi_len) * ATR_multi
plotchar(ATR_buffer, "ATR Buffer", "", location = location.top)
risk_reward_buffer = (atr(ATR_multi_len) * ATR_multi) * REWARD_RATIO
take_profit_long = low > entry_price + risk_reward_buffer
take_profit_short = low < entry_price - risk_reward_buffer
var bar_count = 0 //number of bars since entry
var trailing_SL_buffer = float(0)
var stop_loss_price = float(0)
stop_loss_price := max(stop_loss_price, close - trailing_SL_buffer)
// plot TSL line
trail_profit_line_color = color.green
showLine = strategy.position_size == 0
if showLine
trail_profit_line_color := color.black
stop_loss_price := close - trailing_SL_buffer
plot(stop_loss_price,color=trail_profit_line_color)
// }
// RSI
RSI_LOW = input(40,title="RSI entry")
RSI_HIGH = input(70,title="RSI exit")
rsi14 = rsi(close, 14)
rsi10 = rsi(close, 10)
if true// and time <= backtest_timeframe_end
buy_condition = rsi14 <= RSI_LOW and rsi10 < rsi14
exit_condition = rsi14 >= RSI_HIGH and rsi10 > rsi14
//ENTRY:
if strategy.position_size == 0 and buy_condition
entry_price := close
trailing_SL_buffer := ATR_buffer
stop_loss_price := close - ATR_buffer
strategy.entry("Long",strategy.long, comment="buy")
bar_count := 0
else if strategy.position_size > 0
bar_count := bar_count + 1
//EXIT:
// Case (A) hits trailing stop
if TSL_ON and strategy.position_size > 0 and close <= stop_loss_price
if close > entry_price
strategy.close("Long", comment="take profit [trailing]")
stop_loss_price := 0
else if close <= entry_price and bar_count
strategy.close("Long", comment="stop loss")
stop_loss_price := 0
bar_count := 0
// Case (B) take targeted profit relative to risk
if strategy.position_size > 0 and TARGET_PROFIT_MODE
if take_profit_long
strategy.close("Long", comment="take profits [risk:reward]")
stop_loss_price := 0
bar_count := 0
// Case (C)
if strategy.position_size > 0 and exit_condition
if take_profit_long
strategy.close("Long", comment="exit[rsi]")
stop_loss_price := 0
bar_count := 0