यह रणनीति लॉगरिथमिक एमएसीडी संकेतक का उपयोग करके ट्रेडिंग सिग्नल उत्पन्न करती है। यह बाजार गति और अवसरों को मापने के लिए तेज़ और धीमी लॉगरिदमिक चलती औसत के बीच अंतर की गणना करती है।
मुख्य तर्क यह हैः
तेजी से लघुगणक MA (डिफ़ॉल्ट 12) और धीमी लघुगणक MA (डिफ़ॉल्ट 26) की गणना करें
लघुगणकीय एमएसीडी उनके अंतर है, बाजार गति व्यक्त
सिग्नल लाइन MACD (डिफ़ॉल्ट 9) के MA को समतल है
जब MACD नीचे से संकेत के ऊपर से पार करता है तो लंबे समय तक जाएं
जब MACD ऊपर से संकेत से नीचे पार करता है तो शॉर्ट करें
एमएसीडी-सिग्नल अंतर हिस्टोग्राम के रूप में चित्रित
सरल एमएसीडी की तुलना में, लघुगणकीय एमएसीडी घातीय वृद्धि रुझानों को बेहतर ढंग से उजागर कर सकता है। लॉग परिवर्तन चार्ट पर अस्थिर मूल्यों की तुलनात्मकता बनाए रखता है।
लघुगणकीय परिवर्तन का उपयोग करके घातीय मूल्य आंदोलनों का पता लगाता है
लॉग एमएसीडी मूल्य उतार-चढ़ाव की जानकारी को उजागर करता है
सिग्नल लाइन MACD को ट्रेडिंग सिग्नल में चिकनी करती है
एमएसीडी हिस्टोग्राम सहज रूप से प्रवृत्ति दिशा दिखाता है
लॉग परिवर्तन मूल्य शोर को बढ़ा सकता है
लगातार संकेत, अतिव्यापार के जोखिम
स्टॉप लॉस प्रबंधन नहीं, जोखिम नियंत्रण अधूरा
शमन उपाय:
संकेत आवृत्ति को कम करने के लिए मापदंडों को समायोजित करें
हलचल की स्थिति में संकेतों से बचने के लिए फ़िल्टर जोड़ें
प्रति व्यापार हानि को नियंत्रित करने के लिए स्टॉप लॉस लागू करें
स्थिरता के लिए मापदंडों का अनुकूलन
अन्य परिवर्तनों जैसे घातीय चलती औसत की कोशिश करो
स्क्रीन संकेतों के लिए रुझान फ़िल्टर जोड़ें
स्टॉप लॉस रणनीतियों को शामिल करें
सिग्नल की विश्वसनीयता का आकलन करने के लिए मशीन लर्निंग का उपयोग करें
लघुगणकीय परिवर्तन प्रारंभिक प्रवृत्ति का पता लगाने के लिए एमएसीडी की संवेदनशीलता को बढ़ाता है। लेकिन व्यापार आवृत्ति को नियंत्रित किया जाना चाहिए। मापदंडों, जोखिम प्रबंधन आदि में अनुकूलन के साथ, यह रणनीति एक स्थिर और अद्वितीय मात्रात्मक प्रणाली बन सकती है।
/*backtest start: 2022-09-14 00:00:00 end: 2023-09-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Logarithmic Moving Average Convergence Divergence Strategy", shorttitle="LMACD Strategy") // Getting inputs fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) src = input(title="Source", defval=close) signal_length = input(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9) sma_source = input(title="Simple MA(Oscillator)", defval=false) sma_signal = input(title="Simple MA(Signal Line)", defval=false) // Plot colors col_grow_above = #26A69A col_grow_below = #FFCDD2 col_fall_above = #B2DFDB col_fall_below = #EF5350 col_macd = #0094ff col_signal = #ff6a00 // Calculating fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length) lmacd = log(fast_ma) - log(slow_ma) signal = sma_signal ? sma(lmacd, signal_length) : ema(lmacd, signal_length) hist = lmacd - signal plot(hist, title="Histogram", style=columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 ) plot(lmacd, title="LMACD", color=col_macd, transp=0) plot(signal, title="Signal", color=col_signal, transp=0) if (crossover(hist, 0)) strategy.entry("Long", strategy.long, comment="LMACD long") if (crossunder(hist, 0)) strategy.entry("Short", strategy.short, comment="LMACD short")