RSI সূচক এবং চলমান গড় সূচক ব্যবহার করে পরিমাণগত কৌশল


সৃষ্টির তারিখ: 2024-01-24 14:31:01 অবশেষে সংশোধন করুন: 2024-01-24 14:31:01
অনুলিপি: 0 ক্লিকের সংখ্যা: 715
1
ফোকাস
1617
অনুসারী

RSI সূচক এবং চলমান গড় সূচক ব্যবহার করে পরিমাণগত কৌশল

ওভারভিউ

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

কৌশল নীতি

  1. ব্যবহারকারীর সেট করা প্যারামিটার অনুসারে RSI সূচক এবং সরল চলমান গড় SMA যথাক্রমে গণনা করা হয়।

  2. যখন RSI সেট করা ওভারসোল্ড লাইন (ডিফল্ট 30) অতিক্রম করে, তখন যদি দাম LONG এডজস্ট মিডল লাইনের নিচে থাকে তবে একটি মাল্টি-হেড সিগন্যাল তৈরি হয়।

  3. যখন RSI একটি সেট ওভার-বই লাইন (ডিফল্ট 70) অতিক্রম করে, তখন যদি দামটি SHORT এক্সট্রুশন মিডল লাইনের উপরে থাকে তবে একটি ফাঁকা মাথা সিগন্যাল তৈরি হয়।

  4. ব্যবহারকারী ফিল্টার গড় লাইন নির্বাচন করতে পারেন, যখন দাম ফিল্টার গড় লাইন উপরে অবস্থিত হয়, তখন একটি সংকেত উৎপন্ন হবে।

  5. পজিশনের এক্সট্রিম সিদ্ধান্ত লং এক্সট্রিম গড় লাইন এবং সংক্ষিপ্ত এক্সট্রিম গড় লাইন অনুযায়ী করা হয়।

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

  1. ডাবল ইন্ডিকেটর ডিজাইন করা হয়েছে, যাতে সিদ্ধান্ত গ্রহণের সঠিকতা বাড়ানো যায়।

  2. আরএসআই সূচকটির বিপরীত দিকের বৈশিষ্ট্যগুলিকে যুক্তিসঙ্গতভাবে ব্যবহার করুন এবং বিপরীত দিকের সময়টি সন্ধান করুন।

  3. গড়-রেখা ফিল্টারগুলি বিচারকে আরও কঠোর করে তোলে এবং উচ্চ-নিম্ন-নিম্নকে অনুসরণ করা থেকে বিরত রাখে।

  4. কাস্টমাইজড প্যারামিটারগুলি বিভিন্ন জাত এবং সময়কালের জন্য অনুকূলিতকরণের অনুমতি দেয়।

  5. সহজ লজিক্যাল ডিজাইন, সহজে বোঝা এবং পরিবর্তন করা যায়।

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

  1. আরএসআই সূচকগুলি সহজেই উল্লম্ব রেখা তৈরি করতে পারে, এবং ঘনত্ব সূচকগুলি এই সমস্যাটি হ্রাস করতে পারে।

  2. বড় চক্রের আরএসআই সহজেই ব্যর্থ হয়, যা প্যারামিটার অপ্টিমাইজেশন বা অন্যান্য সূচককে সহায়তা করতে পারে।

  3. গড়রেখার পশ্চাদপসরণ রয়েছে, গড়রেখার দৈর্ঘ্য যথাযথভাবে সংক্ষিপ্ত করা যেতে পারে বা এমএসিডি ইত্যাদি সূচককে সহায়তা করতে পারে।

  4. সহজ বিচার, আরো সূচক প্রবর্তন করা যেতে পারে যাতে ট্রেডিং সিগন্যাল কার্যকর হয়।

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

  1. আরএসআই প্যারামিটারগুলিকে অপ্টিমাইজ করা বা ডেনসিটি সূচকগুলি প্রবর্তন করা মিথ্যা সংকেতের সম্ভাবনা হ্রাস করে।

  2. প্রবণতা এবং ওঠানামার অবস্থান নির্ধারণের জন্য প্রবণতা এবং ওঠানামার সূচক যেমন DMI, BOLL এর সাথে মিলিত হয়।

  3. MACD এর মত সূচক প্রবর্তন করা হয়, যা সমান্তরাল বিচারকে প্রতিস্থাপন বা সমন্বয় করে।

  4. অপ্রত্যাশিত ব্রেকিং সিগন্যাল রোধ করতে পজিশন খোলার শর্ত যুক্ত করা হয়েছে।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Global Market Signals: RSI Strategy.
//@version=4
strategy("GMS: RSI Strategy", overlay=true)

LongShort = input(title="Long Only or Short Only or Both?", type=input.string, defval="Both", options=["Both", "Long Only", "Short Only"])
RSILength = input(title="RSI Length", type = input.integer ,defval=14)
RSIUpper = input(title="Upper Threshold", type = input.float ,defval=70)
RSILower = input(title="Lower Threshold", type = input.float ,defval=30)
LongExit = input(title="Long Exit SMA Length", type = input.integer ,defval=5)
ShortExit = input(title="Short Exit SMA Length", type = input.integer ,defval=5)
AboveBelow = input(title="Trend SMA Filter?", type=input.string, defval="Above", options=["Above", "Below", "Don't Include"])
TrendLength = input(title="Trend SMA Length", type = input.integer ,defval=200)


//Long Side

if LongShort =="Long Only" and AboveBelow == "Above"
    strategy.entry("LONG", true, when = rsi(close,RSILength)<RSILower and close< sma(close,LongExit) and close>sma(close,TrendLength))
    strategy.close("LONG", when = close>sma(close,LongExit))
    
if LongShort =="Long Only" and AboveBelow == "Below"
    strategy.entry("LONG", true, when = rsi(close,RSILength)<RSILower and close< sma(close,LongExit) and close<sma(close,TrendLength))
    strategy.close("LONG", when = close>sma(close,LongExit))
    
if LongShort =="Long Only" and AboveBelow == "Don't Include"
    strategy.entry("LONG", true, when = rsi(close,RSILength)<RSILower and close< sma(close,LongExit))
    strategy.close("LONG", when = close>sma(close,LongExit))
    
if LongShort =="Both" and AboveBelow == "Above"
    strategy.entry("LONG", true, when = rsi(close,RSILength)<RSILower and close< sma(close,LongExit) and close>sma(close,TrendLength))
    strategy.close("LONG", when = close>sma(close,LongExit))
    
if LongShort =="Both" and AboveBelow == "Below"
    strategy.entry("LONG", true, when = rsi(close,RSILength)<RSILower and close< sma(close,LongExit) and close<sma(close,TrendLength))
    strategy.close("LONG", when = close>sma(close,LongExit))
    
if LongShort =="Both" and AboveBelow == "Don't Include"
    strategy.entry("LONG", true, when = rsi(close,RSILength)<RSILower and close< sma(close,LongExit))
    strategy.close("LONG", when = close>sma(close,LongExit))
    
    
//SHORT SIDE

if LongShort =="Short Only" and AboveBelow == "Above"
    strategy.entry("SHORT", false, when = rsi(close,RSILength)>RSIUpper and close> sma(close,ShortExit) and close>sma(close,TrendLength))
    strategy.close("SHORT", when = close<sma(close,ShortExit))
    
if LongShort =="Short Only" and AboveBelow == "Below"
    strategy.entry("SHORT", false, when = rsi(close,RSILength)>RSIUpper and close> sma(close,ShortExit) and close<sma(close,TrendLength))
    strategy.close("SHORT", when = close<sma(close,ShortExit))
    
if LongShort =="Short Only" and AboveBelow == "Don't Include"
    strategy.entry("SHORT", false, when = rsi(close,RSILength)>RSIUpper and close> sma(close,ShortExit))
    strategy.close("SHORT", when = close<sma(close,ShortExit))
    
if LongShort =="Both" and AboveBelow == "Above"
    strategy.entry("SHORT", false, when = rsi(close,RSILength)>RSIUpper and close> sma(close,ShortExit) and close>sma(close,TrendLength))
    strategy.close("SHORT", when = close<sma(close,ShortExit))
    
if LongShort =="Both" and AboveBelow == "Below"
    strategy.entry("SHORT", false, when = rsi(close,RSILength)>RSIUpper and close> sma(close,ShortExit) and close<sma(close,TrendLength))
    strategy.close("SHORT", when = close<sma(close,ShortExit))
    
if LongShort =="Both" and AboveBelow == "Don't Include"
    strategy.entry("SHORT", false, when = rsi(close,RSILength)>RSIUpper and close> sma(close,ShortExit))
    strategy.close("SHORT", when = close<sma(close,ShortExit))