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

আরএসআই এবং এমএসিডি সংযুক্ত দীর্ঘ-স্বল্প কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৪-০৫-১৭ ১১ঃ০৪ঃ০৩
ট্যাগঃআরএসআইএমএসিডি

img

সারসংক্ষেপ

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

কৌশল নীতি

  1. অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয় শর্ত নির্ধারণের জন্য RSI সূচক গণনা করুনঃ
    • যখন RSI 70 এর উপরে থাকে এবং 70 লাইনের নিচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত তৈরি হয়
    • যখন RSI 30 এর নিচে থাকে এবং 30 লাইনের উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত তৈরি হয়
  2. ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য MACD সূচক গণনা করুনঃ
    • যখন MACD দ্রুত রেখা ধীর রেখার উপরে অতিক্রম করে, তখন শর্ট পজিশন বন্ধ করার জন্য একটি সংকেত উৎপন্ন হয়
    • যখন এমএসিডি দ্রুত লাইন ধীর রেখার নীচে অতিক্রম করে, তখন লং পজিশন বন্ধ করার জন্য একটি সংকেত উৎপন্ন হয়
  3. স্টপ-লস পয়েন্ট সেট করাঃ
    • সম্পদের গড় মূল্য পরিবর্তন গণনা করুন এবং এর অর্ধেকটি স্টপ-লস পয়েন্ট হিসাবে নিন

RSI ব্যবহার করে অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয় শর্তগুলি নির্ধারণ করে, কৌশলটি বিপরীতমুখী হওয়ার শুরুতে প্রবেশ করে। প্রবণতার দিক সনাক্ত করতে MACD ব্যবহার করে, এটি প্রবণতার শুরুতে অবস্থানটি বন্ধ করে, কার্যকরভাবে প্রবণতাটি ক্যাপচার করে। দুটি সূচক একে অপরকে পরিপূরক করে, একটি সম্পূর্ণ ট্রেডিং সিস্টেম গঠন করে।

কৌশলগত সুবিধা

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

কৌশলগত ঝুঁকি

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

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

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

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

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


/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="RSI & MACD Strategy", shorttitle="RSI & MACD", overlay=true)

// Définition des entrées
rsi_length = 14
rsi_overbought = 70
rsi_oversold = 30
macd_fast_length = 12
macd_slow_length = 26
macd_signal_length = 9

// Fonction pour calculer le RSI
calculate_rsi(source, length) =>
    price_change = ta.change(source)
    up = ta.rma(price_change > 0 ? price_change : 0, length)
    down = ta.rma(price_change < 0 ? -price_change : 0, length)
    rs = up / down
    rsi = 100 - (100 / (1 + rs))
    rsi

// Fonction pour calculer le MACD
calculate_macd(source, fast_length, slow_length, signal_length) =>
    fast_ma = ta.ema(source, fast_length)
    slow_ma = ta.ema(source, slow_length)
    macd = fast_ma - slow_ma
    signal = ta.ema(macd, signal_length)
    hist = macd - signal
    [macd, signal, hist]

// Calcul des indicateurs
rsi_value = calculate_rsi(close, rsi_length)
[macd_line, signal_line, _] = calculate_macd(close, macd_fast_length, macd_slow_length, macd_signal_length)

// Conditions d'entrée et de sortie
// Entrée en vente : RSI passe de >= 70 à < 70
sell_entry_condition = ta.crossunder(rsi_value, rsi_overbought)

// Sortie en vente : MACD fast MA croise au-dessus de slow MA
sell_exit_condition = ta.crossover(macd_line, signal_line)

// Entrée en achat : RSI passe de <= 30 à > 30
buy_entry_condition = ta.crossover(rsi_value, rsi_oversold)

// Sortie en achat : MACD fast MA croise en-dessous de slow MA
buy_exit_condition = ta.crossunder(macd_line, signal_line)

// Affichage des signaux sur le graphique
plotshape(series=sell_entry_condition, title="Sell Entry", location=location.belowbar, color=color.red, style=shape.triangleup, size=size.small)
plotshape(series=sell_exit_condition, title="Sell Exit", location=location.abovebar, color=color.green, style=shape.triangledown, size=size.small)
plotshape(series=buy_entry_condition, title="Buy Entry", location=location.abovebar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=buy_exit_condition, title="Buy Exit", location=location.belowbar, color=color.red, style=shape.triangledown, size=size.small)

// Entrées et sorties de la stratégie
if (sell_entry_condition)
    strategy.entry("Short", strategy.short)
    
if (sell_exit_condition)
    strategy.close("Short")

if (buy_entry_condition)
    strategy.entry("Long", strategy.long)
    
if (buy_exit_condition)
    strategy.close("Long")


সম্পর্কিত

আরো