ট্রেন্ড অনুসরণকারী মুভিং এভারেজ RSI কৌশল


সৃষ্টির তারিখ: 2023-11-23 17:13:06 অবশেষে সংশোধন করুন: 2023-11-23 17:13:06
অনুলিপি: 0 ক্লিকের সংখ্যা: 626
1
ফোকাস
1617
অনুসারী

ট্রেন্ড অনুসরণকারী মুভিং এভারেজ RSI কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি মূলত তিনটি অংশে বিভক্তঃ

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

  2. ওভার-বই ওভার-সেল বিচারঃ 14 দিনের আরএসআই সূচকটি গণনা করুন, আরএসআই 80 এর উপরে ওভার-বই অঞ্চল এবং 20 এর নীচে ওভার-বিক্রয় অঞ্চল। যখন আরএসআই সূচকটি ওভার-বই অঞ্চল থেকে নেমে আসে বা ওভার-বিক্রয় অঞ্চল থেকে উঠে যায়, তখন একটি লেনদেনের সংকেত দেওয়া হয়।

  3. প্রবেশ এবং প্রস্থানঃ যখন ওভারবয় ওভারসেল সিগন্যালের বিচার করা হয়, যদি প্রবণতা বিচারক সংকেতের দিকটি একত্রিত হয় তবে প্রবেশ করা হয়। স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী চলমান গড়ের সাথে যখন স্বর্ণের ক্রস হয়, তখন বিচারক প্রবণতা বিপরীত হয়, তখন প্যাসিং পজিশন চলে যায়।

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

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

এই কৌশলটির কিছু সুবিধা রয়েছেঃ

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

ঝুঁকি ও সমাধান

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

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

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

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

  1. আরো কিছু শর্ত যুক্ত করা হয়েছে, যেমন, ট্রান্সমিশন পরিমাণ, K-লাইন আকৃতি ইত্যাদি, যা সংকেতের কার্যকারিতা আরও বাড়িয়ে তোলে।
  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)