
এই কৌশলটি আরএসআই সূচক এবং এর গড়ের সাথে ক্রসপয়েন্টের মাধ্যমে ক্রয়-বিক্রয় নির্ধারণ করে এবং এটি একটি সংক্ষিপ্ত ট্রেডিং কৌশল। এই কৌশলটি আরএসআই সূচকটি তার গড়ের নীচে কেনা এবং তার গড়ের উপরে বিক্রি করা হয়। এটি একটি সাধারণ নিম্ন-বিক্রয়-উচ্চ-বিক্রয় কৌশল।
এটি একটি প্রচলিত ট্রেন্ড রিভার্স কৌশল, যা RSI-এর ওভার-বই ওভার-সেল বৈশিষ্ট্য ব্যবহার করে কেনা-বেচা করার সময় নির্ধারণ করে। এই কৌশলটির নিম্নলিখিত সুবিধাগুলি রয়েছেঃ
সামগ্রিকভাবে, এটি একটি সহজ এবং কার্যকরী শর্ট লাইন ট্রেডিং কৌশল।
এই কৌশলটির কিছু ঝুঁকি রয়েছে যা সম্পর্কে সতর্ক থাকা দরকারঃ
প্যারামিটার অপ্টিমাইজেশান, পরিস্রাবণ শর্তাবলী বৃদ্ধি ইত্যাদির মাধ্যমে এই ঝুঁকিগুলি প্রশমিত করা যেতে পারে।
এই কৌশলটি নিম্নলিখিত মাত্রাগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ
মাল্টি-মেট্রিকাল প্যারেন্টিং, স্টপ লস ম্যানেজমেন্ট এবং প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে কৌশলগত পারফরম্যান্সকে উল্লেখযোগ্যভাবে উন্নত করা যেতে পারে।
এই কৌশলটি সামগ্রিকভাবে একটি খুব আদর্শ এবং ব্যবহারিক সংক্ষিপ্ত ট্রেডিং কৌশল। এটি আরএসআই সূচকের ওভার-বিক্রয় ওভার-বিক্রয় অবস্থা ব্যবহার করে কেনা-বেচা সময় নির্ধারণের জন্য এবং সমান্তরাল ফিল্টার দ্বারা সমর্থিত। কৌশলটির যুক্তিটি সহজ এবং স্পষ্ট, প্যারামিটারগুলি সামঞ্জস্য করার জন্য নমনীয়, বাস্তবায়নের জন্য সহজ। কিছু বাজার ঝুঁকি রয়েছে, তবে এটি প্রবেশের এবং প্রস্থান প্রক্রিয়াটি উন্নত করে এবং প্যারামিটারগুলি অপ্টিমাইজ করে নিয়ন্ত্রণ করা যেতে পারে। যদি আরও প্রযুক্তিগত সূচক এবং ঝুঁকি নিয়ন্ত্রণের উপায়গুলির সাথে মিলিত হয় তবে এই কৌশলটি তুলনামূলকভাবে স্থিতিশীল উপার্জনের সংক্ষিপ্ত কৌশল হতে পারে।
/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
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/
// © I11L
//@version=5
strategy("I11L - Meanreverter 4h", overlay=false, pyramiding=3, default_qty_value=10000, initial_capital=10000, default_qty_type=strategy.cash,process_orders_on_close=false, calc_on_every_tick=false)
frequency = input.int(10)
rsiFrequency = input.int(40)
buyZoneDistance = input.int(5)
avgDownATRSum = input.int(3)
useAbsoluteRSIBarrier = input.bool(true)
barrierLevel = 50//input.int(50)
momentumRSI = ta.rsi(close,rsiFrequency)
momentumRSI_slow = ta.sma(momentumRSI,frequency)
isBuy = momentumRSI < momentumRSI_slow*(1-buyZoneDistance/100) and (strategy.position_avg_price - math.sum(ta.atr(20),avgDownATRSum)*strategy.opentrades > close or strategy.opentrades == 0 ) //and (momentumRSI < barrierLevel or not(useAbsoluteRSIBarrier))
isShort = momentumRSI > momentumRSI_slow*(1+buyZoneDistance/100) and (strategy.position_avg_price - math.sum(ta.atr(20),avgDownATRSum)*strategy.opentrades > close or strategy.opentrades == 0 ) and (momentumRSI > barrierLevel or not(useAbsoluteRSIBarrier))
momentumRSISoftClose = (momentumRSI > momentumRSI_slow) and (momentumRSI > barrierLevel or not(useAbsoluteRSIBarrier))
isClose = momentumRSISoftClose
plot(momentumRSI,color=isClose ? color.red : momentumRSI < momentumRSI_slow*(1-buyZoneDistance/100) ? color.green : color.white)
plot(momentumRSI_slow,color=color.gray)
plot(barrierLevel,color=useAbsoluteRSIBarrier ? color.white : color.rgb(0,0,0,0))
plot(momentumRSI_slow*(1-buyZoneDistance/100),color=color.gray)
plot(momentumRSI_slow*(1+buyZoneDistance/100),color=color.gray)
plot(momentumRSI_slow*(1+(buyZoneDistance*2)/100),color=color.gray)
// plot(strategy.wintrades - strategy.losstrades)
if(isBuy)
strategy.entry("Buy",strategy.long, comment="#"+str.tostring(strategy.opentrades+1))
// if(isShort)
// strategy.entry("Sell",strategy.short, comment="#"+str.tostring(strategy.opentrades+1))
if(isClose)
strategy.exit("Close",limit=close)