সিগন্যাল কৌশল সহ MACD ক্রসওভার

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

img

সারসংক্ষেপ

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

কৌশল নীতি

কৌশলটি প্রথমে দ্রুত চলমান গড় রেখা fastMA এবং ধীর চলমান গড় রেখা slowMA গণনা করে। দ্রুত চলমান গড় প্যারামিটারটি 12 দিন এবং ধীর চলমান গড় প্যারামিটারটি 26 দিন। তারপরে MACD গঠনের জন্য দুটি চলমান গড় রেখার মধ্যে পার্থক্য গণনা করুন। তারপরে সিগন্যাল লাইন পেতে MACD এর 9 দিনের চলমান গড় গণনা করুন। যখন MACD সিগন্যাল লাইনের উপরে বা নীচে অতিক্রম করে তখন ট্রেডিং সংকেত উত্পন্ন হয়।

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

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

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

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

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

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

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

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

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

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

  1. খোলা ফ্রিকোয়েন্সি হ্রাস এবং অকার্যকর ট্রেডিং এড়াতে তরলতা এবং অস্থিরতা ফিল্টারিং সূচক যোগ করুন। যেমন ট্রেডিং ভলিউম যোগ করা, গতিশীলভাবে চলমান গড় পরামিতিগুলি সামঞ্জস্য করা ইত্যাদি।

  2. সংকেত মান উন্নত করার জন্য একাধিক অন্যান্য প্রযুক্তিগত সূচককে একত্রিত করে একটি সূচক পোর্টফোলিও গঠন করা। স্বল্পমেয়াদী এবং মাঝারি ও দীর্ঘমেয়াদী সূচকগুলির সংমিশ্রণটি বাজারের কাঠামোকে আরও ব্যাপকভাবে বিচার করতে পারে।

  3. মেশিন লার্নিং অ্যালগরিদম যুক্ত করুন যা বর্তমান বাজারের পরিবেশের জন্য আরও উপযুক্ত প্যারামিটার এবং মনোযোগের প্রান্তিককে প্রশিক্ষণ দেয়, মানুষের হস্তক্ষেপ হ্রাস করে।

  4. VIX এবং অন্যান্য ভয় সূচকগুলিকে একত্রিত করে বাজারের প্রবণতা এবং অস্থিরতা পূর্বাভাস দিতে এবং MACD সুযোগগুলি আরও ভালভাবে ব্যবহার করার জন্য গতিশীলভাবে পরামিতিগুলি সামঞ্জস্য করতে।

সিদ্ধান্ত

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


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

//@author : SudeepBisht
//@version=2
strategy(title="MACD with Signal", shorttitle="MACD_with_Signal")
source = close
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input(title="Use Different Timeframe? Uncheck Box Above", defval="60")
smd = input(true, title="Show MacD & Signal Line? Also Turn Off Dots Below")
sd = input(true, title="Show Dots When MacD Crosses Signal Line?")
sh = input(true, title="Show Histogram?")
macd_colorChange = input(true,title="Change MacD Line Color-Signal Line Cross?")
hist_colorChange = input(true,title="MacD Histogram 4 Colors?")

res = useCurrentRes ? timeframe.period : resCustom

fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)

fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)

macd = fastMA - slowMA
signal = sma(macd, signalLength)
hist = macd - signal

outMacD = request.security(syminfo.tickerid, res, macd)
outSignal = request.security(syminfo.tickerid, res, signal)
outHist = request.security(syminfo.tickerid, res, hist)

histA_IsUp = outHist > outHist[1] and outHist > 0
histA_IsDown = outHist < outHist[1] and outHist > 0
histB_IsDown = outHist < outHist[1] and outHist <= 0
histB_IsUp = outHist > outHist[1] and outHist <= 0

//MacD Color Definitions
macd_IsAbove = outMacD >= outSignal
macd_IsBelow = outMacD < outSignal

plot_color = hist_colorChange ? histA_IsUp ? green : histA_IsDown ? lime : histB_IsDown ? red : histB_IsUp ? maroon :yellow :gray
macd_color = macd_colorChange ? macd_IsAbove ? green : red : red
signal_color = macd_colorChange ? macd_IsAbove ? yellow : yellow : lime

circleYPosition = outSignal
 
plot(smd and outMacD ? outMacD : na, title="MACD", color=macd_color, linewidth=3)
plot(smd and outSignal ? outSignal : na, title="Signal", color=blue, style=line ,linewidth=1)
plot(sh and outHist ? outHist : na, title="", color=plot_color, style=columns, linewidth=4)
//plot(sd and cross(outMacD, outSignal) ? circleYPosition : na, title="Cross", style=circles, linewidth=4, color=macd_color)
hline(0, '0 Line',  linewidth=2, color=white)

macd_chk=smd and outMacD ? outMacD : na
checker=smd and outSignal ? outSignal : na
if (crossover(macd_chk,checker))
    strategy.entry("BBandLE", strategy.long)

if (crossunder(macd_chk, checker))
    strategy.entry("BBandSE", strategy.short)


আরো