एमएसीडी पर आधारित बहु-समय सीमा व्यापार रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-12 11:46:59
टैगः

img

अवलोकन: यह रणनीति ट्रेंड को ट्रैक करने के लिए कई समय सीमाओं में ट्रेडिंग सिग्नल उत्पन्न करने के लिए एमएसीडी संकेतक का उपयोग करती है। मुख्य विचार उच्च समय सीमाओं में प्रवृत्ति की दिशा की पुष्टि करना और फिर कम समय सीमाओं में विशिष्ट प्रवेश अवसरों की तलाश करना है।

रणनीतिक सिद्धांत: यह रणनीति प्रवृत्ति की दिशा निर्धारित करने के लिए एमएसीडी अंतर रेखा और संकेत रेखा के बीच क्रॉसओवर का उपयोग करती है। विशेष रूप से, यह उच्च समय सीमाओं (डिफ़ॉल्ट 60 मिनट) में एमएसीडी अंतर और संकेत रेखाओं की गणना करती है। जब अंतर रेखा संकेत रेखा के ऊपर पार करती है, तो एक खरीद संकेत उत्पन्न होता है। जब नीचे पार होता है, तो समग्र प्रवृत्ति दिशा की पुष्टि करने के लिए एक बिक्री संकेत उत्पन्न होता है।

रणनीति तब कम समय सीमाओं (वर्तमान अवधि) में एमएसीडी की गणना करती है और जब अंतर और संकेत रेखाओं के बीच क्रॉसओवर होता है तो पदों में प्रवेश करती है। इसलिए उच्च समय सीमाओं का उपयोग प्रवृत्ति की दिशा का न्याय करने के लिए किया जाता है और निम्न का उपयोग विशिष्ट प्रवेश बिंदुओं को खोजने के लिए किया जाता है।

यह रणनीति प्रवृत्ति का न्याय करने में सहायता के लिए एमएसीडी हिस्टोग्राम के रंग परिवर्तन का भी उपयोग करती है। हरे रंग की पट्टी एक अपट्रेंड को इंगित करती है जबकि लाल पट्टी एक डाउनट्रेंड को इंगित करती है।

लाभ विश्लेषण:

  1. मल्टी टाइमफ्रेम डिजाइन उच्च TF में प्रवृत्ति की पुष्टि करता है और निम्न TF में प्रविष्टियों का पता लगाता है, जिससे सिस्टमसिटी में सुधार होता है।

  2. प्रवेश और निकास निर्धारित करने के लिए MACD क्रॉसओवर का उपयोग करता है, विश्वसनीय संकेतों के लिए अनुकूलित मापदंड।

  3. हिस्टोग्राम रंग वर्तमान रुझान की स्थिति निर्धारित करने में सहायता करता है, निर्णय की सटीकता में सुधार करता है।

  4. स्वचालित रूप से रुझानों को ट्रैक करता है, भावनात्मक त्रुटियों को कम करता है।

जोखिम विश्लेषणः

  1. मध्यम दीर्घकालिक रुझानों के लिए एक प्रवृत्ति-अनुसरण सूचक के रूप में, एमएसीडी अल्पकालिक में अनावश्यक नुकसान के कारण झूठे संकेत उत्पन्न कर सकता है।

  2. बहु-समय-सीमा रणनीतियों को अनुकूलित करना और परीक्षण करना कठिन है क्योंकि एक साथ कई अवधियों पर विचार करने की आवश्यकता है।

  3. कोई स्टॉप लॉस सेट नहीं किया गया है जिससे बड़े नुकसान का जोखिम उत्पन्न होता है।

अनुकूलन दिशाएंः

  1. सर्वोत्तम संयोजन खोजने के लिए एमएसीडी मापदंडों का अनुकूलन करें।

  2. अधिकतम हानि को सीमित करने के लिए स्टॉप लॉस जोड़ें.

  3. सिग्नल की गुणवत्ता में सुधार के लिए अन्य फ़िल्टरों का मूल्यांकन करें।

  4. इष्टतम मैच खोजने के लिए विभिन्न समय सीमा संयोजनों का परीक्षण करें।

सारांश: यह रणनीति प्रणालीगत रूप से अच्छी तरह से डिज़ाइन की गई है और मध्यम और दीर्घकालिक रुझानों को प्रभावी ढंग से ट्रैक करने के लिए एमएसीडी संकेतक की कई ताकतों को जोड़ती है। हालांकि, स्टॉप लॉस तंत्र की कमी का मतलब है कि अल्पकालिक नुकसान आसानी से विस्तार कर सकते हैं, जिसे सुधारने की आवश्यकता है। कुल मिलाकर, मजबूत प्रवृत्ति के बाद क्षमताओं के साथ, रणनीति मात्रात्मक व्यापार में स्टॉक पिकिंग और निर्णय लेने के लिए एक उच्च गुणवत्ता वाला ढांचा प्रदान करती है। मापदंडों और मॉडल में आगे के अनुकूलन लाभ क्षमता का विस्तार कर सकते हैं और स्थिरता में सुधार कर सकते हैं।


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

//@author : SudeepBisht
//@version=2
strategy(title="SB_CM_MacD_Ult_MTF", shorttitle="SB_CM_Ult_MacD_MTF")
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 ? aqua : histA_IsDown ? blue : histB_IsDown ? red : histB_IsUp ? maroon :yellow :gray
macd_color = macd_colorChange ? macd_IsAbove ? lime : 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=4)
plot(smd and outSignal ? outSignal : na, title="Signal Line", color=signal_color, style=line ,linewidth=2)
plot(sh and outHist ? outHist : na, title="Histogram", color=plot_color, style=histogram, linewidth=4)
plot(sd and cross(outMacD, outSignal) ? circleYPosition : na, title="Cross", style=circles, linewidth=4, color=macd_color)
// hline(0, '0 Line', linestyle=solid, 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, comment="BBandLE")

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


अधिक