एमएसीडी बार रंग और रैखिक प्रतिगमन पर आधारित उच्च आवृत्ति हेजिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-10-27 10:42:54
टैगः

img

अवलोकन

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

रणनीति तर्क

इस रणनीति में निम्नलिखित मुख्य घटक शामिल हैंः

  1. जब MACD बार का रंग ट्रेंड जजिंग इंडिकेटर के रूप में होता है। जब MACD बार का रंग हरा होता है, तो यह एक ऊपर की प्रवृत्ति को इंगित करता है, इसलिए कोई शॉर्ट ऑर्डर नहीं रखा जाना चाहिए। जब MACD बार लाल होता है, तो यह एक नीचे की प्रवृत्ति को इंगित करता है, इसलिए कोई लंबा ऑर्डर नहीं रखा जाना चाहिए।

  2. मुख्य ट्रेडिंग सिग्नल संकेतक के रूप में रैखिक प्रतिगमन. जब कीमत रैखिक प्रतिगमन रेखा के ऊपर पार हो जाती है, तो लंबी और जब कीमत रेखा के नीचे पार हो जाती है, तो छोटी हो जाती है.

  3. पीएसी चैनल उच्च, निम्न और बंद कीमतों के ईएमए द्वारा तैयार किया जाता है ताकि रैखिक प्रतिगमन रेखा की दिशा निर्धारित की जा सके। ट्रेडिंग सिग्नल केवल तभी उत्पन्न होते हैं जब रैखिक प्रतिगमन दिशा चैनल प्रवृत्ति के साथ संरेखित होती है।

  4. ईएमए 89 स्टॉप लॉस लाइन के रूप में। जब कीमत इस रेखा के ऊपर वापस जाती है तो पदों को बंद करें।

व्यापार संकेतों के लिए तर्क हैः

लंबा संकेत: रैखिक प्रतिगमन पीएसी के निचले बैंड के ऊपर पार करता है और रैखिक प्रतिगमन ऊपर की ओर ढल रहा है और एमएसीडी पट्टी लाल नहीं है।

संक्षिप्त संकेत: रैखिक प्रतिगमन पीएसी ऊपरी बैंड के नीचे पार करता है और रैखिक प्रतिगमन नीचे की ओर ढल रहा है और एमएसीडी बार हरा नहीं है।

बाहर निकलने का संकेतः मूल्य ईएमए 89 से नीचे जाता है।

यह रणनीति उच्च आवृत्ति वाले हेजिंग ट्रेडिंग को प्राप्त करने के लिए प्रवृत्ति निर्णय और प्रमुख मूल्य स्तरों को जोड़ती है।

लाभ विश्लेषण

  1. एमएसीडी बार रंग मुख्य प्रवृत्ति को निर्धारित करने में मदद करता है और प्रवृत्ति के विरुद्ध व्यापार से बचता है।

  2. रैखिक प्रतिगमन चिकनी है और कुछ शोर को फ़िल्टर करता है।

  3. ईएमए चैनल स्पष्ट रूप से तेजी / मंदी पूर्वाग्रह को परिभाषित करता है।

  4. स्टॉप लॉस को लाभ अधिकतम करने के लिए उचित रूप से सेट किया जाता है।

  5. उच्च व्यापारिक आवृत्ति इसे एल्गोरिथम व्यापार के लिए उपयुक्त बनाती है।

  6. हेजिंग ट्रेडों को प्राप्त करता है और रेंज-बाउंड बाजारों से लाभ कमा सकता है।

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

  1. रैखिक प्रतिगमन और चैनल के मापदंडों को अनुकूलन की आवश्यकता होती है, अन्यथा वे विफल हो सकते हैं।

  2. स्टॉप लॉस को अक्सर कीमतों में भारी उतार-चढ़ाव के दौरान ट्रिगर किया जा सकता है। स्टॉप लॉस रेंज को चौड़ा करने पर विचार कर सकते हैं।

  3. उच्च व्यापार आवृत्ति का अर्थ है कि लेनदेन की लागत काफी हो सकती है।

  4. एमएसीडी में कुछ विलंब है और यह अल्पकालिक रुझान उलटने से चूक सकता है।

  5. ईएमए चैनलों को भी बदलती बाजार स्थितियों के अनुकूल होने के लिए निरंतर अनुकूलन की आवश्यकता है।

अनुकूलन दिशाएँ

  1. अलग-अलग उपकरणों को बेहतर ढंग से फिट करने के लिए रैखिक प्रतिगमन और चैनल मापदंडों को समायोजित करें।

  2. लाभ/जोखिम अनुपात को 1 से ऊपर रखते हुए स्टॉप लॉस रेंज का विस्तार करें।

  3. अधिक अल्पकालिक संकेतों को पकड़ने के लिए एमएसीडी मापदंडों को अनुकूलित करें।

  4. रैखिक प्रतिगमन के स्थान पर अन्य संकेतकों का प्रयोग करें, जैसे बोलिंगर बैंड।

  5. अत्यधिक एकतरफा नुकसान से बचने के लिए स्थिति आकार जोड़ें।

  6. कुछ व्यापार संकेतों को फ़िल्टर करने के लिए आरएसआई जैसे अन्य संकेतकों को शामिल करें।

निष्कर्ष

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


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

//@version=2
// strategy("Sonic R + Linear Reg + Kumo Cloud + Barcolor MACD", overlay=true,default_qty_value=10000,initial_capital=200,currency=currency.USD, pyramiding=1)
EMA = input(defval=89, title="EMA Signal")
HiLoLen     = input(34, minval=2,title="High Low channel Length")
pacC        = ema(close,HiLoLen)
pacL        = ema(low,HiLoLen)
pacH        = ema(high,HiLoLen)
DODGERBLUE = #1E90FFFF
// Plot the Price Action Channel (PAC) base on EMA high,low and close//
L=plot(pacL, color=DODGERBLUE, linewidth=1, title="High PAC EMA",transp=90)
H=plot(pacH, color=DODGERBLUE, linewidth=1, title="Low PAC EMA",transp=90)
C=plot(pacC, color=DODGERBLUE, linewidth=2, title="Close PAC EMA",transp=80)
//Moving Average//
signalMA =ema(close,EMA)
plot(signalMA,title="EMA Signal",color=black,linewidth=3,style=line)
linereg = linreg(close, EMA, 0)
plot(linereg, color = orange, title = "Linear Regression Curve", style = line, linewidth = 1)
//////ICHIMOKU/////////
conversionPeriods = input(9),
basePeriods = input(26, minval=1, title="Base Line")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span"),
displacement = input(26, minval=1)
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine) 
leadLine2 = donchian(laggingSpan2Periods-1)
p1 = plot(leadLine1, offset = displacement-1, color=gray,title="Senkou span A", transp=90)
p2 = plot(leadLine2, offset = displacement-1, color=gray, title="Senkou span B", transp=90)
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red, title="Kumo Cloud")
///////////////// MACD BARCOLOR /////////////////////
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
hisup= iff(delta>delta[1] and delta>0, 1,
	     iff(delta<delta[1], -1, nz(hisup[1], 0)))
hisdown = iff(delta<delta[1] and delta<0, 1,
	     iff(delta>delta[1], -1, nz(hisdown[1], 0)))
barcolor(hisup==1 and MACD>0 ? lime: hisdown==1 and MACD<0 ? red : blue )
///////////// SIGNAL ///////////////
conbuy = iff(crossover(linereg,pacL) and rising(linereg,5), 1,
	     iff(crossover(linereg,pacH) or (crossunder(linereg,pacL) and pacL<signalMA), -1, nz(conbuy[1], 0)))
consell = iff(crossunder(linereg,pacH) and falling(linereg,5), 1,
	     iff(crossunder(linereg,pacL) or (crossover(linereg,pacH) and pacH>signalMA), -1, nz(consell[1], 0)))
golong= conbuy==1 and close>open and open<pacH and close>linereg and hisdown!=1
goshort= consell==1 and close<open and open>pacL and close<linereg and hisup!=1
if(golong)
    strategy.entry("Buy",strategy.long)
if(goshort)
    strategy.entry("Sell",strategy.short)
closelong= conbuy==-1
closeshort=consell==-1
if(closelong)
    strategy.close("Buy")
if(closeshort)
    strategy.close("Sell")
 ////////////// TP and SL//.
//SL = input(defval=200.00, title="Stop Loss Point", type=float, step=1)
//rr= input(defval=0.1,title="Reward/Risk",type=float)
//useTPandSL = input(defval = false, title = "Use exit order strategy?")
//Stop = SL
//Take=SL*rr
//Q = 100
//if(useTPandSL)
//    strategy.exit("Out Long", "Buy", qty_percent=Q, profit= Take, loss=Stop)
//    strategy.exit("Out Short", "Sell", qty_percent=Q, profit= Take, loss=Stop) 

अधिक