
আরএসআই রেভিনিউ ক্রস স্ট্র্যাটেজি হল একটি কৌশল যা ক্রিপ্টোকারেন্সি ট্রেডিংয়ের জন্য প্রয়োগ করা হয়। এই কৌশলটি আরএসআই সূচকের সাথে চলমান গড়কে প্রয়োগ করে এবং আরএসআই এর চলমান গড়ের সাথে ক্রস হওয়ার উপর ভিত্তি করে কেনা এবং বিক্রি করার সংকেত দেয়।
এই কৌশলটি প্রথমে RSI সূচকটি গণনা করে। RSI সূচকটি একটি নির্দিষ্ট সময়ের মধ্যে উত্থান-পতনের উপর ভিত্তি করে, দামের শক্তি এবং দুর্বলতার প্রতিফলন করে। RSI 70 এর চেয়ে বড় হলে এটি একটি ওভার-বই অঞ্চল এবং 30 এর চেয়ে ছোট হলে এটি একটি ওভার-বিক্রয় অঞ্চল।
তারপরে, কৌশলটি আরএসআই সূচকের উপর ভিত্তি করে একটি চলমান গড় প্রয়োগ করে। চলমান গড়গুলি প্রবণতার দিকনির্দেশের জন্য এলোমেলো ওঠানামা ফিল্টার করতে সক্ষম। এখানে 10 চক্রের আরএসআই চলমান গড় সেট করা হয়েছে।
যখন RSI এর উপরে তার চলমান গড় অতিক্রম করে, তখন এটিকে একটি ক্রয় সংকেত হিসাবে বিবেচনা করা হয়; যখন RSI এর নীচে তার চলমান গড় অতিক্রম করে, তখন এটিকে একটি বিক্রয় সংকেত হিসাবে বিবেচনা করা হয়। এই দুটি সংকেত অনুযায়ী লেনদেন করা হয়।
কোডে, প্রথমে length চক্রের জন্য RSI সূচকটি গণনা করুন। তারপরে 10 চক্রের RSI এর চলমান গড় ma গণনা করুন। যখন ma rsi অতিক্রম করে, তখন কিনুন; যখন ma rsi অতিক্রম করে, তখন বিক্রি করুন।
এছাড়াও, কোডটি rsi, ma এবং rsi-ma এর একটি কলামযুক্ত গ্রাফ আঁকেন। rsi = 70, rsi = 30 এর একটি বিভাজক লাইন আঁকেন। এবং ক্রয়-বিক্রয় করার সময়, চার্টটিতে প্রাসঙ্গিক সংকেত তীর চিহ্নিত করা হয়েছে।
ঝুঁকির উপর ভিত্তি করে, আপনি প্যারামিটারগুলি সামঞ্জস্য করতে পারেন, সূচকটির কার্যকারিতা অনুকূল করতে পারেন, যথাযথভাবে পজিশনগুলি সংক্ষিপ্ত করতে পারেন, স্টপ লিন সেট করতে পারেন এবং প্রবণতা বিশ্লেষণের সাথে সংকেতগুলি ফিল্টার করতে পারেন।
RSI সমান্তরাল ক্রস কৌশলটি প্রবণতা সূচক এবং ফিল্টারিং সূচকগুলির সুবিধাগুলি একত্রিত করে, এটি তুলনামূলকভাবে পরিপক্ক এবং নির্ভরযোগ্য। এই কৌশলটির যুক্তিটি সহজেই বোঝা যায়, কোড বাস্তবায়নও সম্পূর্ণ, সামগ্রিকভাবে এটি একটি ভাল ক্রিপ্টোকারেন্সি ট্রেডিং কৌশল। তবে যে কোনও কৌশলটির অপ্টিমাইজেশনের প্রয়োজন রয়েছে, যা ক্রমাগত পরীক্ষা এবং সমন্বয় প্রয়োজন, এবং প্রবণতা বিচারকে সমর্থন করে, যাতে আরও ভাল কৌশল কার্যকর হয়।
/*backtest
start: 2022-10-31 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("RSI w MA Strategy", shorttitle="RSI w MA Strategy", overlay=false, initial_capital=10000, currency='USD',process_orders_on_close=true)
//TIME FRAME AND BACKGROUND CONTROL/////////////////////////////////////////////
testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(01, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
testStopYear = input(2022, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(1, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ?
color.teal : na
//bgcolor(testPeriodBackgroundColor, transp=50)
testPeriod() => true
////////////////////////////////////////////////////////////////////////////////
src = close, len = input(27, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
window = input(10, "RSI MA Window")
ma = sma(rsi,window)
plot(rsi, color=color.orange)
colorr= ma > rsi ? color.red : color.green
plot(ma,color=colorr)
band1 = hline(70)
band0 = hline(30)
fill(band1, band0, color=color.purple, transp=90)
diff = rsi - ma
plot(diff,style= plot.style_columns,transp=50,color = colorr)
plotshape(crossunder(rsi,ma)?rsi:na,title="top",style=shape.triangledown,location=location.absolute,size=size.tiny,color=color.red,transp=0)
plotshape(crossover(rsi,ma)?rsi:na,title="bottom",style=shape.triangleup,location=location.absolute,size=size.tiny,color=color.lime,transp=0)
buySignal = crossover(rsi,ma)
sellSignal = crossunder(rsi,ma)
//TRADE CONTROL/////////////////////////////////////////////////////////////////
if testPeriod()
if buySignal
strategy.close("Short", qty_percent = 100, comment = "Close Short")
strategy.entry("Long", strategy.long, qty=.1)
if sellSignal
strategy.close("Long", qty_percent = 100, comment = "Close Long")
strategy.entry("Short", strategy.short, qty=.1)
////////////////////////////////////////////////////////////////////////////////