ট্রেন্ড ট্র্যাকিং মুভিং এভারেজ আরএসআই কৌশল

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

img

সারসংক্ষেপ

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

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

কৌশলটি তিনটি প্রধান অংশ নিয়ে গঠিতঃ

  1. প্রবণতা বিচারঃ 200 দিনের সহজ চলমান গড়ের সাথে দীর্ঘমেয়াদী প্রবণতা এবং 30 দিন এবং 50 দিনের সহজ চলমান গড়ের সাথে স্বল্পমেয়াদী প্রবণতা গণনা করে। যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদীটির উপরে অতিক্রম করে, এটি একটি উত্থান সংকেত, এবং যখন এটি নীচে অতিক্রম করে, এটি একটি bearish সংকেত, দীর্ঘমেয়াদী এবং স্বল্পমেয়াদী বাজারের প্রবণতা নির্ধারণ করতে।

  2. Overbought-Oversold বিশ্লেষণ: 14 দিনের RSI সূচক গণনা করে। 80 এর উপরে RSI হল ওভারকোপড জোন এবং 20 এর নিচে ওভারসোল্ড জোন। যখন RSI সূচকটি ওভারকোপড জোন থেকে পড়ে বা ওভারসোল্ড জোন থেকে উঠে আসে তখন ট্রেডিং সংকেত তৈরি করা হয়।

  3. প্রবেশ এবং প্রস্থানঃ যখন অতিরিক্ত ক্রয় বা অতিরিক্ত বিক্রয় সংকেত চিহ্নিত করা হয়, যদি দিকটি প্রবণতা বিশ্লেষণের সাথে সামঞ্জস্যপূর্ণ হয়, তবে দীর্ঘ / সংক্ষিপ্ত অবস্থানগুলি খোলা হবে। যখন স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী চলমান গড়গুলিতে সোনার ক্রস থাকে, তখন এটি বিচার করা হয় যে প্রবণতা বিপরীত হয় এবং বিদ্যমান অবস্থানগুলি বন্ধ করা হবে।

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

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

এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:

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

ঝুঁকি এবং সমাধান

এই কৌশলটির সাথে কিছু ঝুঁকিও রয়েছেঃ

  1. যদি বাজার দীর্ঘ সময়ের জন্য পরিসীমা সীমাবদ্ধ থাকে তবে ঘন ঘন অপ্রয়োজনীয় বাণিজ্য ঘটতে পারে। অপ্রয়োজনীয় বাণিজ্য এড়ানোর জন্য অতিরিক্ত ফিল্টার যুক্ত করা যেতে পারে।
  2. কিছু সময় বিলম্বের ঝুঁকি রয়েছে। চলমান গড় চক্রের পরামিতিগুলি সংক্ষিপ্ত করা এটি প্রশমিত করতে পারে।
  3. আরএসআই সংকেতগুলি স্টক এবং বাজার দ্বারা প্রভাবিত হতে পারে। কার্যকারিতা বিচার করার জন্য মোমবাতি প্যাটার্নের মতো আরও কারণগুলি একত্রিত করা উচিত।

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

কৌশলটি নিম্নলিখিত দিকগুলিতে আরও অনুকূলিত করা যেতে পারেঃ

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

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

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


/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mattehalen

// INPUT per TIMEFRAME
// 5min     = Legnth = 9, Source = ohlc4,MaxLoss = 1000 TrendMA = 200, ShortMA = 4, LongMA = 10
// 30min    = Legnth = 7, Source = ohlc4,MaxLoss = 1000 TrendMA = 200, ShortMA = 10, LongMA = 20

strategy("Mathias & Christer Timeframe RSI", shorttitle="M&C_RSI",overlay=true, process_orders_on_close = true, default_qty_type =  strategy.percent_of_equity, default_qty_value = 100)
len = input(9, title="Length", type=input.integer)
src = input(ohlc4, title="Source", type=input.source)
//show4h = input(true, title="show 4h", type=input.bool)
maxLoss = input(3000)

rsiCurrent = rsi(src, len)
//rsi4h = security(syminfo.ticker, "240", rsi(src, len))
rsi4h   = rsi(src, len)

//--------------------------------------------------
//MA
trendMAInput = input(200, title="trendMA", type=input.integer)
shortMAInput = input(30, title="shortMA", type=input.integer)
longMAInput = input(50, title="longMA", type=input.integer)

trendMA = ema(close,trendMAInput)
shortMA = ema(close,shortMAInput)
longMA  = ema(close,longMAInput)
plot(trendMA, color=color.black, linewidth=5)
plot(shortMA, color=color.red, linewidth=2)
plot(longMA, color=color.green, linewidth=2)
bgcolor(crossunder(shortMA,longMA) ? color.black : na, transp=10)

//--------------------------------------------------
//RSI
BuySignalBarssince = barssince(rsi4h[1]<rsi4h[0] and rsi4h[1]<20)
BuySignal       = (rsi4h[1]<rsi4h[0] and rsi4h[1]<20 and BuySignalBarssince[1]>10)
BuySignalOut   = crossunder(longMA[1],shortMA[1])
bgcolor(BuySignal ? color.green : na, transp=70)
bgcolor(BuySignalOut ? color.green : na, transp=10)



SellSignalBarssince = barssince(rsi4h[1]>rsi4h[0] and rsi4h[1]>80)
SellSignal      = (rsi4h[1]>rsi4h[0] and rsi4h[1]>80 and SellSignalBarssince[1]>10)
SellSignalOut   = crossunder(shortMA[1],longMA[1])
bgcolor(SellSignal ? color.red : na, transp=70)
bgcolor(SellSignalOut ? color.red : na, transp=10)


if BuySignal
    strategy.close("short", comment = "Exit short")
    strategy.entry("long", true)
    strategy.exit("Max Loss", "long", loss = maxLoss)

if BuySignalOut
    strategy.close("long", comment = "Exit Long")
if SellSignal
    // Enter trade and issue exit order on max loss.
    strategy.close("long", comment = "Exit Long")
    strategy.entry("short", false)
    strategy.exit("Max Loss", "short", loss = maxLoss)
if SellSignalOut
    // Force trade exit.
    strategy.close("short", comment = "Exit short")
    
//--------------------------------------------------
//ATR
MyAtr = atr(10)
AtrFactor = 10
mySLBuy  = close[BuySignalBarssince]
mySLSell = close[SellSignalBarssince]

plotchar(BuySignal, "BuySignal", "⬆", location.belowbar, color.lime,size =size.huge )
plotchar(BuySignalOut, "BuySignalOut", "█", location.belowbar, color.lime,size =size.small)
plotchar(SellSignal, "SellSignal", "⬇", location.abovebar ,color.red,size =size.huge)
plotchar(SellSignalOut, "SellSignalOut", "█", location.abovebar, color.red,size =size.small)




আরো