দ্রুত RSI সূচক গৌণ যুগান্তকারী কৌশল


সৃষ্টির তারিখ: 2023-11-07 16:56:39 অবশেষে সংশোধন করুন: 2023-11-07 16:56:39
অনুলিপি: 0 ক্লিকের সংখ্যা: 737
1
ফোকাস
1617
অনুসারী

দ্রুত RSI সূচক গৌণ যুগান্তকারী কৌশল

ওভারভিউ

এই কৌশলটি আরএসআই সূচকের প্যারামিটারগুলিকে একাধিকবার সেট করে, দামের একাধিক ব্রেকআউট অর্জন করে, যার ফলে আরও সঠিক প্রবেশ এবং প্রস্থান সংকেত পাওয়া যায়।

কৌশল নীতি

এই কৌশলটি RSI প্যারামিটারগুলির দুটি সেট সেট করে, যথা RSI চক্রটি 7 এর RSI সূচক এবং RSI চক্রটি 14 এর 25 এর RSI সূচক। যখন দামটি RSI এর যে কোনও সেটের সীমা অতিক্রম করে তখন একটি ওভার বা ডাউন অপারেশন করা হয়।

কৌশলটি প্রথমে দুটি সেট আরএসআই সূচকের মান গণনা করে এবং তারপরে সিদ্ধান্ত নেয় যে দামটি আরএসআইয়ের উপরের বা নীচের সীমাটি অতিক্রম করেছে কিনা। যদি এটি উপরের সীমাটি অতিক্রম করে তবে এটি একটি মাল্টি-সিগন্যাল উত্পন্ন করে এবং যদি এটি নীচের সীমাটি অতিক্রম করে তবে এটি একটি শূন্য সংকেত উত্পন্ন করে।

আপনি যদি ইতিমধ্যে একটি অবস্থান ধরে থাকেন, তাহলে আপনি বিচার করতে থাকবেন যে বর্তমান RSI স্বাভাবিক পরিসরের মধ্যে আছে কিনা। RSI যদি স্বাভাবিক হয় এবং একই সময়ে একটি সত্তা গড়ের অর্ধেক অতিক্রম করে তবে একটি প্রস্থান সংকেত তৈরি হয়।

এই কৌশলটি মার্টিনগেল পজিশনিং সিস্টেম ব্যবহার করে। প্রতিবার ক্ষতির পরে, পরেরবারের পরিমাণ দ্বিগুণ হয়।

সামর্থ্য বিশ্লেষণ

  • RSI সূচকগুলির দুটি সেট ব্যবহার করে, একটি ব্রেকিং সংকেত আরও সঠিকভাবে বিচার করা যেতে পারে এবং মিথ্যা ব্রেকিং এড়ানো যায়।

  • একই সময়ে, ভৌত লঙ্ঘন পরীক্ষা করুন এবং ঝড়ের সময় ভুল লেনদেন এড়ান।

  • মার্টিনগেল পজিশনিং ব্যবহার করে, আপনি ক্ষতির পরে দ্রুত ক্ষতি বন্ধ করতে পারেন।

  • কাস্টমাইজযোগ্য RSI প্যারামিটার প্যাকেজ, প্রবেশের সুযোগকে অপ্টিমাইজ করা।

  • বড় ধরনের ঘটনার প্রভাব এড়ানোর জন্য লেনদেনের সময়সীমা সীমিত করা যেতে পারে।

ঝুঁকি বিশ্লেষণ

  • ডাবল আরএসআই সূচকগুলি সম্পূর্ণরূপে মিথ্যা ব্রেকিং এড়াতে পারে না।

  • মার্টিনগেল যখন ক্ষতিগ্রস্ত হয় তখন তার অবস্থান বাড়িয়ে দেয়, যার ফলে সে খুব সহজেই পজিশন খোলার সুযোগ পায়।

  • অনেক প্যারামিটার অপ্টিমাইজ করা যায়, যার জন্য অনেক টেস্টিং প্রয়োজন।

স্টপ লস সেট করা যেতে পারে ক্ষতি সীমাবদ্ধ করার জন্য; RSI প্যারামিটার প্যাকেজ অপ্টিমাইজ করুন; খরচ বিবেচনা যোগ করুন; ব্রেকথ্রু বিচার যথাযথভাবে শিথিল করুন।

কৌশল অপ্টিমাইজেশনের দিকনির্দেশনা

  • স্টপ লস ম্যানেজমেন্টে যোগদানের মাধ্যমে, আপনি সর্বোচ্চ ক্ষতির পরিমাণ সীমিত করতে পারবেন।

  • 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()