बहु-संकेतक निर्णय वृक्ष रणनीति: IMACD, EMA और इचिमोकू किन्को ह्यो


निर्माण तिथि: 2024-01-22 11:25:56 अंत में संशोधित करें: 2024-01-22 11:25:56
कॉपी: 0 क्लिक्स: 664
1
ध्यान केंद्रित करना
1617
समर्थक

बहु-संकेतक निर्णय वृक्ष रणनीति: IMACD, EMA और इचिमोकू किन्को ह्यो

अवलोकन

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

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

  1. आईएमएसीडीः एम्प्लीफाइड मैकड, इंपल्समैकड और इंपल्सहिस्टो के माध्यम से बाजार के रुझानों को बेहतर ढंग से पकड़ने के लिए
  2. पहली नजर में संतुलन तालिकाः समर्थन और प्रतिरोध की स्थिति का पता लगाने के लिए, एक विनिमय रेखा, एक संदर्भ रेखा, एक अग्रणी रेखा A, एक अग्रणी रेखा B, आदि को रेखांकित करें
  3. ईएमए 40: प्रवृत्ति की दिशा का आकलन करने में सहायक
  4. आईएमएसीडी, क्लाउड मैप घटक और ईएमए 40 के विशिष्ट संबंधों के आधार पर अधिक और कम सिग्नल

मल्टी सिग्नल करेंः जब IMACD एक विशेष रंग के लिए होता है और ईएमए 40 बादल के चित्र से ऊपर होता है, तो अधिक करें

खाली करने का संकेतः जब IMACD लाल हो और ईएमए 40 बादल के नीचे हो तो खाली करें

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

  1. बहु-सूचक पोर्टफोलियो, बाजार के रुझानों का समग्र आकलन, निर्णय लेने की सटीकता में सुधार
  2. निर्णय वृक्ष मॉडल वर्गीकरण स्पष्ट, ट्रेडिंग सिग्नल उत्पन्न स्पष्ट
  3. ईएमए की लंबाई समायोज्य है, सहायक निर्णय के लिए अधिक लचीलापन
  4. समर्थन और प्रतिरोध को बेहतर पहचानने के लिए क्लाउड चार्ट और रुझान संकेतक के साथ संयोजन

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

  1. बहु-सूचक संयोजन, जटिल पैरामीटर सेटिंग
  2. ईएमए की लंबाई गलत तरीके से सेट की गई है, जिससे गलत ट्रेडिंग सिग्नल हो सकते हैं
  3. एक ही समय में कई संकेतकों पर ध्यान देना, और अधिक परिचालन कठिनाई

जोखिम समाधानः पैरामीटर सेटिंग को अनुकूलित करें, ईएमए की लंबाई को समायोजित करें, ऑपरेशन प्रक्रिया को सरल बनाएं।

अनुकूलन दिशा

  1. पैरामीटर सेटिंग को अनुकूलित करें और रणनीति स्थिरता में सुधार करें
  2. एकल हानि को नियंत्रित करने के लिए रोकथाम की रणनीति में वृद्धि
  3. बड़े पैमाने पर डेटा के आधार पर प्रतिक्रिया, सिग्नल की गुणवत्ता में सुधार
  4. मशीन लर्निंग एल्गोरिदम के साथ एक अनुकूलित निर्णय वृक्ष का निर्माण

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Decision Tree Strategy: IMACD, EMA and Ichimoku [cryptoonchain]", overlay=true)

lengthMA = input(34, title="Length MA")
lengthSignal = input(9, title="Length Signal")
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(26, minval=1, title="Lagging Span")
emaLength = input(40, title="EMA Length")  // Added user-configurable EMA length

calc_smma(src, len) =>
    smma = float(na)
    smma := na(smma[1]) ? ta.sma(src, len) : (smma[1] * (len - 1) + src) / len
    smma

calc_zlema(src, length) =>
    ema1 = ta.ema(src, length)
    ema2 = ta.ema(ema1, length)
    d = ema1 - ema2
    ema1 + d

src = ohlc4
hi = calc_smma(high, lengthMA)
lo = calc_smma(low, lengthMA)
mi = calc_zlema(src, lengthMA)

md = (mi > hi) ? (mi - hi) : (mi < lo) ? (mi - lo) : 0
sb = ta.sma(md, lengthSignal)
sh = md - sb
mdc = src > mi ? (src > hi ? color.rgb(128, 255, 0, 26) : color.green) : (src < lo ? color.red : color.orange)

colorCondition = color.rgb(128, 255, 0, 26)

conversionLine = math.avg(ta.lowest(conversionPeriods), ta.highest(conversionPeriods))
baseLine = math.avg(ta.lowest(basePeriods), ta.highest(basePeriods))
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = math.avg(ta.lowest(laggingSpan2Periods), ta.highest(laggingSpan2Periods))

// Use user-configurable length for EMA
ema40 = ta.ema(close, emaLength)

ebc = input(false, title="Enable bar colors")
barcolor(ebc ? mdc : na)

conversionLinePlot = plot(conversionLine, color=#2962FF, title="Conversion Line", display=display.none)
baseLinePlot = plot(baseLine, color=#B71C1C, title="Base Line", display=display.none)
laggingSpanPlot = plot(close, offset=-displacement + 1, color=#43A047, title="Lagging Span", display=display.none)
leadLine1Plot = plot(leadLine1, offset=displacement - 1, color=#A5D6A7, title="Leading Span A", display=display.none)
leadLine2Plot = plot(leadLine2, offset=displacement - 1, color=#EF9A9A, title="Leading Span B", display=display.none)
kumoCloudUpperLinePlot = plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset=displacement - 1, title="Kumo Cloud Upper Line", display=display.none)
kumoCloudLowerLinePlot = plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset=displacement - 1, title="Kumo Cloud Lower Line", display=display.none)
fill(kumoCloudUpperLinePlot, kumoCloudLowerLinePlot, color=leadLine1 > leadLine2 ? color.green : color.red)

a = (leadLine1 > leadLine2 ? leadLine1 : leadLine2) 
b = (leadLine1 < leadLine2 ? leadLine1 : leadLine2)  

if mdc == colorCondition and ema40 > a[displacement - 1]
    strategy.entry("Long", strategy.long)

if mdc == color.red and ema40 < b[displacement - 1]
    strategy.entry("Short", strategy.short)