MACD এবং RSI ক্রসওভার সিগন্যালের উপর ভিত্তি করে ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

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

কৌশলগত নীতি

এমএসিডি সূচক গণনা

ম্যাকডি সূচকটি দ্রুত EMA এবং ধীর EMA এর মধ্যে পার্থক্যের সমন্বয়ে গঠিত, যা স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী গড় মূল্য প্রবণতার মধ্যে পার্থক্যকে প্রতিফলিত করে। এই কৌশলটিতে, দ্রুত লাইন সময়কাল 12 দিন এবং ধীর লাইন সময়কাল 26 দিন।

যখন দ্রুত রেখা ধীর রেখার উপরে অতিক্রম করে, এটি একটি গোল্ডেন ক্রস সংকেত যা একটি আপট্রেন্ড নির্দেশ করে। যখন দ্রুত রেখা ধীর রেখার নীচে অতিক্রম করে, এটি একটি মৃত্যুর ক্রস সংকেত যা একটি ডাউনট্রেন্ড নির্দেশ করে।

আরএসআই সূচক গণনা

RSI সূচকটি বাজারে অত্যধিক ক্রয়/অতিরিক্ত বিক্রয় অবস্থার প্রতিফলন করে। এই কৌশলটিতে RSI সময়ের প্যারামিটারটি 14 এ সেট করা হয়েছে।

আরএসআই ৩০ এর নিচে বলেছে যে এই সম্পদটি বেশি বিক্রি হয়েছে কারণ ক্রেতা বিক্রেতাদের চেয়ে বেশি সময় ধরে বিক্রি করেছে।

আরএসআই ৭০-এর উপরে থেকে বোঝা যায় যে এই সম্পদটি অত্যধিক ছিল, কারণ বিক্রয় চাপ ট্র্যাকিং টাইমলাইনে ক্রয়ের চাপকে ছাড়িয়ে গেছে।

৩০-এর নিচে পড়লে বোঝা যায় যে, পণ্যের দাম বেশি বিক্রি হয়েছে, ৭০-এর উপরে পড়লে বোঝা যায় যে, পণ্যের দাম বেশি কেনা হয়েছে।

কৌশলগত সংকেত

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

বিশেষত, যখন এমএসিডি একটি গোল্ডেন ক্রস তৈরি করে, যদি আরএসআই <=34 একই সাথে, একটি ওভারসোল্ড মার্কেট নিশ্চিত করে, একটি কিনুন সংকেত তৈরি করা হয়। যখন এমএসিডি একটি মৃত্যুর ক্রস গঠন করে, যদি আরএসআই>=75, একটি ওভারসোল্ড মার্কেট নিশ্চিত করে, একটি বিক্রয় সংকেত তৈরি করা হয়।

এই দ্বৈত নিশ্চিতকরণ প্রক্রিয়াটি অনেক অ-নির্ভরযোগ্য ট্রেডিং সংকেত ফিল্টার করতে পারে, যার ফলে কৌশলটির স্থিতিশীলতা এবং নির্ভরযোগ্যতা উন্নত হয়।

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

ডাবল ইন্ডিকেটর ফিল্টারিং সিগন্যাল নির্ভরযোগ্যতা বৃদ্ধি করে

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

স্পষ্ট প্রবণতা বিচার

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

বড় প্যারামিটার অপ্টিমাইজেশান স্পেস

এই কৌশলটির MACD এবং RSI উপাদানগুলির পরামিতিগুলি বিভিন্ন চক্র এবং ট্রেডিং সরঞ্জামগুলির সাথে খাপ খাইয়ে নেওয়ার জন্য অনুকূলিত এবং সামঞ্জস্য করা যেতে পারে। বিভিন্ন বাজারে উন্নত কৌশল পারফরম্যান্সের জন্য পরামিতি টিউনিংয়ের মাধ্যমে অপ্টিমাইজেশনের জন্য প্রচুর জায়গা রয়েছে।

সহজেই বোঝা যায় এবং বাস্তবায়িত হয়

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

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

কিছু ব্যবসায়িক সুযোগ মিস করতে পারে

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

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

বিপুল বাজারের চলার সময় ক্ষতির ঘটনা

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

  • সমাধানঃ একক ট্রেডগুলিতে অত্যধিক ক্ষতি রোধ করতে স্টপ লস প্রক্রিয়া অন্তর্ভুক্ত করুন। চরম বাজারের গতিবিধিগুলির জন্য সূচকগুলির পর্যাপ্ত সংবেদনশীলতা তৈরি করতে পরামিতিগুলি সামঞ্জস্য করুন।

পারফরম্যান্স প্যারামিটার সেটিংসের উপর নির্ভর করে

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

  • সমাধানঃ সর্বোত্তম প্যারামিটার সেটিংসের সন্ধান করতে ব্যাকটেস্টিংয়ের মাধ্যমে প্যারামিটার সংমিশ্রণগুলি অনুকূল করুন।

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

ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস প্রক্রিয়া অন্তর্ভুক্ত করুন

মূল্য বা সূচক ভিত্তিক স্টপ লস নিয়মগুলি একটি পূর্বনির্ধারিত অনুমোদিত ক্ষতির থ্রেশহোল্ড সহ প্রস্থান পজিশনের জন্য বাস্তবায়ন করা যেতে পারে, কার্যকরভাবে পৃথক ব্যবসায়ের ক্ষতির সীমা নির্ধারণ করে।

বাজারের বৈশিষ্ট্য অনুসারে পরামিতিগুলি সামঞ্জস্য করুন

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

সেরা ফিট খুঁজে বের করার জন্য সম্পদের মধ্যে পরীক্ষা

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

মাল্টি-ডাইমেনশনাল কনফার্মেশনের জন্য অতিরিক্ত সূচক অন্তর্ভুক্ত করুন

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

সিদ্ধান্ত

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

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


/*backtest
start: 2023-11-17 00:00:00
end: 2023-12-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(default_qty_type = strategy.percent_of_equity, default_qty_value = 25, pyramiding = 10, title="MACD crossover while RSI Oversold/Overbought", overlay=true, shorttitle="MACD Cross + RSI Oversold Overbought", initial_capital = 1000)

//MACD Settings
fastMA = input(title="Fast moving average",  defval = 12, minval = 7) //7 16
slowMA = input(title="Slow moving average",  defval = 26, minval = 7) //24 26 
signalLength = input(9,minval=1) //9 6

//RSI settings
RSIOverSold = input(34 ,minval=1) //26
RSIOverBought = input(75 ,minval=1) //77
src = close, len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
wasOversold = rsi[0] <= RSIOverSold or rsi[1] <= RSIOverSold or rsi[2] <= RSIOverSold or rsi[3] <= RSIOverSold or rsi[4] <= RSIOverSold or rsi[5] <= RSIOverSold
wasOverbought = rsi[0] >= RSIOverBought or rsi[1] >= RSIOverBought or rsi[2] >= RSIOverBought or rsi[3] >= RSIOverBought or rsi[4] >= RSIOverBought or rsi[5] >= RSIOverBought


[currMacd,_,_] = macd(close[0], fastMA, slowMA, signalLength)
[prevMacd,_,_] = macd(close[1], fastMA, slowMA, signalLength)
signal = ema(currMacd, signalLength)

crossoverBear = cross(currMacd, signal) and currMacd < signal ? avg(currMacd, signal) : na
crossoverBull = cross(currMacd, signal) and currMacd > signal ? avg(currMacd, signal) : na

plotshape(crossoverBear and wasOverbought , title='MACD-BEAR', style=shape.triangledown, text='overbought', location=location.abovebar, color=orange, textcolor=orange, size=size.tiny) 
plotshape(crossoverBull and wasOversold, title='MACD-BULL', style=shape.triangleup, text='oversold', location=location.belowbar, color=lime, textcolor=lime, size=size.tiny) 

// Configure backtest start date with inputs
startDate = input(title="Start Date",
     defval=8, minval=1, maxval=31)
startMonth = input(title="Start Month",
     defval=3, minval=1, maxval=12)
startYear = input(title="Start Year",
     defval=2021, minval=1800, maxval=2100)

afterStartDate = (time >= timestamp(syminfo.timezone,
     startYear, startMonth, startDate, 0, 0))
     
if (afterStartDate==true)
    posSize = abs(strategy.position_size)
    strategy.order("long", strategy.long, when = crossoverBull and wasOversold) 
    strategy.order("long", long=false, qty=posSize/3, when = crossoverBear and wasOverbought) 


আরো