यह रणनीति एमएसीडी हिस्टोग्राम और मूल्य आंदोलन के बीच विचलन संकेतों का पता लगाने के लिए एमएसीडी संकेतक और इसके एमएसीडी हिस्टोग्राम की गणना करती है, जिससे ट्रेडिंग सिग्नल उत्पन्न होते हैं। जब कीमत में एक नया उच्च लेकिन एमएसीडी हिस्टोग्राम में कोई नया उच्च पता लगाया जाता है, तो एक मंदी विचलन संकेत उत्पन्न होता है। जब कीमत में एक नया निम्न लेकिन एमएसीडी हिस्टोग्राम में कोई नया निम्न पता नहीं लगाया जाता है, तो एक तेजी से विचलन संकेत उत्पन्न होता है। स्टॉप लॉस और ले लाभ के लिए एटीआर संकेतक के साथ संयुक्त, यह ट्रेंड फॉलो ट्रेड करता है।
इस रणनीति का मूल सिद्धांत मूल्य प्रवृत्तियों में परिवर्तन को प्रतिबिंबित करने के लिए एमएसीडी संकेतक और इसके एमएसीडी हिस्टोग्राम का उपयोग करना है, और व्यापार संकेतों के लिए ट्रिगर शर्त के रूप में एमएसीडी हिस्टोग्राम और मूल्य के बीच विचलन संकेतों का पता लगाना है।
विशेष रूप से, रणनीति पहले एमएसीडी लाइन, सिग्नल लाइन और एमएसीडी हिस्टोग्राम की गणना करती है। फिर स्थानीय अधिकतम और न्यूनतम निकालने के लिए एमएसीडी हिस्टोग्राम के शिखर और घाटियों का पता लगाने के लिए फ्रैक्टल फ़ंक्शन को परिभाषित करके। उच्चतम मूल्य और सबसे कम मूल्य के साथ संयुक्त, यह निर्धारित करता है कि क्या एमएसीडी हिस्टोग्राम और मूल्य के बीच विचलन है।
जब कीमत एक नए उच्च तक पहुंचती है लेकिन एमएसीडी हिस्टोग्राम एक नए उच्च तक नहीं पहुंचता है, तो एक regular_bearish_div मंदी विचलन संकेत उत्पन्न होता है। जब कीमत एक नए निम्न स्तर पर गिरती है लेकिन एमएसीडी हिस्टोग्राम एक नए निम्न स्तर पर नहीं गिरता है, तो एक regular_bullish_div तेजी विचलन संकेत उत्पन्न होता है।
अंत में, जब मंदी और तेजी के विचलन के संकेत उत्पन्न होते हैं, तो रणनीति क्रमशः लघु और दीर्घ आदेश जारी करती है, और एटीआर स्टॉप लॉस और ले लाभ के साथ पदों से बाहर निकलती है।
इस रणनीति के निम्नलिखित फायदे हैंः
एमएसीडी हिस्टोग्राम और मूल्य के बीच विचलन सुविधा का उपयोग करके, यह मूल्य रुझानों में मोड़ को जल्दी पकड़ सकता है।
एटीआर स्टॉप लॉस और टेक प्रॉफिट सेटिंग्स प्रति ट्रेड अधिकतम हानि को प्रभावी ढंग से नियंत्रित करने के लिए उचित हैं।
ट्रेंड फॉलो करने की पद्धति का प्रयोग करके लॉक लाभ को अधिकतम किया जा सकता है।
उचित पैरामीटर सेटिंग्स कुछ शोर-शराबा व्यापार संकेतों को फ़िल्टर करती हैं।
रणनीति तर्क स्पष्ट और समझने में आसान है, लाइव ट्रेडिंग में मान्य करने में आसान है।
इस रणनीति में कुछ जोखिम भी हैं:
एमएसीडी विचलन से कीमतों में उलटफेर नहीं होता है, कुछ झूठे संकेत जोखिम होते हैं।
अनावश्यक स्टॉप लॉस और ले लाभ सेटिंग्स से अत्यधिक हानि या अपर्याप्त लाभ हो सकते हैं।
लघु चक्र वाले विचलन संकेत शोर के कारण हो सकते हैं और उन्हें ठीक से फ़िल्टर किया जाना चाहिए।
असंगत ट्रेडिंग उत्पाद और पैरामीटर सेटिंग्स भी रणनीति के प्रदर्शन को प्रभावित करेंगे।
संबंधित समाधान:
झूठे संकेतों को फ़िल्टर करने के लिए विचलन की लंबाई और परिमाण आवश्यकताओं को बढ़ाएं।
एटीआर का उपयोग स्टॉप लॉस और ले लाभ बेंचमार्क के रूप में करें, ट्रेड प्रति जोखिम को नियंत्रित करने के लिए एटीआर गुणकों को समायोजित करें।
विभिन्न ट्रेडिंग उत्पादों के लिए विभिन्न मापदंडों का चयन करें। इष्टतम मापदंड संयोजन खोजने के लिए मापदंड अनुकूलन करें.
इस रणनीति को निम्नलिखित दिशाओं में भी अनुकूलित किया जा सकता हैः
अधिक जटिल विचलन की पुष्टि, जैसे कि मात्रा विचलन की पुष्टि।
सबसे अच्छा पैरामीटर संयोजन खोजने के लिए एमएसीडी मापदंडों का अनुकूलन करें।
एटीआर स्टॉप लॉस और लाभ लेने के गुणकों को अनुकूलित करें।
विचलन संकेतों की विश्वसनीयता का आकलन करने में सहायता के लिए मशीन लर्निंग एल्गोरिदम जोड़ें।
मूल्य उलटने की संभावना निर्धारित करने के लिए मॉडल पूर्वानुमान जोड़ें।
बाजार की स्थितियों में परिवर्तन के अनुसार रणनीति मापदंडों को गतिशील रूप से समायोजित करें।
संक्षेप में, यह डेमीगॉड कैंडलस्टिक एमएसीडी विचलन ट्रेंड फॉलोइंग रणनीति रुझानों को पकड़ने के लिए एमएसीडी हिस्टोग्राम और कीमत के बीच विचलन का उपयोग करती है। उचित एटीआर स्टॉप लॉस और ले लाभ सेटिंग्स प्रति व्यापार जोखिम को नियंत्रित कर सकती हैं। रणनीति तर्क स्पष्ट और समझने में आसान है, लाइव ट्रेडिंग में सत्यापित करने लायक है। बेहतर परिणाम प्राप्त करने के लिए कई पहलुओं में अनुवर्ती अनुकूलन किया जा सकता है।
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © bigwin_sun // copyright: Tradingvue Limited //@version = 5 strategy(title = "Demigod : CDMA histogram Divergence strategy", shorttitle = "Demigod strategy", overlay = false, pyramiding = 100) //macd input fastMA = input.int(13, title = "fast Length", minval = 1, group = "CDMA") slowMA = input.int(34, title = "slow Length", minval = 1, group = "CDMA") src = input.source(title = "source", defval = close, group = "CDMA") signalSmooth = input.int(9, title="ma Length", minval = 1, group = "CDMA") //Divergenc divLength = input.int(title = "Divergenc Length", defval = 5, minval = 1, maxval = 50, inline = "ATRLength", group = "Divergence") divStren = input.float(title="Divergenc Strength", defval = 2, minval = 1.0, maxval = 5.0, inline = "ATRLength", group = "Divergence") //atr input atrLength = input.int(13, title = "ATR Length", minval = 1, inline = "ATRLength", group = "ATR") m = input.float(1.0, "ATR multyple", minval = 0.5, inline = "ATRLength", group = "ATR", step = 0.5) collong = input.color(color.teal, title = "upper color", inline = "ATR显示", group = "ATR") colshort = input.color(color.red, title = "under color", inline = "ATR显示", group = "ATR") // MACD--------------------------------------------------------------------------------------------------------------------------------- DivOffset = -2 macdLine = ta.ema(src, fastMA) - ta.ema(src, slowMA) signalLine = ta.ema(macdLine, signalSmooth) histogram = macdLine - signalLine histogramColor = if histogram > 0 histogram > histogram[1] ? color.lime : color.green else histogram < histogram[1] ? color.maroon : color.red // cdma histogram plot(histogram, title = "MACD histogram", linewidth = 2, style = plot.style_histogram, color = histogramColor) plot(0, title = "zero line", linewidth = 1, color = color.gray) // Divergenc calculation------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //peak / valley fundation f_top_fractal(_src)=>_src[4] < _src[2] and _src[3] < _src[2] and _src[2] > _src[1] and _src[2] > _src[0] and _src > 0 f_bot_fractal(_src)=>_src[4] > _src[2] and _src[3] > _src[2] and _src[2] < _src[1] and _src[2] < _src[0] and _src < 0 f_fractalize(_src)=>f_top_fractal(_src) ? 1 : f_bot_fractal(_src) ? -1 : 0 //peak / valley value fractal_top1 = f_fractalize(histogram) > 0 ? true : false //histogram[2] : na fractal_bot1 = f_fractalize(histogram) < 0 ? true : false //histogram[2] : na //previouse peak or valley high_prev1 = ta.valuewhen(fractal_top1, histogram[2], 0)[2] high_price1 = ta.valuewhen(fractal_top1, high[2], 0)[2] low_prev1 = ta.valuewhen(fractal_bot1, histogram[2], 0)[2] low_price1 = ta.valuewhen(fractal_bot1, low[2], 0)[2] //Divergenc : cdma histogram against candle value regular_bearish_div1 = high[2] > high_price1 + divStren and histogram[2] < high_prev1 / divStren and ta.barssince(fractal_top1[1]) > divLength regular_bullish_div1 = low[2] < low_price1 - divStren and histogram[2] > low_prev1 / divStren and ta.barssince(fractal_bot1[1]) > divLength //-------------------------cdma Divergenc range------------------------------------------------ //histogramColor col1 = regular_bearish_div1 ? color.red : na col2 = regular_bullish_div1 ? #00FF00EB : na //plot plot(title='看跌背离', series= fractal_top1 ? histogram[2] : na, color=col1, linewidth=3, offset=DivOffset) plot(title='看涨背离', series= fractal_bot1 ? histogram[2] : na, color=col2, linewidth=3, offset=DivOffset) // calculate ATR -------------------------------------------------------------------------------------------------------------------------------------------------- atr = ta.ema(ta.tr(true), atrLength) * m up = atr + high dw = low - atr //stratety : enrty and exit--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- if regular_bearish_div1 and fractal_top1 //if regular_bullish_div1 and fractal_bot1 //label.new(bar_index, histogram[2], text = "Short", textcolor = color.white, color = color.gray, style = label.style_label_lower_left) strategy.entry("Short", strategy.short, qty = 1) strategy.exit("exitShort", "Short", stop = up, limit = dw - atr) if regular_bullish_div1 and fractal_bot1 //if regular_bearish_div1 and fractal_top1 //label.new(bar_index, histogram[2], text = "Long", textcolor = color.white, color = color.fuchsia, style = label.style_label_upper_left) strategy.entry("Long", strategy.long, qty = 1) strategy.exit("exitLong", "Long", stop = dw, limit = up + atr)