রিসোর্স লোড হচ্ছে... লোডিং...

RSI এবং MA ক্রসওভার ট্রেন্ড ট্র্যাকিং কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটি RSI সূচক এবং বিভিন্ন সময়ের দুটি চলমান গড় (এমএ) এর ক্রসওভারের মাধ্যমে বাজারের প্রবণতা এবং প্রবেশ সংকেতগুলি নির্ধারণ করে। এটি কেবলমাত্র যখন RSI এর 26 পিরিয়ডের এমএ এর উপরে থাকে এবং যখন ঝুঁকি নিয়ন্ত্রণের জন্য RSI এর নীচে থাকে তখন এটি দীর্ঘ হয়।

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

কৌশলটি 12 এবং 26 পিরিয়ডের দুটি এমএ ব্যবহার করে। যখন 12 পিরিয়ডের দ্রুত এমএ 26 পিরিয়ডের ধীর এমএ এর উপরে অতিক্রম করে, এটি একটি আপগ্রেড প্রবণতা নির্দেশ করে এবং বিপরীতভাবে। কৌশলটি সোনার ক্রসওভারে দীর্ঘ এবং দুটি এমএ এর মৃত্যুর ক্রসওভারে ছোট যায়।

আরএসআই সূচকটি অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় অঞ্চলগুলি নির্ধারণের জন্যও ব্যবহৃত হয়। কেবলমাত্র যখন আরএসআই তার ২6-পরিয়ড এমএ এর চেয়ে বেশি হয় তখন কৌশলটি সোনার ক্রসওভারে দীর্ঘ অবস্থান খুলবে। এবং কেবলমাত্র যখন আরএসআই কম হয় তখন এটি মৃত্যুর ক্রসওভারে শর্ট পজিশন খুলবে। এটি অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় পরিস্থিতির বিরুদ্ধে জোরপূর্বক এন্ট্রি এড়ায় এবং তাই ঝুঁকিগুলি নিয়ন্ত্রণ করে।

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

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

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

স্টপ লস ছাড়া, ভুল সংকেতগুলিতে ক্ষতি বাড়তে পারে। বড় ফাঁক চলাচলগুলিও ভারী ক্ষতির দিকে পরিচালিত করতে পারে। এছাড়াও, ভুলভাবে সেট করা আরএসআই ফিল্টারগুলি ভাল এন্ট্রি সংকেতগুলি মিস করার কারণ হতে পারে।

সর্বাধিক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস ব্যবহার করার কথা বিবেচনা করুন। আরও ভাল ফিল্টারগুলির জন্য আরএসআই পরামিতিগুলি সূক্ষ্মভাবে সামঞ্জস্য করুন। অস্থির বাজারগুলির জন্য, প্রবণতা বিচার করতে ধীর এমএ ব্যবহার করুন।

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

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

  1. বর্তমান বাজারের অবস্থার সাথে সবচেয়ে ভালভাবে সামঞ্জস্যপূর্ণ পরামিতিগুলি খুঁজে বের করার জন্য বিভিন্ন সময়ের এমএ কম্বো পরীক্ষা করুন।

  2. আরও ভাল প্রবেশের সময়সূচির জন্য আরএসআই সময়কাল এবং ফিল্টার লজিকগুলি অনুকূল করুন।

  3. আরও ভাল সিস্টেম স্থিতিশীলতা জন্য ভলিউম মত অন্যান্য সূচক যোগ করুন।

  4. প্রবণতা অনুসরণ এবং ঝুঁকি নিয়ন্ত্রণের ভারসাম্য বজায় রাখতে স্টপ লস কৌশলগুলি অপ্টিমাইজ করুন, উদাহরণস্বরূপ, ট্রেলিং স্টপ, শতাংশ স্টপ, গতিশীল স্টপ ইত্যাদি

সিদ্ধান্ত

কৌশলটি তুলনামূলকভাবে সহজ এবং সরল, প্রবণতা নির্ধারণ করতে এবং জোর করে প্রবেশ এড়ানোর জন্য আরএসআই নির্ধারণ করতে এমএ ক্রসওভার ব্যবহার করে, এইভাবে ভাল রিটার্নের জন্য প্রবণতা ট্র্যাক করে। প্যারামিটার টিউনিং এবং জটিল বাজারের পরিবেশের সাথে খাপ খাইয়ে নেওয়ার জন্য অন্যান্য ফিল্টার যুক্ত করে আরও উন্নতি করা যেতে পারে।


/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy(title = "EMA Cross Strategy", shorttitle = "EMA Cross",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(false,"UseStopLoss")
//rsiLong = true
rsi1 = rsi(close, 14)

window() => true

stopLoss = input(20, title = "Stop loss percentage(0.1%)")
//stopLoss = input(200, title = "Stop loss percentage(0.1%)")

maFastSource   = input(defval = open, title = "Fast MA Source")
maFastLength   = input(defval = 12, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource   = input(defval = open, title = "Slow MA Source")
maSlowLength   = input(defval = 26, title = "Slow MA Period", minval = 1)

maFast = ema(maFastSource, maFastLength)
maSlow = ema(maSlowSource, maSlowLength)

//12 and 26=9%; 3 and8=2%; 26 and 55=2%; when selling on a cross under
//maFastRSI = ema(rsi1, 12)
//maSlowRSI = ema(rsi1, 26)

fast = plot(maFast, title = "Fast MA", color = #7a8598, linewidth = 2, style = line, transp = 50)
slow = plot(maSlow, title = "Slow MA", color = #e08937, linewidth = 2, style = line, transp = 50)


longEMA = crossover(maFast, maSlow)
exitLong = crossunder(maFast, maSlow) // 5% in 2018
//exitLong = crossunder(close, maFast) // 15% in 2018
//exitLong = crossunder(rsi1, maFastRSI) // 13%

shortEMA = crossover(maSlow, maFast)
exitShort = crossover(maFast, maSlow)

//if (rsi1 < ema(rsi1,7))
//rsiLong = false

//if (longEMA and (rsi1 >= highest(rsi1,10)))
//if (longEMA)
if (longEMA and (rsi1 > ema(rsi1,26)))  //RSI ema values optimal from 19 to 35
    strategy.entry("LongId", strategy.long, when=window())

//strategy.close_all(when = rsi1 > 60) // 80=26%, 90=n/a, 70=15%, 60=16% long only
//strategy.close_all(when = (shortEMA and (rsi1 <= ema(rsi1,26)))) //10% gain in 2018 long only
//strategy.close_all(when = (rsi1 <= ema(rsi1,120))) //26=17% 14=2% 42=15%
//strategy.close_all(when = (shortEMA)) // 5% gain in 2018 long only
//strategy.close_all(when = exitLong) 

//if (shortEMA and not(rsiLong))
//if (shortEMA)
if (shortEMA and (rsi1 <= ema(rsi1,26)))
    strategy.entry("ShortId", strategy.short, when=window())

if (UseStopLoss)
    strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
    strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)

আরো