এই কৌশলটি স্বল্পমেয়াদী ট্রেডিং কৌশলগুলির অন্তর্গত আরএসআই সূচক এবং এর চলমান গড়ের ক্রসিংয়ের উপর ভিত্তি করে ক্রয় এবং বিক্রয় সংকেতগুলি নির্ধারণ করে। এটি যখন আরএসআই তার এমএ এর চেয়ে কম হয় তখন এটি কিনবে এবং যখন আরএসআই তার এমএ এর চেয়ে বেশি হয় তখন বিক্রি করবে, যা একটি সাধারণ কম-ক্রয়-উচ্চ-বিক্রয় কৌশল।
এটি একটি সাধারণ গড় বিপরীতমুখী কৌশল, যা ট্রেডিং সংকেত নির্ধারণের জন্য আরএসআই সূচকের অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় বৈশিষ্ট্যগুলি ব্যবহার করে। সুবিধাগুলি হ'লঃ
সংক্ষেপে, এটি একটি সহজ এবং কার্যকর স্বল্পমেয়াদী ট্রেডিং কৌশল।
কিছু ঝুঁকি আছে যা লক্ষ্য করা উচিতঃ
এই ঝুঁকিগুলি প্যারামিটার টিউনিং, ফিল্টার ইত্যাদি যোগ করে হ্রাস করা যেতে পারে।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
মাল্টি-ইন্ডিক্টর কম্বো, স্টপ লস ম্যানেজমেন্ট, প্যারামিটার অপ্টিমাইজেশান ইত্যাদির মাধ্যমে উল্লেখযোগ্য পারফরম্যান্স লিফট অর্জন করা যেতে পারে।
সংক্ষেপে, এটি একটি খুব সাধারণ এবং ব্যবহারিক স্বল্পমেয়াদী ট্রেডিং কৌশল। এটি অতিরিক্ত এমএ ফিল্টার সহ এন্ট্রি এবং প্রস্থান নির্ধারণের জন্য আরএসআইয়ের অতিরিক্ত ক্রয় / oversold স্তরগুলিকে মূলধন করে। যুক্তিটি সহজ এবং পরিষ্কার, পরামিতিগুলি নমনীয়, বাস্তবায়ন করা সহজ। কিছু বাজার ঝুঁকি রয়েছে, তবে এটি পরিমার্জন এন্ট্রি / প্রস্থান প্রক্রিয়া, পরামিতি টিউনিং ইত্যাদির মাধ্যমে মোকাবেলা করা যেতে পারে। যখন আরও প্রযুক্তিগত সূচক এবং ঝুঁকি পরিচালনার কৌশলগুলির সাথে একত্রিত হয়, তখন এই কৌশলটি তুলনামূলকভাবে স্থিতিশীল স্বল্পমেয়াদী কৌশলতে পরিণত হতে পারে।
/*backtest start: 2022-11-24 00:00:00 end: 2023-11-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © I11L //@version=5 strategy("I11L - Meanreverter 4h", overlay=false, pyramiding=3, default_qty_value=10000, initial_capital=10000, default_qty_type=strategy.cash,process_orders_on_close=false, calc_on_every_tick=false) frequency = input.int(10) rsiFrequency = input.int(40) buyZoneDistance = input.int(5) avgDownATRSum = input.int(3) useAbsoluteRSIBarrier = input.bool(true) barrierLevel = 50//input.int(50) momentumRSI = ta.rsi(close,rsiFrequency) momentumRSI_slow = ta.sma(momentumRSI,frequency) isBuy = momentumRSI < momentumRSI_slow*(1-buyZoneDistance/100) and (strategy.position_avg_price - math.sum(ta.atr(20),avgDownATRSum)*strategy.opentrades > close or strategy.opentrades == 0 ) //and (momentumRSI < barrierLevel or not(useAbsoluteRSIBarrier)) isShort = momentumRSI > momentumRSI_slow*(1+buyZoneDistance/100) and (strategy.position_avg_price - math.sum(ta.atr(20),avgDownATRSum)*strategy.opentrades > close or strategy.opentrades == 0 ) and (momentumRSI > barrierLevel or not(useAbsoluteRSIBarrier)) momentumRSISoftClose = (momentumRSI > momentumRSI_slow) and (momentumRSI > barrierLevel or not(useAbsoluteRSIBarrier)) isClose = momentumRSISoftClose plot(momentumRSI,color=isClose ? color.red : momentumRSI < momentumRSI_slow*(1-buyZoneDistance/100) ? color.green : color.white) plot(momentumRSI_slow,color=color.gray) plot(barrierLevel,color=useAbsoluteRSIBarrier ? color.white : color.rgb(0,0,0,0)) plot(momentumRSI_slow*(1-buyZoneDistance/100),color=color.gray) plot(momentumRSI_slow*(1+buyZoneDistance/100),color=color.gray) plot(momentumRSI_slow*(1+(buyZoneDistance*2)/100),color=color.gray) // plot(strategy.wintrades - strategy.losstrades) if(isBuy) strategy.entry("Buy",strategy.long, comment="#"+str.tostring(strategy.opentrades+1)) // if(isShort) // strategy.entry("Sell",strategy.short, comment="#"+str.tostring(strategy.opentrades+1)) if(isClose) strategy.exit("Close",limit=close)