यह दोहरी ईएमए लाइनों पर आधारित एक गतिशील ट्रेलिंग स्टॉप रणनीति है। यह बाजार की प्रवृत्ति की दिशा निर्धारित करने के लिए 9 दिन और 20 दिन के ईएमए का उपयोग करता है, झूठे ब्रेक को फ़िल्टर करने के लिए आरएसआई संकेतक के साथ संयुक्त है। यह गतिशील स्टॉप लॉस और लाभ स्तरों की गणना करने के लिए एटीआर संकेतक का भी उपयोग करता है। यह रणनीति मध्यम से दीर्घकालिक होल्डिंग के लिए उपयुक्त है।
यह रणनीति मूल्य प्रवृत्ति निर्धारित करने के लिए 9 दिन की ईएमए को अल्पकालिक रेखा और 20 दिन की ईएमए को मध्यमकालिक रेखा के रूप में उपयोग करती है। यह तब लंबी होती है जब कीमत अल्पकालिक रेखा से ऊपर जाती है और समापन मूल्य पिछले दिन के उच्च स्तर से अधिक होता है, आरएसआई 70 से कम और 20 दिन की ईएमए माइनस 1 एटीआर से अधिक होता है। यह तब छोटी होती है जब कीमत अल्पकालिक रेखा से नीचे जाती है और समापन मूल्य पिछले दिन के निम्न स्तर से कम होता है, आरएसआई 30 से अधिक और 20 दिन की ईएमए माइनस 1 एटीआर से अधिक होता है।
स्टॉप लॉस को क्लोजिंग प्राइस माइनस 1.5 गुना एटीआर पर सेट किया जाता है। टेक प्रॉफिट को क्लोजिंग प्राइस प्लस एटीआर को टेक प्रॉफिट गुणांक से गुणा किया जाता है। यह ट्रेंड ट्रेलिंग स्टॉप लॉस सेट करने के लिए 2 गुना एटीआर का भी उपयोग करता है।
कुल मिलाकर यह एक अपेक्षाकृत स्थिर मध्यम से दीर्घकालिक होल्डिंग रणनीति है। यह अल्पकालिक शोर से प्रभावित होने से बचने के लिए प्रमुख बाजार प्रवृत्ति को निर्धारित करने के लिए दोहरे ईएमए का उपयोग करता है। आरएसआई के अलावा कुछ हद तक झूठे ब्रेक को भी फ़िल्टर करता है। इसके अलावा, गतिशील स्टॉप लॉस / टेक प्रॉफिट तंत्र बाजार की अस्थिरता के आधार पर रणनीति को समायोजित करने की अनुमति देता है। हालांकि, अभी भी जोखिम हैं जैसे चलती औसत और स्टॉप लॉस पैठ की क्षमता। हमें व्यावहारिक अनुप्रयोग के दौरान पैरामीटर ट्यूनिंग और अनुकूलन के माध्यम से इष्टतम कॉन्फ़िगरेशन खोजने की आवश्यकता है।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("CJTrade", overlay=true) short = ema(close, 9) medium = ema(close, 20) long = ema(close, 50) very_long = ema(close, 200) plot(short, color=color.gray, linewidth=1) plot(medium, color=color.red, linewidth=1) plot(long, color=color.black, linewidth=1) plot(very_long, color=color.blue, linewidth=1) rsiValue = rsi(close, 14) near20EMA = close > medium - atr(14) longCond = crossover(close[1], short) and close >= high[1] and rsiValue < 70 and near20EMA shortCond = crossunder(close[1], short) and close <= low[1] and rsiValue > 30 and near20EMA strategy.entry("Long", strategy.long, when=longCond) strategy.entry("Short", strategy.short, when=shortCond) atrValue = atr(14) stopLossLevel = close - atrValue * 1.5 // Dynamic take profit level based on ATR takeProfitMultiplier = input(2, title="Take Profit Multiplier", minval=0.1, maxval=10, step=0.1) takeProfitLevel = close + atrValue * takeProfitMultiplier // Trailing stop loss for long positions longTrailingStop = close - atrValue * 2 strategy.exit("LongTrailingStop", from_entry="Long", loss=longTrailingStop) // Trailing stop loss for short positions shortTrailingStop = close + atrValue * 2 strategy.exit("ShortTrailingStop", from_entry="Short", loss=shortTrailingStop) strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stopLossLevel, profit=takeProfitLevel) strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stopLossLevel, profit=takeProfitLevel)