यह रणनीति ईएमए लाइनों और एमएसीडी संकेतक को समय सीमाओं में जोड़ती है ताकि ट्रेंड सिग्नल की पहचान की जा सके और मध्यम से दीर्घकालिक रुझानों को कैप्चर किया जा सके। यह ट्रेंड के बाद कार्रवाई करता है जब अल्पकालिक प्रवृत्ति मध्यम से दीर्घकालिक प्रवृत्ति के साथ संरेखित होती है। इस बीच, रणनीति स्टॉप लॉस सेट करने और उतार-चढ़ाव से जोखिमों को नियंत्रित करने के लिए लाभ लेने के लिए एटीआर संकेतक का उपयोग करती है।
यह रणनीति मध्यम से दीर्घकालिक प्रवृत्ति दिशा निर्धारित करने के लिए 50-दिवसीय ईएमए और 100-दिवसीय ईएमए का उपयोग करती है। जब एमएसीडी संकेतक द्वारा अल्पकालिक प्रवृत्ति की पहचान की जाती है, तो यह जांचता है कि क्या दिशाएं संरेखित हैं। यदि हां, तो यह प्रवृत्ति के बाद की कार्रवाई करता है।
विशेष रूप से, जब एमएसीडी फास्ट लाइन स्लो लाइन से ऊपर पार करती है, और > 50-दिवसीय ईएमए और > 100-दिवसीय ईएमए को बंद करती है, तो यह लंबी हो जाती है। जब एमएसीडी फास्ट लाइन स्लो लाइन से नीचे पार करती है, और < 50-दिवसीय ईएमए और < 100-दिवसीय ईएमए को बंद करती है, तो यह छोटी हो जाती है।
इसके अलावा, रणनीति उतार-चढ़ाव की सीमा की गणना करने और स्टॉप लॉस और टेक प्रॉफिट की कीमतें निर्धारित करने के लिए एटीआर संकेतक का उपयोग करती है। यह स्टॉप लॉस स्तर के रूप में बंद मूल्य के आधार पर एटीआर का एक निश्चित गुणक निर्धारित करती है, और बंद मूल्य के आधार पर एटीआर का एक निश्चित गुणक लाभ स्तर के रूप में निर्धारित करती है।
ईएमए रेखाओं और एमएसीडी संकेतक को समय-सीमाओं में जोड़ने से रुझान संकेतों की पहचान करने में मदद मिलती है और मध्यम से दीर्घकालिक रुझानों को याद करने से बचा जाता है
बाजार में उतार-चढ़ाव के आधार पर स्टॉप लॉस और लाभ लेने के लिए एटीआर संकेतक का उपयोग जोखिमों को प्रभावी ढंग से नियंत्रित करता है
बाजार तटस्थ क्षेत्रों से बचना अनावश्यक नुकसान से बचाता है
ईएमए रेखाओं का विलंब प्रभाव होता है और वे मोड़ बिंदुओं को याद कर सकती हैं
एमएसीडी संकेतक में कई समय सीमाएं और पैरामीटर सेटिंग्स हैं जो परिणामों को प्रभावित करती हैं
एटीआर रेंज भविष्य के मूल्य उतार-चढ़ाव को पूरी तरह से प्रतिबिंबित नहीं कर सकते, जोखिमों को समाप्त नहीं कर सकते
प्रतिरोधात्मक उपाय:
ईएमए के पिछड़े मुद्दों से बचने के लिए अन्य संकेतकों के साथ संकेतों की पुष्टि करें
एमएसीडी मापदंडों को समायोजित करें और परिणामों को अनुकूलित करें
अधिकतम हानि को नियंत्रित करने के लिए उचित रूप से एटीआर गुणक सेट करें
ईएमए लाइन अवधि के विभिन्न संयोजनों का परीक्षण करें
एमएसीडी पैरामीटर सेटिंग्स का अनुकूलन करें
स्वचालित रूप से इष्टतम एटीआर स्टॉप लॉस/टेक प्रॉफिट गुणकों को खोजने के लिए मशीन लर्निंग विधियों का उपयोग करें
यह रणनीति ईएमए, एमएसीडी और एटीआर संकेतकों को समय सीमाओं में संचालन के बाद प्रवृत्ति को लागू करने के लिए जोड़ती है। पैरामीटर अनुकूलन के माध्यम से, इसमें अच्छी रणनीति रिटर्न दरों को प्राप्त करने की क्षमता है। इसके अलावा संकेतकों के पीछे रहने, अनुचित पैरामीटर समायोजन और उतार-चढ़ाव नियंत्रण सहित जोखिमों को रोकने की आवश्यकता है, और अनुकूलन और सुधार करना जारी रखें।
/*backtest start: 2022-12-29 00:00:00 end: 2024-01-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA-50, EMA-100, and MACD Strategy with ATR for Stop Loss/Profit", overlay=true) // MACD hesaplama fastLength = input(12, title="Fast Length") slowLength = input(26, title="Slow Length") signalLength = input(9, title="Signal Length") [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength) // EMA-50 ve EMA-100 hesaplama ema50 = ta.ema(close, 50) ema100 = ta.ema(close, 100) // ATR hesaplama atrLength = input(14, title="ATR Length") atrValue = ta.atr(atrLength) // Take Profit ve Stop Loss çoklayıcıları takeProfitMultiplier = input(3.0, title="Take Profit Multiplier") // TP, 3 katı ATR stopLossMultiplier = input(1.0, title="Stop Loss Multiplier") // Long Pozisyon Koşulları longCondition = ta.crossover(macdLine, signalLine) and close > ema50 and close > ema100 // Short Pozisyon Koşulları shortCondition = ta.crossunder(macdLine, signalLine) and close < ema50 and close < ema100 // Take Profit ve Stop Loss Seviyeleri takeProfitLevel = close + takeProfitMultiplier * atrValue stopLossLevel = close - stopLossMultiplier * atrValue // Long Pozisyon İşlemleri strategy.entry("Long", strategy.long, when=longCondition) strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stopLossLevel, profit=takeProfitLevel) // Short Pozisyon İşlemleri strategy.entry("Short", strategy.short, when=shortCondition) strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stopLossLevel, profit=takeProfitLevel) // Grafikte Gösterme plot(ema50, color=color.blue, title="EMA-50") plot(ema100, color=color.red, title="EMA-100") hline(0, "Zero Line", color=color.gray)