HYE Mean Reversion SMA কৌশল হল একটি সাধারণ চলমান গড় এবং আপেক্ষিক শক্তি সূচক (RSI) ব্যবহার করে একটি গড় বিপরীত ট্রেডিং কৌশল। এটি একটি স্বল্পমেয়াদী ট্রেডিং কৌশল।
কৌশলটি মূলত নিম্নলিখিত নিয়মের উপর ভিত্তি করেঃ
যখন ২ পেরিওড সিম্পল মুভিং এভারেজ ৫ পেরিওড সিম্পল মুভিং এভারেজ থেকে ৩% কম হয়, তখন দামটি গড় থেকে বিচ্যুত বলে মনে করা হয় এবং একটি ক্রয় সংকেত তৈরি করা হয়।
যখন ২-পরিয়ডের এসএমএ ৫-পরিয়ডের এসএমএ অতিক্রম করে, তখন দামটি গড়ের দিকে ফিরে যায় এবং একটি বিক্রয় সংকেত তৈরি হয়।
৫ পেরিওড RSI এর এক্সপোনেন্সিয়াল মুভিং মিডিয়ার সাথে মিলিয়ে, RSI ৩০ এর নিচে থাকলে কেবল ক্রয় সংকেত তৈরি করা হয় এবং RSI ৭০ এর উপরে থাকলে বিক্রয় সংকেত তৈরি করা হয়, যাতে অপ্রয়োজনীয় ট্রেডিং এড়ানো যায়।
মূল ধারণাটি হ'ল স্বল্পমেয়াদী দামের ওঠানামা ব্যবহার করে গড় বিপরীতমুখী সুযোগগুলি ক্যাপচার করা। যখন দাম একটি নির্দিষ্ট শতাংশ হ্রাস পায় তখন কিনুন, মুনাফা অর্জনের জন্য যখন দামটি চলমান গড়ের কাছাকাছি ফিরে আসে তখন বিক্রয় করুন। এদিকে, আরএসআই সূচক কিছু গোলমাল ট্রেডিং সংকেত ফিল্টার করার জন্য ওভারকোপড এবং ওভারসোল্ড শর্তগুলি সনাক্ত করতে পারে।
এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:
কম মনিটরিং খরচ সঙ্গে বাস্তবায়ন সহজ।
চলমান গড় থেকে মূল্য বিচ্যুতি ব্যবহার করে স্বল্পমেয়াদী গড় বিপরীতমুখী সুযোগগুলি ক্যাপচার করে। ঐতিহাসিকভাবে ভাল ব্যাকটেস্ট পারফরম্যান্স।
আরএসআই ইন্ডিকেটর কার্যকরভাবে গোলমাল ট্রেডিং ফিল্টার করতে পারে এবং শীর্ষ এবং হত্যা উপত্যকা তাড়া এড়াতে পারেন।
বিভিন্ন বাজারের পরিবেশের সাথে সামঞ্জস্যপূর্ণ নমনীয় পরামিতি সামঞ্জস্য।
শুধুমাত্র লং, শুধুমাত্র শর্ট বা উভয় দিকের ট্রেডিং সমর্থন করে যা বিভিন্ন পছন্দ অনুসারে।
এছাড়াও কিছু ঝুঁকি আছেঃ
গড় বিপরীতমুখী মূল্যের উপর নির্ভর করে যা গড় গতিতে ফিরে আসে। যদি দামের পরিবর্তন ঘটে তবে উচ্চ স্টপ লস ঝুঁকি রয়েছে।
অনুপযুক্ত প্যারামিটার সেটিংগুলি অতিরিক্ত ট্রেডিং বা মিস করা সুযোগের দিকে পরিচালিত করতে পারে।
পারফরম্যান্স বাজারের সাথে অত্যন্ত সংশ্লিষ্ট। ব্যাপ্তি-সীমাবদ্ধ এবং অস্থির বাজারে কম পারফর্ম করে।
প্রতিরোধ ব্যবস্থাঃ
একক ট্রেড ক্ষতি নিয়ন্ত্রণ করার জন্য যথাযথ স্টপ লস সেট করুন।
ধীরে ধীরে প্যারামিটার অপ্টিমাইজ করুন এবং ঝুঁকি সংশোধিত রিটার্ন মূল্যায়ন করুন।
স্টক ইন্ডেক্সের সাথে মিশ্রিত করে অভিযোজনযোগ্যতা বাড়ানো।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
সর্বোত্তম পরামিতি খুঁজে পেতে বিভিন্ন চলমান গড় সংমিশ্রণ পরীক্ষা করুন।
প্রবণতা চিহ্নিত করতে এবং জয়ের হার উন্নত করতে অন্যান্য সূচক অন্তর্ভুক্ত করার চেষ্টা করুন।
সর্বাধিক ড্রাউনডাউন কমাতে স্টপ লস মেকানিজম যুক্ত করুন।
মুনাফা ফ্যাক্টর উন্নত করার জন্য প্রবেশ এবং প্রস্থান নিয়ম অপ্টিমাইজ করুন।
অভিযোজিত পরামিতি তৈরির জন্য মেশিন লার্নিং কৌশল গ্রহণ করুন।
এইচইই গড় বিপরীতমুখী এসএমএ কৌশল একটি সহজ এবং ব্যবহারিক স্বল্পমেয়াদী গড় বিপরীতমুখী কৌশল। এটি চলমান গড় থেকে মূল্য বিচ্যুতি ব্যবহার করে ট্রেডিং সংকেত তৈরি করে, আরএসআই সূচক দিয়ে গোলমাল ফিল্টার করে। এটি ভাল ব্যাকটেস্ট পারফরম্যান্স প্রদর্শন করেছে। কৌশলটি বিভিন্ন বাজারের পরিবেশে অভিযোজিত সামঞ্জস্যযোগ্য পরামিতিগুলির সাথে বাস্তবায়ন করা সহজ। তবে বিপরীতমুখী এবং স্টপ লস ঝুঁকির অনিশ্চয়তা উল্লেখ করা উচিত, যা বিভিন্ন বাজারের অবস্থার জন্য যথাযথ অপ্টিমাইজেশনের প্রয়োজন। সামগ্রিকভাবে, এটি পরিমাণগত ট্রেডিংয়ের জন্য একটি ভাল রেফারেন্স গড় বিপরীতমুখী কৌশল টেমপ্লেট সরবরাহ করে।
/*backtest start: 2022-12-08 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=4 strategy("HYE Mean Reversion SMA [Strategy]", overlay = true ) //Strategy inputs source = input(title = "Source", defval = close) tradeDirection = input(title="Trade Direction", type=input.string, options=["Long Only", "Short Only", "Both"], defval="Long Only") smallMAPeriod = input(title = "Small Moving Average", defval = 2) bigMAPeriod = input(title = "Big Moving Average", defval = 5) percentBelowToBuy = input(title = "Percent below to buy %", defval = 3) percentAboveToSell = input(title = "Percent above to sell %", defval = 3) rsiPeriod = input(title = "Rsi Period", defval = 2) rsiLevelforBuy = input(title = "Maximum Rsi Level for Buy", defval = 30) rsiLevelforSell = input(title = "Minimum Rsi Level for Sell", defval = 70) longOK = (tradeDirection == "Long Only") or (tradeDirection == "Both") shortOK = (tradeDirection == "Short Only") or (tradeDirection == "Both") // Make input options that configure backtest date range startDate = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=31) startMonth = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12) startYear = input(title="Start Year", type=input.integer, defval=2020, minval=1800, maxval=2100) endDate = input(title="End Date", type=input.integer, defval=31, minval=1, maxval=31) endMonth = input(title="End Month", type=input.integer, defval=12, minval=1, maxval=12) endYear = input(title="End Year", type=input.integer, defval=2021, minval=1800, maxval=2100) inDateRange = true //Strategy calculation rsiValue = rsi(source, rsiPeriod) rsiEMA = ema(rsiValue, 5) smallMA = sma(source, smallMAPeriod) bigMA = sma(source, bigMAPeriod) buyMA = ((100 - percentBelowToBuy) / 100) * sma(source, bigMAPeriod)[0] sellMA = ((100 + percentAboveToSell) / 100) * sma(source, bigMAPeriod)[0] if(crossunder(smallMA, buyMA) and rsiEMA < rsiLevelforBuy and inDateRange and longOK) strategy.entry("BUY", strategy.long) if(crossover(smallMA, bigMA) or not inDateRange) strategy.close("BUY") if(crossover(smallMA, sellMA) and rsiEMA > rsiLevelforSell and inDateRange and shortOK) strategy.entry("SELL", strategy.short) if(crossunder(smallMA, bigMA) or not inDateRange) strategy.close("SELL")