দ্রুত আরএসআই ঝুঁকি নিয়ন্ত্রণ যৌগিক ফিউচার ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৩-১১-১৩ ১১ঃ৩৬ঃ৩৪
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি স্পট ট্রেডিং প্ল্যাটফর্ম বিটমেক্সের জন্য ডিজাইন করা হয়েছে। দ্রুত আরএসআই সূচক বিশ্লেষণ করে এবং একাধিক প্রযুক্তিগত সূচককে স্ক্রিন সংকেতগুলির সাথে একত্রিত করে এটি দক্ষ প্রবণতা ট্র্যাকিং ট্রেডিং উপলব্ধি করে। কৌশলটি কার্যকরভাবে ট্রেডিং ঝুঁকি নিয়ন্ত্রণের জন্য ঝুঁকি ব্যবস্থাপনা এবং স্টপ লস প্রক্রিয়াগুলিও সেট করে।

কৌশলগত যুক্তি

  1. 7 দিনের প্যারামিটার এবং ওভারবয়ড লাইন 25, ওভারসোল্ড লাইন 75 এর সাথে দ্রুত আরএসআই গণনা করুন। যখন আরএসআই ওভারবয়ড লাইনের উপরে অতিক্রম করে, এটি একটি ওভারবয়ড সংকেত। যখন আরএসআই ওভারসোল্ড লাইনের নীচে অতিক্রম করে, এটি একটি ওভারসোল্ড সংকেত।

  2. ক্যান্ডেলস্টিকের শরীরে ফিল্টার সেট করুন। ক্যান্ডেলস্টিকের দৈর্ঘ্য গতকালের গড় দৈর্ঘ্যের কমপক্ষে ২০% না হলে ক্যান্ডেলস্টিকের দৈর্ঘ্য কমপক্ষে ২০% হওয়া উচিত।

  3. মোমবাতি রঙের উপর ফিল্টার সেট করুন। শর্ট যাওয়ার সময় শেষ 4টি মোমবাতিকে হ্রাসের মতো এবং দীর্ঘ যাওয়ার সময় শেষ 4টি মোমবাতিকে উত্থানের মতো প্রয়োজন।

  4. স্টপ লস লজিক সেট করুন। যখন মূল্য অনুপযুক্ত দিকে চলে তখন অবস্থান বন্ধ করুন।

  5. অ্যান্টি-ভিপস মেকানিজম সেট করুন। শুধুমাত্র যখন মূল্য পুনরুদ্ধার করা হয় তখনই সিগন্যাল গ্রহণ করুন প্রাথমিক পদক্ষেপের পরে হ্রাস স্তর বন্ধ করতে।

  6. পজিশনের আকার নির্ধারণ করুন, প্রতিটি ট্রেডের জন্য মূলধনের নির্দিষ্ট শতাংশ ব্যবহার করুন এবং প্রতিটি ক্ষতির পরে পজিশনের আকার দ্বিগুণ করুন।

সুবিধা বিশ্লেষণ

  1. দ্রুত আরএসআই পরামিতিগুলি যুক্তিসঙ্গতভাবে সেট করা দ্রুত প্রবণতা ক্যাপচার করতে পারে। মোমবাতি শরীর এবং রঙ ফিল্টারগুলির সাথে একত্রিত করা কার্যকরভাবে মিথ্যা ব্রেকআউটগুলি এড়াতে পারে।

  2. মাল্টি-লেয়ার ফিল্টার ট্রেডের সংখ্যা হ্রাস করে জয়ের হার বাড়ায়।

  3. স্টপ লস মেকানিজমের অন্তর্নির্মিত ট্রেড ক্ষতির সীমা।

  4. ডায়নামিক পজিশন সাইজিং মাঝারি আক্রমণাত্মক মূলধন ব্যবস্থাপনা উপলব্ধি করে।

  5. কাস্টমাইজযোগ্য ট্রেডিং টাইম ফ্রেম বড় ইভেন্ট থেকে গোলমাল এড়ায়।

ঝুঁকি এবং অপ্টিমাইজেশান

  1. হাই স্পিড কিছু ট্রেডিং সুযোগ মিস করতে পারে। আরও নমনীয়তার জন্য পরামিতি শিথিল করতে পারে।

  2. প্রবণতা শেষ হওয়ার বিষয়টি নির্ধারণ করা কঠিন। সম্ভাব্য বিপরীততা সনাক্ত করার জন্য অন্যান্য সূচকগুলির সাথে একত্রিত করার কথা বিবেচনা করুন।

  3. অবস্থান মাপ পদ্ধতি খুব আক্রমণাত্মক, অবস্থান লকিং উপায় চালু করতে পারেন।

  4. আরও ভাল প্যারামিটার সমন্বয় খুঁজে পেতে বিভিন্ন বাজারের জন্য প্যারামিটার অপ্টিমাইজ করতে পারে।

সিদ্ধান্ত

সামগ্রিকভাবে এই কৌশলটি বেশ শক্তসমর্থ। দ্রুত আরএসআই সহ প্রবণতার দিকনির্দেশ বিচার করে এবং একাধিক সূচক দিয়ে সংকেতগুলি ফিল্টার করে, এটি প্রবণতার সময় ভাল রিটার্ন পেতে পারে। এছাড়াও কৌশলটির অপ্টিমাইজেশনের জন্য জায়গা রয়েছে। প্যারামিটার সংমিশ্রণগুলি সামঞ্জস্য করে এটি বিভিন্ন বাজারের পরিবেশে অভিযোজিত হতে পারে, যার ফলে ভাল ব্যবহারিকতা রয়েছে।


/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-12 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Robot BitMEX Fast RSI v1.0", shorttitle = "Robot BitMEX Fast RSI v1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usemar = input(true, defval = true, title = "Use Martingale")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 100, title = "RSI Period")
rsilimit = input(25, defval = 25, minval = 1, maxval = 30, title = "RSI limit")
rsibars = input(1, defval = 1, minval = 1, maxval = 20, title = "RSI Bars")
useocf = input(true, defval = true, title = "Use Open Color Filter")
useccf = input(true, defval = true, title = "Use Close Color Filter")
openbars = input(4, defval = 4, minval = 1, maxval = 20, title = "Open Color Bars")
closebars = input(1, defval = 1, minval = 1, maxval = 20, title = "Close Color Bars")
useobf = input(true, defval = true, title = "Use Open Body Filter")
usecbf = input(true, defval = true, title = "Use Close Body Filter")
openbody = input(20, defval = 20, minval = 0, maxval = 1000, title = "Open Body Minimum, %")
closebody = input(50, defval = 50, minval = 0, maxval = 1000, title = "Close Body Minimum, %")
usecnf = input(true, defval = true, title = "Use Close Norma Filter")
fromyear = input(1900, defval = 1900, 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
uprsi = rma(max(change(close), 0), rsiperiod)
dnrsi = rma(-min(change(close), 0), rsiperiod)
rsi = dnrsi == 0 ? 100 : uprsi == 0 ? 0 : 100 - (100 / (1 + uprsi / dnrsi))
uplimit = 100 - rsilimit
dnlimit = rsilimit
rsidn = rsi < dnlimit ? 1 : 0
rsiup = rsi > uplimit ? 1 : 0
rsidnok = sma(rsidn, rsibars) == 1
rsiupok = sma(rsiup, rsibars) == 1

//Body Filter
body = abs(close - open)
abody = sma(body, 10)
openbodyok = body >= abody / 100 * openbody or useobf == false
closebodyok = body >= abody / 100 * closebody or usecbf == false

//Color Filter
bar = close > open ? 1 : close < open ? -1 : 0
gbar = bar == 1 ? 1 : 0
rbar = bar == -1 ? 1 : 0
opengbarok = sma(gbar, openbars) == 1 or useocf == false
openrbarok = sma(rbar, openbars) == 1 or useocf == false
closebarok = (strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1) or useccf == false

//Norma Filter
norma = (rsi > dnlimit and rsi < uplimit) or usecnf == false

//Signals
up = openrbarok and rsidnok and openbodyok and (strategy.position_size == 0 or close < strategy.position_avg_price)
dn = opengbarok and rsiupok and openbodyok and (strategy.position_size == 0 or close > strategy.position_avg_price)
exit = ((strategy.position_size > 0 and closebarok and norma) or (strategy.position_size < 0 and closebarok and norma)) and closebodyok

//Indicator
plot(rsi, color = blue, linewidth = 3, title = "Double RSI")
plot(uplimit, color = black, title = "Upper Line")
plot(dnlimit, color = black, title = "Lower Line")
colbg = rsi > uplimit ? red : rsi < dnlimit ? lime : na
bgcolor(colbg, transp = 20)

//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 up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()

আরো