ट्रिपल सुपर ट्रेंड इचिमोकू क्लाउड क्वांटिटेटिव ट्रेडिंग रणनीति


निर्माण तिथि: 2023-12-27 15:22:40 अंत में संशोधित करें: 2023-12-27 15:22:40
कॉपी: 1 क्लिक्स: 1074
1
ध्यान केंद्रित करना
1623
समर्थक

ट्रिपल सुपर ट्रेंड इचिमोकू क्लाउड क्वांटिटेटिव ट्रेडिंग रणनीति

अवलोकन

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

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

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

इसके अलावा, Ichimoku Cloud Indicator द्वारा दी गई Cloud Thickness वर्तमान प्रवृत्ति की ताकत और कमजोरी का आकलन करती है, जिससे कुछ झूठे संकेतों को हटा दिया जाता है। ATR इंडिकेटर को स्टॉप-लॉस सेट करने के लिए उपयोग किया जाता है। EMA इंडिकेटर को मध्य-लंबी रेखा प्रवृत्ति की पुष्टि करने के लिए उपयोग किया जाता है।

विशेष रूप से, अधिक करें जब कीमत तीन सेट ओवरट्रेंड सूचक के ऊपर की ओर हो; जब कीमत तीन सेट ओवरट्रेंड सूचक के नीचे की ओर हो, तो खाली करें। इचिमोकु बादल के ऊपर या नीचे की कीमत की मांग करते हुए, अनिश्चित संकेतों को फ़िल्टर करें। स्टॉपलॉस को स्थिति खोलने के लिए एटीआर सूचक के मूल्य को कम करने के लिए सेट करें, गतिशील ट्रैकिंग को लागू करें।

रणनीतिक लाभ

  1. ट्रिपल सुपरट्रेंड सूचक पैरामीटर की सेटिंग अलग है, जो बाजार में शोर को प्रभावी ढंग से फ़िल्टर करने और प्रवृत्ति की दिशा का निर्धारण करने के लिए उच्च सटीकता प्रदान करता है।

  2. इचिमोकु क्लाउड सूचक प्रवृत्ति को मजबूत और कमजोर मानता है, झूठे ब्रेक से बचने के लिए। एटीआर स्टॉप लॉस सेटिंग्स उचित हैं, जिससे भारी नुकसान से बचा जा सकता है।

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

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

रणनीतिक जोखिम

  1. हालांकि इचिमोकू क्लाउड सूचकांक के निर्णय में शामिल होने के बावजूद, क्लाउड की मोटाई को तोड़ने और निष्क्रिय क्षेत्र में प्रवेश करने का जोखिम है। इस मामले में, एटीआर सूचकांक कुछ हद तक घाटे को नियंत्रित करेगा।

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

  3. यदि ट्रिपल ओवरट्रेंड इंडिकेटर पैरामीटर गलत तरीके से सेट किया जाता है, तो कई अमान्य संकेत उत्पन्न हो सकते हैं। इसके लिए बहुत सारे रिटर्न्स के माध्यम से इष्टतम संयोजन पैरामीटर खोजने की आवश्यकता होती है।

रणनीति अनुकूलन दिशा

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

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

  3. मशीन लर्निंग मॉडल को शामिल किया जा सकता है, जो ऐतिहासिक डेटा के प्रशिक्षण के माध्यम से खरीद और बिक्री संकेतों का आकलन करता है, जो मैन्युअल पैरामीटर सेटिंग्स के प्रभाव को कम करता है और संकेत की सटीकता को बढ़ाता है।

संक्षेप

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

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

//@version=5
strategy(title="HyperTrend", shorttitle="HyperTrend", overlay=true )

// 
float percent_of_portfo = input.int(2, title = "percent of portfo per order", minval = 0, maxval = 100) / 100

// ichimoku Cloud
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length", group = "ichimoku")
basePeriods = input.int(26, minval=1, title="Base Line Length", group = "ichimoku")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length", group = "ichimoku")
displacement = input.int(26, minval=1, title="Lagging Span", group = "ichimoku")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A", display = display.none)
p2 = plot(leadLine2, offset = displacement - 1, color=#ef9a9a,
	 title="Leading Span B", display = display.none)
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) 
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) 
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 72, 59) : color.rgb(244, 67, 54, 70))


// three supertrend

//1
atrPeriod1 = input(10, "ATR Length1", group="SuperTrend")
factor1 = input.float(1.0, "Factor1", step = 0.01, group="SuperTrend")

[supertrend1, direction1] = ta.supertrend(factor1, atrPeriod1)
supertrend1 := barstate.isfirst ? na : supertrend1

bodyMiddle1 = plot(barstate.isfirst ? na : (open + close) / 2, display = display.none)
upTrend1 =    plot(direction1 < 0 ? supertrend1 : na, "Up Trend",   color = color.green, style = plot.style_linebr)
downTrend1 =  plot(direction1 < 0 ? na : supertrend1, "Down Trend", color = color.red,   style = plot.style_linebr)


//2
atrPeriod2 = input(11, "ATR Length2", group="SuperTrend")
factor2 = input.float(2.0, "Factor2", step = 0.01, group="SuperTrend")

[supertrend2, direction2] = ta.supertrend(factor2, atrPeriod2)
supertrend2 := barstate.isfirst ? na : supertrend2

bodyMiddle2 = plot(barstate.isfirst ? na : (open + close) / 2, display = display.none)
upTrend2 =    plot(direction2 < 0 ? supertrend2 : na, "Up Trend",   color = color.green, style = plot.style_linebr)
downTrend2 =  plot(direction2 < 0 ? na : supertrend2, "Down Trend", color = color.red,   style = plot.style_linebr)


//3
atrPeriod3 = input(12, "ATR Length2", group="SuperTrend")
factor3 = input.float(3.0, "Factor2", step = 0.01, group="SuperTrend")

[supertrend3, direction3] = ta.supertrend(factor3, atrPeriod3)
supertrend3 := barstate.isfirst ? na : supertrend3

bodyMiddle3 = plot(barstate.isfirst ? na : (open + close) / 2, display = display.none)
upTrend3 =    plot(direction3 < 0 ? supertrend3 : na, "Up Trend",   color = color.green, style = plot.style_linebr)
downTrend3 =  plot(direction3 < 0 ? na : supertrend3, "Down Trend", color = color.red,   style = plot.style_linebr)


// ATR
lengthATR = input.int(title="Length (ATR)", defval=14, minval=1, group="ATR")
smoothingATR = input.string(title="Smoothing (ATR)", defval="RMA", options=["RMA", "SMA", "EMA", "WMA"], group="ATR")
ma_function(sourceATR, lengthATR) =>
	switch smoothingATR
		"RMA" => ta.rma(sourceATR, lengthATR)
		"SMA" => ta.sma(sourceATR, lengthATR)
		"EMA" => ta.ema(sourceATR, lengthATR)
		=> ta.wma(sourceATR, lengthATR)
ATR = ma_function(ta.tr(true), lengthATR)
plot(ATR, title = "ATR", color=color.new(#B71C1C, 0), display = display.none)

// EMA
lenEMA = input.int(200, minval=1, title="Length of EMA", group="EMA")
srcEMA = input(close, title="Source of EMA", group="EMA")
offset = input.int(title="Offset (EMA)", defval=0, minval=-500, maxval=500, group="EMA")
outEMA = ta.ema(srcEMA, lenEMA)
plot(outEMA, title="EMA", color=color.blue, offset=offset, display = display.none)

ma(sourceEMA, lengthEMA, type) =>
    switch type
        "SMA" => ta.sma(sourceEMA, lengthEMA)
        "EMA" => ta.ema(sourceEMA, lengthEMA)
        "SMMA (RMA)" => ta.rma(sourceEMA, lengthEMA)
        "WMA" => ta.wma(sourceEMA, lengthEMA)
        "VWMA" => ta.vwma(sourceEMA, lengthEMA)

typeMA = input.string(title = "Method (EMA)", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="EMA")
smoothingLengthEMA = input.int(title = "Smoothing Length (EMA)", defval = 5, minval = 1, maxval = 100, group="EMA")

smoothingLine = ma(outEMA, smoothingLengthEMA, typeMA)
plot(smoothingLine, title="Smoothing Line", color=#f37f20, offset=offset, display=display.none)


//logic



if (open + ATR > supertrend1) and (open + ATR > supertrend2) and (open + ATR > supertrend3) 
	strategy.entry("L", strategy.long)
else if (open < supertrend1 + ATR) and (open < supertrend2 + ATR) and (open < supertrend3 + ATR) 
	strategy.entry("S", strategy.short)
else
	strategy.close_all("C")