StochRSI-এর উপর ভিত্তি করে পরিমাণগত ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-12-07 16:05:17 অবশেষে সংশোধন করুন: 2023-12-07 16:05:17
অনুলিপি: 0 ক্লিকের সংখ্যা: 630
1
ফোকাস
1621
অনুসারী

StochRSI-এর উপর ভিত্তি করে পরিমাণগত ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

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

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

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

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

  1. স্টচআরএসআই ব্যবহার করে ওভারবয় ওভারসোল্ড অঞ্চলগুলি সনাক্ত করা একক আরএসআইয়ের চেয়ে বেশি নির্ভরযোগ্য
  2. আরএসআই ফিল্টারিং সংকেতের সাথে মিথ্যে ব্রেকডাউন এড়াতে
  3. স্টপ-ড্যামেজ-স্টপিং সিস্টেমের ঝুঁকি নিয়ন্ত্রণ সেট করুন

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

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

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

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

  1. ভুয়া সংকেতগুলি ফিল্টার করার জন্য অন্যান্য সূচকগুলির সাথে ব্যবহারের কথা বিবেচনা করা যেতে পারে, যেমন MACD, বুলিন লাইন ইত্যাদি
  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")