স্টকআরএসআই ভিত্তিক পরিমাণগত ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

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

কৌশল নীতি

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

বিশেষত, কৌশলটি প্রথমে 14 পিরিয়ডের আরএসআই সূচকের মান গণনা করে এবং তারপরে আরএসআই সূচকের উপর স্টকআরএসআই সূচক প্রয়োগ করে। স্টকআরএসআই সূচক পরামিতিগুলি 14 এর দৈর্ঘ্যের সাথে সেট করা হয়, 3 এর মসৃণ কে লাইন সময়কাল এবং 3 এর মসৃণ ডি লাইন সময়কাল। যখন কে লাইন ব্যবহারকারীর দ্বারা সংজ্ঞায়িত ওভারসোল্ড এলাকার উপরে অতিক্রম করে (ডিফল্ট হল 1), তখন লং পজিশন নেওয়া হবে। যখন কে লাইন ব্যবহারকারীর দ্বারা সংজ্ঞায়িত ওভারসোল্ড এলাকার নীচে পড়ে (ডিফল্ট হল 99), তখন শর্ট পজিশন নেওয়া হবে।

এছাড়াও, স্টপ লস এবং টেক প্রফিট প্যারামিটারগুলি কৌশলটিতে সেট করা হয়। স্টপ লসটি ডিফল্টরূপে 10000। টেক প্রফিট 300 এর ডিফল্ট ট্রেলিং পয়েন্ট এবং 0 এর অফসেটের সাথে ট্রেলিং স্টপ ব্যবহার করে।

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

  1. Overbought এবং oversold এলাকা নির্ধারণের জন্য StochRSI সূচক ব্যবহার একক RSI সূচক তুলনায় আরো নির্ভরযোগ্য
  2. আরএসআই দিয়ে সংকেত ফিল্টার করা মিথ্যা ব্রেকআউট এড়ায়
  3. ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস এবং লাভ নেওয়ার প্রক্রিয়া নির্ধারণ

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

  1. StochRSI সূচকটিতে মিথ্যা সংকেত থাকতে পারে
  2. প্রয়োজন overbought এবং oversold পরামিতি যুক্তিসঙ্গতভাবে সেট, অন্যথায় এটি misoperation কারণ হবে
  3. যদি স্টপ লস পয়েন্ট খুব ছোট হয়, তাহলে ধরা পড়া সহজ। যদি লাভের পয়েন্ট খুব বড় হয়, তাহলে লাভের লাভ সীমিত হতে পারে।

উপরের ঝুঁকিগুলির জন্য, সংকেতগুলি ফিল্টার করতে, বিভিন্ন বাজারে অভিযোজিত হওয়ার জন্য অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয় পরামিতিগুলি সামঞ্জস্য করতে এবং বিভিন্ন স্টপ লস এবং লাভের পরামিতিগুলি পরীক্ষা করার জন্য দীর্ঘ চক্রের পরামিতিগুলি সেট করা যেতে পারে বা অন্যান্য সূচকগুলির সাথে একত্রে ব্যবহার করার বিষয়টি বিবেচনা করা যেতে পারে।

অপ্টিমাইজেশান নির্দেশাবলী

  1. মিথ্যা সংকেত ফিল্টার করার জন্য অন্যান্য সূচক যেমন এমএসিডি, বোলিংজার ব্যান্ড ইত্যাদির সাথে ব্যবহার করার কথা বিবেচনা করুন।
  2. আরো বাজারের অবস্থার সাথে মানিয়ে নিতে বিভিন্ন প্যারামিটার চক্র সেটিংস পরীক্ষা করুন
  3. সর্বোত্তম পরামিতি খুঁজে পেতে একাধিক ব্যাকটেস্টিং দ্বারা স্টপ লস অপ্টিমাইজ করুন এবং মুনাফা পয়েন্ট নিন

সংক্ষিপ্তসার

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


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

//@version= 2
strategy("STOCHRSI JURE", overlay=false)
lengthrsi = input(10)
overSold = input( 1 )
overBought = input(99)

call_trail_stop = input(300)
call_trail_offset = input(0)
call_sl = input(10000)

price = ohlc4
vrsi = rsi(price, lengthrsi)

smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)


plot( k, color=blue, linewidth=1, title="K")
plot( d, color=red, linewidth=1, title="D")

if (crossover(k, overSold) ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    strategy.exit("BUY EXIT", "BUY", trail_points=call_trail_stop, trail_offset=call_trail_offset, loss = call_sl)


if (crossunder(k, overBought) ) 
    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL")
    strategy.exit("SELL EXIT", "SELL", trail_points=call_trail_stop, trail_offset=call_trail_offset, loss = call_sl)
    

//if (  ( crossover(k,d)) and ( (vrsi<overSold) or crossover(vrsi,overSold) )  and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
//    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", oca_type=strategy.oca.cancel, comment="BUY")
//else
//    strategy.cancel(id="BUY")

//if ( ( crossunder(k,d) ) and ( (vrsi >overBought) or crossunder(vrsi,overBought) ) and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 
//    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", oca_type=strategy.oca.cancel, comment="SELL")
//else
//    strategy.cancel(id="SELL")
    
    
    

আরো