RSI মুভিং এভারেজের উপর ভিত্তি করে কম দামে কিনুন এবং উচ্চ দামে স্বল্পমেয়াদী পরিমাণগত ট্রেডিং কৌশল বিক্রি করুন


সৃষ্টির তারিখ: 2023-12-01 16:59:26 অবশেষে সংশোধন করুন: 2023-12-01 16:59:26
অনুলিপি: 0 ক্লিকের সংখ্যা: 703
1
ফোকাস
1619
অনুসারী

RSI মুভিং এভারেজের উপর ভিত্তি করে কম দামে কিনুন এবং উচ্চ দামে স্বল্পমেয়াদী পরিমাণগত ট্রেডিং কৌশল বিক্রি করুন

ওভারভিউ

এই কৌশলটি আরএসআই সূচক এবং এর গড়ের সাথে ক্রসপয়েন্টের মাধ্যমে ক্রয়-বিক্রয় নির্ধারণ করে এবং এটি একটি সংক্ষিপ্ত ট্রেডিং কৌশল। এই কৌশলটি আরএসআই সূচকটি তার গড়ের নীচে কেনা এবং তার গড়ের উপরে বিক্রি করা হয়। এটি একটি সাধারণ নিম্ন-বিক্রয়-উচ্চ-বিক্রয় কৌশল।

কৌশল নীতি

  1. আরএসআই এর মান গণনা করুন, চক্রের দৈর্ঘ্য 40 কে লাইন
  2. আরএসআই সূচকটির জন্য তার এমএ গড় লাইন গণনা করুন, চক্রের দৈর্ঘ্য 10 টি কে লাইন
  3. যখন RSI সূচকটি তার গড়ের নীচে থাকে তখন একটি ক্রয় সংকেত উত্পন্ন হয় ফ্যাক্টর দ্বারা ((1-বিপণন ব্যবধান / 100)
  4. যখন RSI সূচকটি তার গড়ের চেয়ে বেশি থাকে তখন একটি বিক্রয় সংকেত উত্পন্ন হয় যখন এটি একটি ফ্যাক্টর দ্বারা গুণিত হয় ((1 + ক্রয়-বিক্রয় ব্যবধান / 100)
  5. বিক্রয়-বিক্রয় ব্যবধানের ডিফল্ট 5, গড় থেকে ৫% পজিটিভ-মাইগ্রেট হলে একটি সংকেত উৎপন্ন হয়
  6. যখন RSI সূচকটি তার গড়ের উপরে এবং 50 স্তরের উপরে থাকে তখন সমতল অবস্থানের বিচার করা হয়

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

এটি একটি প্রচলিত ট্রেন্ড রিভার্স কৌশল, যা RSI-এর ওভার-বই ওভার-সেল বৈশিষ্ট্য ব্যবহার করে কেনা-বেচা করার সময় নির্ধারণ করে। এই কৌশলটির নিম্নলিখিত সুবিধাগুলি রয়েছেঃ

  1. RSI ব্যবহার করে বাজারের কাঠামো নির্ধারণ করা হয়, যা নিজেই নির্ভরযোগ্য
  2. এক-লাইন ফিল্টার অপ্রয়োজনীয় লেনদেন এড়াতে এবং স্থিতিশীলতা বাড়াতে সহায়তা করে
  3. ক্রয়-বিক্রয় বিন্দু দূরত্ব প্যারামিটার ট্রেডিং ফ্রিকোয়েন্সি সামঞ্জস্য করতে পারে
  4. কোডটি সহজ, বোঝা সহজ, এবং যুক্তিযুক্ত।

সামগ্রিকভাবে, এটি একটি সহজ এবং কার্যকরী শর্ট লাইন ট্রেডিং কৌশল।

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

এই কৌশলটির কিছু ঝুঁকি রয়েছে যা সম্পর্কে সতর্ক থাকা দরকারঃ

  1. RSI সূচকটি ভুল সংকেত দেওয়ার সম্ভাবনা রয়েছে, সূচকটির বক্ররেখার আকৃতির দিকে মনোযোগ দেওয়া দরকার
  2. ভুল ব্যবধানের কারণে অতিরিক্ত লেনদেন বা সুযোগ হারাতে পারে
  3. লেনদেনের ঘনত্ব বেশি, লেনদেনের খরচ প্রভাব বিবেচনা করা প্রয়োজন
  4. একক সূচকের উপর ভিত্তি করে, বাজারের অস্বাভাবিকতার দ্বারা প্রভাবিত হতে পারে

প্যারামিটার অপ্টিমাইজেশান, পরিস্রাবণ শর্তাবলী বৃদ্ধি ইত্যাদির মাধ্যমে এই ঝুঁকিগুলি প্রশমিত করা যেতে পারে।

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

এই কৌশলটি নিম্নলিখিত মাত্রাগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ

  1. ট্রেডিং ভলিউম ইন্ডিকেটরের মতো আরও ফিল্টারিং সূচক যুক্ত করুন, যাতে ট্রেন্ডের বিপরীত বিন্দুতে কেবলমাত্র সংকেত পাওয়া যায়
  2. একক ক্ষতি নিয়ন্ত্রণে স্টপ লস কৌশল যোগ করুন
  3. ট্রেডিং ফ্রিকোয়েন্সি এবং মুনাফা অর্জনের জন্য ব্যবসায়িক দূরত্বের অপ্টিমাইজেশন
  4. মেশিন লার্নিং অ্যালগরিদম ব্যবহার করে স্বয়ংক্রিয়ভাবে সর্বোত্তম প্যারামিটার প্যাকেজগুলি সন্ধান করুন
  5. একাধিক উপ-কৌশল থেকে ফলাফল একত্রিত করার জন্য একত্রিত মডেল যুক্ত করা

মাল্টি-মেট্রিকাল প্যারেন্টিং, স্টপ লস ম্যানেজমেন্ট এবং প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে কৌশলগত পারফরম্যান্সকে উল্লেখযোগ্যভাবে উন্নত করা যেতে পারে।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*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)