এই কৌশলটি আরও সঠিক প্রবেশ এবং প্রস্থান সংকেত তৈরি করতে মূল্যের অগ্রগতি বাস্তবায়নের জন্য একাধিক আরএসআই সূচক ব্যবহার করে।
কৌশলটি আরএসআই পরামিতিগুলির দুটি গ্রুপ নির্ধারণ করে, একটি 7 এর সময়কাল এবং 25 এর সীমা সহ, অন্যটি 14 এর সময়কাল এবং 25 এর সীমা সহ। যখন দাম আরএসআই সীমা অতিক্রম করে, তখন দীর্ঘ বা সংক্ষিপ্ত অর্ডার কার্যকর করা হয়।
কৌশলটি প্রথমে দুটি আরএসআই সূচকের মান গণনা করে, তারপরে দামটি আরএসআইয়ের উপরের বা নীচের সীমাটি ভেঙেছে কিনা তা বিচার করে। যদি এটি উপরের সীমাটি ভেঙে যায় তবে একটি দীর্ঘ সংকেত উত্পন্ন হয়। যদি এটি নিম্ন সীমাটি ভেঙে যায় তবে একটি সংক্ষিপ্ত সংকেত উত্পন্ন হয়।
যদি ইতিমধ্যে একটি অবস্থান থাকে, তবে এটি বর্তমান আরএসআই স্বাভাবিক পরিসরের মধ্যে রয়েছে কিনা তা বিচার করে চলেছে। যদি আরএসআই স্বাভাবিক হয়ে যায় এবং শরীর চলমান গড়ের অর্ধেকটি ভেঙে দেয়, তবে একটি প্রস্থান সংকেত উত্পন্ন হয়।
এই কৌশলটি মার্টিনগেল সিস্টেম ব্যবহার করে। প্রতিটি ক্ষতির পরে অর্ডার আকার দ্বিগুণ হয়।
দুটি আরএসআই সূচক ব্যবহার করে অগ্রগতি সংকেতগুলি আরও ভালভাবে বিচার করতে পারে এবং মিথ্যা সংকেতগুলি এড়াতে পারে।
এছাড়াও, শারীরিক অগ্রগতি পরীক্ষা করলে একীকরণের সময় ভুল লেনদেন এড়ানো যায়।
মার্টিনগেল ক্ষতির পরে দ্রুত ক্ষতি বন্ধ করতে সাহায্য করে।
কাস্টমাইজযোগ্য আরএসআই প্যারামিটারগুলি প্রবেশের সুযোগগুলিকে অনুকূল করে তোলে।
বড় ইভেন্টের প্রভাব এড়াতে ট্রেডিং সেশন সীমিত করা যেতে পারে।
ডাবল আরএসআই সম্পূর্ণরূপে মিথ্যা অগ্রগতি এড়াতে পারে না।
হারানোর পর মার্টিনগেল পজিশন বাড়ায়, বিস্ফোরণের ঝুঁকি থাকে।
ট্রেডিং খরচ বিবেচনা করা হয় না।
অনেক অপ্টিমাইজযোগ্য পরামিতির জন্য অনেক পরীক্ষার প্রয়োজন হয় সেরা সমন্বয় খুঁজে পেতে।
হ্রাস সীমাবদ্ধ করতে স্টপ লস সেট করতে পারেন; আরএসআই পরামিতিগুলি অনুকূল করুন; ব্যয় বিবেচনা যুক্ত করুন; অগ্রগতি মানদণ্ড শিথিল করুন।
সর্বাধিক ক্ষতি সীমাবদ্ধ করতে স্টপ লস যোগ করুন।
মিথ্যা সংকেত কমাতে RSI পরামিতি অপ্টিমাইজ করুন।
অতিরিক্ত ট্রেডিং এড়াতে ট্রেডিং খরচ প্রভাব বিবেচনা করুন।
আরো সুযোগের জন্য শরীরের অগ্রগতি মানদণ্ড শিথিল করুন।
আরো ফিল্টার যোগ করুন যাতে ধরা না পড়ে।
এই কৌশলটি মূল্যের অগ্রগতি নির্ধারণ করতে দ্বৈত আরএসআই ব্যবহার করে, হুইপস এড়াতে দেহের অগ্রগতি ফিল্টার যুক্ত করে। এটি দ্রুত ক্ষতি কমাতে মার্টিনগেলও ব্যবহার করে। প্যারামিটারগুলি অনুকূল করে এবং আরও নির্ভুল সংকেতগুলির জন্য ফিল্টার যুক্ত করে কৌশলটি উন্নত করা যেতে পারে। ক্ষতি সীমাবদ্ধ করার জন্য ঝুঁকি ব্যবস্থাপনা গুরুত্বপূর্ণ। সামগ্রিকভাবে এই কৌশলটি উচ্চ দক্ষতার ব্যবসায়ের জন্য উপযুক্ত একটি অপেক্ষাকৃত স্থিতিশীল অগ্রগতি সিস্টেম সরবরাহ করে।
/*backtest start: 2023-10-30 00:00:00 end: 2023-11-06 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Fast RSI Strategy v2.0", shorttitle = "Fast RSI str 2.0", overlay = true) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") usemar = input(false, defval = false, title = "Use Martingale") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") usersi1 = input(true, defval = true, title = "Use RSI #1") rsiperiod1 = input(7, defval = 7, minval = 2, maxval = 50, title = "#1 RSI Period") rsilimit1 = input(25, defval = 25, minval = 1, maxval = 100, title = "#1 RSI limit") usersi2 = input(true, defval = true, title = "Use RSI #2") rsiperiod2 = input(14, defval = 14, minval = 2, maxval = 50, title = "#2 RSI Period") rsilimit2 = input(25, defval = 25, minval = 1, maxval = 100, title = "#2 RSI limit") showarr = input(false, defval = false, title = "Show Arrows") fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //RSI #1 uprsi1 = rma(max(change(close), 0), rsiperiod1) dnrsi1 = rma(-min(change(close), 0), rsiperiod1) rsi1 = dnrsi1 == 0 ? 100 : uprsi1 == 0 ? 0 : 100 - (100 / (1 + uprsi1 / dnrsi1)) uplimit1 = 100 - rsilimit1 dnlimit1 = rsilimit1 //RSI #2 uprsi2 = rma(max(change(close), 0), rsiperiod2) dnrsi2 = rma(-min(change(close), 0), rsiperiod2) rsi2 = dnrsi2 == 0 ? 100 : uprsi2 == 0 ? 0 : 100 - (100 / (1 + uprsi2 / dnrsi2)) uplimit2 = 100 - rsilimit2 dnlimit2 = rsilimit2 //Body body = abs(close - open) abody = sma(body, 10) //Signals bar = close > open ? 1 : close < open ? -1 : 0 up1 = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and rsi1 < dnlimit1 and body > abody / 5 and usersi1 dn1 = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and rsi1 > uplimit1 and body > abody / 5 and usersi1 up2 = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and rsi2 < dnlimit2 and body > abody / 5 and usersi2 dn2 = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and rsi2 > uplimit2 and body > abody / 5 and usersi2 norma = rsi1 > dnlimit1 and rsi1 < uplimit1 and rsi2 > dnlimit2 and rsi2 < uplimit2 exit = (((strategy.position_size > 0 and bar == 1 and norma) or (strategy.position_size < 0 and bar == -1 and norma)) and body > abody / 2) //Arrows col = exit ? black : up1 or dn1 ? blue : up2 or dn2 ? red : na needup = up1 or up2 needdn = dn1 or dn2 needexitup = exit and strategy.position_size < 0 needexitdn = exit and strategy.position_size > 0 plotarrow(showarr and needup ? 1 : na, colorup = blue, colordown = blue, transp = 0) plotarrow(showarr and needdn ? -1 : na, colorup = blue, colordown = blue, transp = 0) plotarrow(showarr and needexitup ? 1 : na, colorup = black, colordown = black, transp = 0) plotarrow(showarr and needexitdn ? -1 : na, colorup = black, colordown = black, transp = 0) //Trading profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1] mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1 lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1] if up1 or up2 if strategy.position_size < 0 strategy.close_all() strategy.entry("Long", strategy.long, needlong == false ? 0 : lot) if dn1 or dn2 if strategy.position_size > 0 strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : lot) if exit strategy.close_all()