रिवर्सल डुअल MACD ट्रेडिंग रणनीति


निर्माण तिथि: 2024-01-12 14:49:47 अंत में संशोधित करें: 2024-01-12 14:49:47
कॉपी: 0 क्लिक्स: 690
1
ध्यान केंद्रित करना
1617
समर्थक

रिवर्सल डुअल MACD ट्रेडिंग रणनीति

अवलोकन

रिवर्स-डबल MACD ट्रेडिंग रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो MACD सूचक का उपयोग करके ट्रेंड रिवर्स सिग्नल की पहचान करती है। यह रणनीति RVI सूचक और CCI सूचक को एक साथ जोड़ती है ताकि कुछ झूठे रिवर्स को फ़िल्टर करने के लिए खरीदारी की पुष्टि की जा सके। यह रणनीति दिन के भीतर और शॉर्ट-लाइन ट्रेडिंग के लिए उपयुक्त है।

रणनीति सिद्धांत

रणनीति मुख्य रूप से MACD सूचकांक पर आधारित होती है. MACD को तेज चलती औसत EMA के रूप में लिया जाता है (१२) धीमी चलती औसत EMA (२६) को घटाकर एक तेज रेखा दी जाती है, और फिर सिग्नल (९) को धीमी रेखा के रूप में लिया जाता है। जब तेज रेखा पर धीमी रेखा को पार करने से गोल्डन क्रॉस उत्पन्न होता है, तो यह बढ़ जाता है; जब तेज रेखा के नीचे धीमी रेखा को पार करने से डेड क्रॉस उत्पन्न होता है, तो यह गिर जाता है।

यह रणनीति दो-समय अवधि के MACD संकेतकों का उपयोग करती है ताकि एक पलटाव के अवसर की तलाश की जा सके। रणनीति 6 घंटे के स्तर पर MACD का उपयोग करती है ताकि समग्र प्रवृत्ति की दिशा का पता लगाया जा सके, दिन के भीतर 1 घंटे का स्तर MACD एक पलटाव संकेत की तलाश करता है। जब 6 घंटे का MACD ऊपर की ओर होता है, तो 1 घंटे का स्तर एक मृत फोर्क संकेत होता है जो धीमी रेखा के नीचे से गुजरता है, यह दर्शाता है कि कीमतें ऊपर की ओर पलट सकती हैं। इस समय RVI और CCI संकेतकों के संयोजन से आगे की पुष्टि की जाती है, एक खरीद संकेत उत्पन्न होता है।

RVI सूचक नवीनतम K लाइनों के समापन मूल्य और उद्घाटन मूल्य के संबंध को मापता है। जब RVI 0.2 से कम होता है, तो इसे ओवरसोल्ड माना जाता है। CCI सूचक 100 से कम होने पर ओवरसोल्ड होता है। इसलिए रणनीति खरीद की पुष्टि करने के संकेत के लिए RVI सूचक 0.2 से कम और CCI सूचक 95 से कम दोनों शर्तों का उपयोग करती है।

श्रेष्ठता विश्लेषण

यह रणनीति द्वि-समय अवधि MACD और RVI और CCI संकेतकों के साथ संयुक्त है, जो प्रतिवर्तन के अवसरों को अधिक सटीक रूप से पहचानने और कुछ झूठे प्रतिवर्तन संकेतों को फ़िल्टर करने में सक्षम है, जिससे रणनीति की स्थिरता में सुधार होता है। इसके विशिष्ट लाभ इस प्रकार हैंः

  1. 6 घंटे के स्तर पर MACD का उपयोग करके बड़े रुझानों का आकलन करें और बड़े बाजारों में अनिश्चितता के बढ़ते वातावरण में व्यापार से बचें।

  2. 1-घंटे के स्तर पर MACD रिवर्स टाइमिंग को पहचानता है, जो कम अवधि के भीतर मूल्य समायोजन को पकड़ सकता है।

  3. आरवीआई और सीसीआई सूचकांक के संयोजन का उपयोग, पलटने के समय को अधिक सटीक रूप से निर्धारित करने में मदद करता है।

  4. स्टॉपलॉस जोड़ने की रणनीति से नुकसान को कम किया जा सकता है

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

इस रणनीति में कुछ जोखिम भी हैं, जो मुख्य रूप से इस प्रकार हैंः

  1. मैकड संकेतक अपने आप में झूठे संकेतों को उत्पन्न करने के लिए प्रवण हैं, इसलिए सहायक संकेतक फ़िल्टरिंग के अच्छे प्रभाव के बावजूद, नुकसान से पूरी तरह से बचा नहीं जा सकता। स्थिति आकार को कम करने की सिफारिश की जाती है।

  2. आरवीआई और सीसीआई संकेतक एक गलत संकेत दे सकते हैं, जिससे एक बेहतर पलटाव का अवसर छूट जाता है या अनावश्यक नुकसान बढ़ जाता है। आरवीआई और सीसीआई पैरामीटर को उचित रूप से समायोजित करने की सिफारिश की जाती है।

  3. अनुचित रोकथाम बिंदु सेटिंग रोकथाम को ट्रिगर करने के लिए बहुत अधिक हो सकती है, या समय पर नियंत्रण में नुकसान को नियंत्रित करने के लिए बहुत ढीला हो सकता है। बाजार में उतार-चढ़ाव के आधार पर रोकथाम की सीमा को समायोजित करने की सिफारिश की जाती है।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं में और बेहतर बनाया जा सकता हैः

  1. वर्तमान में 1 घंटे और 6 घंटे के दो समय चक्रों का उपयोग करते हुए, अधिक समय चक्र संयोजनों का परीक्षण किया जा सकता है ताकि अधिक स्थिर पैरामीटर की तलाश की जा सके।

  2. KDJ, WR, OBV आदि जैसे अधिक संकेतक पेश किए जा सकते हैं जो खरीद और बिक्री के बिंदु का आकलन करने में मदद करेंगे। लेकिन बहुत जटिल व्यापार संकेतों को रोकने के लिए।

  3. विभिन्न किस्मों के पैरामीटर के आधार पर लगातार अनुकूलन किया जा सकता है, पैरामीटर की दुकान स्थापित की गई है। मध्यम या निम्न आवृत्ति वाले व्यापार के लिए उपयुक्त किस्मों के लिए पैरामीटर चक्र को उचित रूप से बढ़ाया जा सकता है।

  4. एक गतिशील स्टॉप-लॉस तंत्र स्थापित किया जा सकता है, जो स्टॉप-लॉस को धीरे-धीरे लाभ के बाद स्थानांतरित करता है। या स्टॉप-लॉस को बाजार में उतार-चढ़ाव के आधार पर वास्तविक समय में समायोजित किया जा सकता है।

संक्षेप

रिवर्स द्विआधारी MACD ट्रेडिंग रणनीति व्यापक रूप से प्रवृत्ति निर्णय और रिवर्स सिग्नल को ध्यान में रखती है, और RVI और CCI संकेतकों के साथ सिग्नल को फ़िल्टर करती है। यह रणनीति प्रभावी रूप से शॉर्ट-लाइन समायोजन की पहचान कर सकती है जो दिन के भीतर और शॉर्ट-लाइन ट्रेडिंग के लिए बेहतर रिस्क-रिटर्न अनुपात प्रदान करती है। यह समग्र रणनीति की विविधता प्रदान करने के लिए एक बहु-नीति पोर्टफोलियो के हिस्से के रूप में भी उपलब्ध है।

रणनीति स्रोत कोड
/*backtest
start: 2023-01-05 00:00:00
end: 2024-01-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Bat MACD", overlay=true)

fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
h=1.05

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
hmacd= aMACD>0? h*aMACD: -(1/h)*abs(MACD) 

MACDD= (request.security(syminfo.tickerid,'360',ema(close, fastLength)) - request.security(syminfo.tickerid,'360',ema(close,slowlength)))
aMACDD = (request.security(syminfo.tickerid,'360',ema(ema(request.security(syminfo.tickerid,'360',close), fastLength)-ema(request.security(syminfo.tickerid,'360',close),slowlength), MACDLength)))
deltad= MACDD-aMACDD
L= input(0.95, title="SL")
SL = L*ema(close,10)

//MACD
slow = input(26,"Short period")
fast = input(12, "Long period")
signal = input(9, "Smoothing period")
//MACD = ema(close,fast)-ema(close,slow)
dMACD= MACD<0? ema(MACD,5):0
Mcond= rising(dMACD,1)
mcount=0.0
mcount := Mcond ? nz(mcount[1]) + 1 : nz(mcount[1])
counter=0
counter := (mcount-mcount[1]==0) ? nz(counter[1]) + 1 : 0
//counter := counter==3 ? 0: nz(counter[1])
pp=0.0
mc=0.0
pp:= (counter-counter[1]<0)? close[1] : nz(pp[1])
mc:= (counter-counter[1]<0)? MACD[1] : nz(mc[1])

bull = (pp-pp[1]<-close*0.005 and mc-mc[1]>0.02*abs(MACD) and MACD<0 and MACD[1]<0)? 1:0

//bgcolor(bull?green:white)
//RVI
p=10
CO=close-open
HL=high-low
value1 = (CO + 2*CO[1] + 2*CO[2] + CO[3])/6
value2 = (HL + 2*HL[1] + 2*HL[2] + HL[3])/6
num=sum(value1,p)
denom=sum(value2,p)
rvi=denom!=0?num/denom:0

//RVI
drvi= (rvi<0.2)? ema(rvi-0.20,3):0
RVcond= rising(drvi,1)
rvcount=0.0
rvcount := RVcond ? nz(rvcount[1]) + 1 : nz(rvcount[1])
rvcounter=0
rvcounter := (rvcount-rvcount[1]==0) ? nz(rvcounter[1]) + 1 : 0
//counter := counter==3 ? 0: nz(counter[1])
rvpp=0.0
rvmc=0.0
rvpp:= (rvcounter-rvcounter[1]<0)? close[1] : nz(rvpp[1])
rvmc:= (rvcounter-rvcounter[1]<0)? drvi[1] : nz(rvmc[1])
rvbull = (rvpp-rvpp[1]<-close*0.005 and rvmc-rvmc[1]>0.02 and drvi<0 and drvi[1]<0)? 1:0

//VolCCI
length1 = input(10, minval=1)
xMAVolPrice = ema(volume * close, length1)
xMAVol = ema(volume, length1)
src1 = xMAVolPrice / xMAVol
map = sma(src1, length1)
cci = (src1 - map) / (0.015 * dev(src1, length1))
cfi= (cci<0)? ema(cci,3) :0
CCcond= rising(cfi,1)
cccount=0.0
cccount := CCcond ? nz(cccount[1]) + 1 : nz(cccount[1])
cccounter=0
cccounter := (cccount-cccount[1]==0) ? nz(cccounter[1]) + 1 : 0
//counter := counter==3 ? 0: nz(counter[1])
ccpp=0.0
ccmc=0.0
ccpp:= (cccounter-cccounter[1]<0)? close[1] : nz(ccpp[1])
ccmc:= (cccounter-cccounter[1]<0)? cci[1] : nz(ccmc[1])
ccbull = (ccpp-ccpp[1]<-close*0.003 and ccmc-ccmc[1]>20 and cci<-95 and cci[1]<-95)? 1:0

A= bull+ccbull+rvbull
if ((MACD>hmacd)  and deltad>0 and delta>delta[1])
    strategy.entry("Long", strategy.long, comment="Buy", qty=10000/close)
if (crossunder(delta, 0) or crossunder(close,SL))
    strategy.close("Long")
if(crossover(low,SL) and SL-SL[1]<close*0.005 and SL-SL[1]>-close*0.005)    
    strategy.entry("Long", strategy.long, comment="Buy", qty=10000/close)
if A 
    strategy.entry("Long", strategy.long, comment="Buy", qty=10000/close)
plot(SL)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)