यह ट्रेडिंग रणनीति एमएसीडी सूचक के 200-दिवसीय चलती औसत क्रॉसओवर ऑपरेशन पर आधारित एक मात्रात्मक रणनीति है। यह बाजार के खरीद और बिक्री संकेतों का न्याय करने के लिए एमएसीडी सूचक के दोहरे कार्यों और बाजार के रुझानों का न्याय करने के लिए 200-दिवसीय चलती औसत को जोड़ती है, जिसका उद्देश्य अधिक सटीक प्रवेश और निकास समय का पता लगाना है।
इस रणनीति के दो मुख्य बिंदु हैंः
एमएसीडी संकेतक के तेज और धीमी रेखा क्रॉसओवर खरीद और बिक्री संकेत उत्पन्न करते हैं। जब तेज रेखा धीमी रेखा को ऊपर की ओर तोड़ती है, तो एक खरीद संकेत उत्पन्न होता है। जब तेज रेखा धीमी रेखा को नीचे की ओर तोड़ती है, तो एक बिक्री संकेत उत्पन्न होता है।
200-दिवसीय चलती औसत समग्र बाजार की प्रवृत्ति का न्याय करता है। 200-दिवसीय चलती औसत से ऊपर की कीमतें एक बैल बाजार को इंगित करती हैं, और नीचे एक भालू बाजार को इंगित करती हैं। खरीद संकेत केवल एक बैल बाजार में कार्य करते हैं, और केवल एक भालू बाजार में संकेत बेचते हैं।
इन दो बिंदुओं के अनुसार, इस रणनीति के विशिष्ट व्यापार नियम हैंः
जब एमएसीडी फास्ट लाइन एमएसीडी स्लो लाइन को ऊपर की ओर तोड़ती है, तो हिस्टोग्राम नकारात्मक होता है, और कीमत 200-दिवसीय चलती औसत से ऊपर होती है, तो एक खरीद ऑपरेशन किया जाता है। जब एमएसीडी फास्ट लाइन स्लो लाइन के माध्यम से नीचे की ओर तोड़ती है, तो हिस्टोग्राम सकारात्मक होता है, और कीमत 200-दिवसीय चलती औसत से नीचे होती है, तो एक बिक्री ऑपरेशन किया जाता है।
दोहरी पुष्टि रणनीति की स्थिरता और सफलता दर में सुधार करती है। एमएसीडी खरीद और बिक्री संकेतों का न्याय करता है, और 200-दिवसीय चलती औसत बाजार की प्रवृत्ति का न्याय करता है। दोहरी पुष्टि अधिक अनिश्चितता के साथ कुछ ट्रेडिंग संकेतों को फ़िल्टर कर सकती है।
एक मजबूत ट्रेंडिंग बाजार में, यह रणनीति अपेक्षाकृत उच्च लाभ ला सकती है। विशेष रूप से एक बैल बाजार में, यह जल्दी से मूल्य ऊपर के अवसरों को पकड़ सकता है।
एमएसीडी सूचक समेकन के चरणों से बाहर निकलने के लिए अपेक्षाकृत संवेदनशील भी है। जब मूल्य समेकन की एक लंबी अवधि समाप्त करता है और एक प्रवृत्ति चरण में प्रवेश करता है, तो यह रणनीति जल्दी से नई प्रवृत्ति दिशा को पकड़ सकती है।
यह रणनीति पैरामीटर सेटिंग्स के लिए काफी संवेदनशील है। गलत MACD संकेतक पैरामीटर सेटिंग्स गलत संकेतों का कारण बन सकती हैं।
रुझान मोड़ के करीब, एमएसीडी संकेत अधिक त्रुटियां उत्पन्न करते हैं। इस समय, रणनीति की लाभप्रदता में अधिक कमी हो सकती है।
जब कीमतें एक लंबी अवधि के समेकन में होती हैं, तो यह रणनीति एक स्पष्ट प्रवृत्ति दिशा निर्धारित नहीं कर सकती है, जिससे लाभ/हानि में वृद्धि होती है और अधिक समय तक निकासी होती है।
अधिक सटीक संकेत उत्पन्न करने वाले एमएसीडी मापदंडों को खोजने के लिए विभिन्न मापदंड संयोजनों का परीक्षण किया जा सकता है।
कई संकेतकों की सहमति बनाने के लिए आरएसआई और केडी जैसे अन्य तकनीकी संकेतकों से पुष्टि जोड़ने पर विचार करें, जिससे रणनीति की विश्वसनीयता बढ़े।
अधिकतम ड्रॉडाउन को नियंत्रित करने के लिए स्टॉप लॉस प्वाइंट सेट करें। जब कीमतें महत्वपूर्ण उलट कर देती हैं तो तुरंत स्टॉप लॉस करें, जिससे प्रभावी रूप से बढ़ते नुकसान से बचा जा सकता है।
एमएसीडी 200-दिवसीय चलती औसत क्रॉसओवर रणनीति ट्रेंड जजमेंट और ट्रेडिंग सिग्नल जजमेंट के दोहरे कार्यों को जोड़ती है, जो लाभप्रदता की संभावना को प्रभावी ढंग से बढ़ा सकती है। यह एक अपेक्षाकृत मजबूत और विश्वसनीय मात्रात्मक ट्रेडिंग रणनीति है। लेकिन यह रणनीति कुछ हद तक मापदंडों और बाजार की स्थिति पर भी निर्भर करती है। निरंतर अनुकूलन और परीक्षण रणनीति की स्थिर लाभ-उत्पादक क्षमता को और बढ़ा सकता है।
/*backtest start: 2023-12-26 00:00:00 end: 2024-01-02 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © x11joe //@version=4 //This strategy is based on a youtube strategy that suggested I do this...so I did! strategy(title="MacD 200 Day Moving Average Signal Crossover Strategy", overlay=false, precision=2,commission_value=0.26, initial_capital=10000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Getting inputs fast_length = input(title="Fast Length", type=input.integer, defval=12) slow_length = input(title="Slow Length", type=input.integer, defval=26) src = input(title="Source", type=input.source, defval=close) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9) sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false) sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, 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) macd = fast_ma - slow_ma signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal moving_avg_length = input(title="Moving Average Length", type=input.integer, defval=200) moving_avg = sma(close,moving_avg_length) moving_avg_normalized = close - moving_avg plot(moving_avg_normalized, title="Moving Average Normalized", style=plot.style_line, color=color.orange,linewidth=3) plot(hist, title="Histogram", style=plot.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(macd, title="MACD", color=col_macd, transp=0) plot(signal, title="Signal", color=col_signal, transp=0) if(macd>signal and macd<0 and close>moving_avg) strategy.entry("buy",strategy.long) if(close<moving_avg and macd<signal and macd>0) strategy.entry("sell",strategy.short)