ওসিলেশন ব্যাঘাত কৌশল

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

img

সারসংক্ষেপ

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

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

  1. দাম ওভারসোল্ড অঞ্চলে আছে কিনা তা নির্ধারণ করতে ২ পেরিওড আরএসআই ব্যবহার করুন।

  2. মূল প্রবণতার দিকনির্দেশনা নির্ধারণের জন্য দীর্ঘ সময়ের চলমান গড় (200 পিরিয়ড) ব্যবহার করুন। শুধুমাত্র যখন দাম দীর্ঘ এমএ এর উপরে থাকে তখন খোলার অবস্থান বিবেচনা করুন।

  3. যখন দাম লং এমএ এর উপরে থাকে এবং আরএসআই ওভারসোল্ড লাইনের নিচে থাকে, তখন বাজারের মূল্যে লং পজিশন খুলুন।

  4. যখন মূল্য স্বল্প সময়ের এমএ (৫টি সময়কাল) অতিক্রম করে, তখন মুনাফা অর্জনের জন্য বাজারের মূল্যে লং পজিশন বন্ধ করুন।

উপরন্তু, কৌশলটি নিম্নলিখিত কনফিগারযোগ্য বিকল্পগুলি সরবরাহ করেঃ

  • আরএসআই প্যারামিটারঃ সময়ের দৈর্ঘ্য, অতিরিক্ত ক্রয়/অতিরিক্ত বিক্রয়ের মাত্রা।

  • এমএ পরামিতিঃ দীর্ঘ এবং স্বল্প সময়কাল।

  • আরএসআই এমএ ফিল্টারঃ আরএসআই এমএ যোগ করুন আরএসআই ওঠানামা এড়াতে।

  • স্টপ লসঃ স্টপ লস যোগ করতে বা না করার জন্য কনফিগারযোগ্য।

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

  1. ডাবল এমএ সিস্টেম মধ্য ও দীর্ঘমেয়াদী প্রবণতা কার্যকরভাবে ট্র্যাক করতে পারে।

  2. আরএসআই হিংস্র ওঠানামা চলাকালীন সেরা প্রবেশের সময়টি মিস করা এড়ায়।

  3. প্যারামিটার অপ্টিমাইজেশনের জন্য উপযুক্ত নমনীয় কনফিগারেশন।

  4. কৌশলগত অগ্রগতি, সিগন্যাল মিস করার সম্ভাবনা নেই।

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

  1. ডাবল এমএ কৌশলটি পরামিতিগুলির প্রতি সংবেদনশীল, সর্বোত্তম পারফরম্যান্স অর্জনের জন্য অপ্টিমাইজেশান প্রয়োজন।

  2. স্টপ লস না থাকায় ক্ষতি বাড়ার ঝুঁকি থাকে। সতর্কতার সাথে পজিশনের আকার নির্ধারণ করা প্রয়োজন।

  3. ভুয়া ব্রেকআউট হ্রাসের ঝুঁকি নিয়ে আসে। এমএ সময়কালের অপ্টিমাইজেশান বা অন্যান্য ফিল্টার যুক্ত করার বিষয়টি বিবেচনা করুন।

  4. ব্যাকটেস্ট ওভারফিট ঝুঁকি। বাজারে এবং সময়কাল জুড়ে বৈধতা প্রয়োজন।

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

  1. সর্বোত্তম খুঁজে পেতে আরএসআই এবং এমএ পরামিতিগুলির সমন্বয় পরীক্ষা করুন এবং অনুকূল করুন।

  2. ভুয়া সংকেত কমাতে ভলিউম স্পাইকের মতো অতিরিক্ত এন্ট্রি ফিল্টার পরীক্ষা করুন।

  3. একক ট্রেড ক্ষতি নিয়ন্ত্রণ করার জন্য ট্রেলিং স্টপ লস যোগ করুন। সামগ্রিক মুনাফা উপর প্রভাব মূল্যায়ন করুন।

  4. অপ্টিমাইজেশান নির্ধারণের জন্য বিভিন্ন হোল্ডিং সময়ের প্রভাব মূল্যায়ন করুন।

  5. প্রতিদিনের মতো দীর্ঘ সময়সীমার মধ্যে স্থিতিশীলতা পরীক্ষা করুন।

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

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


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

//@version=3
strategy("RSI Strategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

//Starter Parameters

length = input(title="RSI Lenght", defval=2)
overBoughtRSI = input(title="OverBought Level for RSI",  defval=10)
shortLength = input(title="Short MA Length",  defval=5)
longLength = input(title="Long MA Length",  defval=200)

RuleMRSI=input(title="RSI Moving Average Filter", defval= true)
lengthmrsi=input(title="RSI Moving Average Length",  defval=4)
overBoughtMRSI=input(title="OverBought Level for the Moving Average of the RSI",  defval=30)

Rulestop=input(title="Apply Stop Loss", defval=false)
stop_percentual=input(title="% Stop Loss",  defval=10)

//RSI

vrsi = rsi(close, length)

//Moving Averages

longma = sma(close,longLength)
shortma = sma(close,shortLength)
mrsi=sma(vrsi,lengthmrsi)

//Stop Loss

stop_level = strategy.position_avg_price*((100-stop_percentual)/100)

//Backtest Period
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true
    
//Strategy

if testPeriod() and (not na(vrsi))
    if  (RuleMRSI==false) and (Rulestop==false)
        if (vrsi<overBoughtRSI) and (close>longma)
            strategy.entry("RsiLE", strategy.long , comment="Open")
        if (close>shortma)
            strategy.close_all()

    if (RuleMRSI==true) and (Rulestop==false)
        if (vrsi<overBoughtRSI) and (close>longma) and (mrsi<overBoughtMRSI)
            strategy.entry("RsiLE", strategy.long , comment="Open")
        if (close>shortma)
            strategy.close_all()

    if (RuleMRSI==false) and (Rulestop==true)
        if (vrsi<overBoughtRSI) and (close>longma)
            strategy.entry("RsiLE", strategy.long , comment="Open")
            strategy.exit("RsiLE", stop = stop_level)
        if (close>shortma)
            strategy.close_all()

    if (RuleMRSI==true) and (Rulestop==true)
        if (vrsi<overBoughtRSI) and (close>longma) and (mrsi<overBoughtMRSI)
            strategy.entry("RsiLE", strategy.long , comment="Open")
            strategy.exit("RsiLE", stop = stop_level)
        if (close>shortma)
            strategy.close_all()

আরো