गतिशील दोहरी चलती औसत ट्रेलिंग स्टॉप रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-26 11:13:17
टैगः

img

अवलोकन

यह दोहरी ईएमए लाइनों पर आधारित एक गतिशील ट्रेलिंग स्टॉप रणनीति है। यह बाजार की प्रवृत्ति की दिशा निर्धारित करने के लिए 9 दिन और 20 दिन के ईएमए का उपयोग करता है, झूठे ब्रेक को फ़िल्टर करने के लिए आरएसआई संकेतक के साथ संयुक्त है। यह गतिशील स्टॉप लॉस और लाभ स्तरों की गणना करने के लिए एटीआर संकेतक का भी उपयोग करता है। यह रणनीति मध्यम से दीर्घकालिक होल्डिंग के लिए उपयुक्त है।

रणनीति तर्क

यह रणनीति मूल्य प्रवृत्ति निर्धारित करने के लिए 9 दिन की ईएमए को अल्पकालिक रेखा और 20 दिन की ईएमए को मध्यमकालिक रेखा के रूप में उपयोग करती है। यह तब लंबी होती है जब कीमत अल्पकालिक रेखा से ऊपर जाती है और समापन मूल्य पिछले दिन के उच्च स्तर से अधिक होता है, आरएसआई 70 से कम और 20 दिन की ईएमए माइनस 1 एटीआर से अधिक होता है। यह तब छोटी होती है जब कीमत अल्पकालिक रेखा से नीचे जाती है और समापन मूल्य पिछले दिन के निम्न स्तर से कम होता है, आरएसआई 30 से अधिक और 20 दिन की ईएमए माइनस 1 एटीआर से अधिक होता है।

स्टॉप लॉस को क्लोजिंग प्राइस माइनस 1.5 गुना एटीआर पर सेट किया जाता है। टेक प्रॉफिट को क्लोजिंग प्राइस प्लस एटीआर को टेक प्रॉफिट गुणांक से गुणा किया जाता है। यह ट्रेंड ट्रेलिंग स्टॉप लॉस सेट करने के लिए 2 गुना एटीआर का भी उपयोग करता है।

लाभ विश्लेषण

  1. बाजार के प्रमुख रुझानों को निर्धारित करने के लिए दोहरे ईएमए का उपयोग करना, शोर से दबाव से बचता है
  2. झूठे ब्रेक को फ़िल्टर करने के लिए आरएसआई संकेतक का संयोजन, प्रविष्टि सटीकता में सुधार करता है
  3. गतिशील स्टॉप लॉस और ले लाभ बाजार की अस्थिरता के अनुकूल
  4. रुझान के पीछे स्टॉप लॉस लाभ को अधिकतम करता है

जोखिम विश्लेषण

  1. ईएमए लाइनों का प्रभाव कम होता है, इससे अल्पकालिक अवसरों को खोया जा सकता है
  2. गलत आरएसआई पैरामीटर सेटिंग प्रविष्टियों को मिस कर सकती है
  3. गलत स्टॉप लॉस/टेक प्रॉफिट अनुपात बहुत ढीला या सख्त हो सकता है
  4. स्टॉप लॉस को बाजार के हिंसक उतार-चढ़ाव के दौरान छिपाया जा सकता है

अनुकूलन दिशाएँ

  1. इष्टतम मापदंडों को खोजने के लिए विभिन्न ईएमए संयोजनों का परीक्षण करें
  2. प्रवेश सटीकता और पकड़ने के अवसरों को संतुलित करने के लिए आरएसआई मापदंडों को अनुकूलित करें
  3. इष्टतम विन्यास खोजने के लिए विभिन्न स्टॉप लॉस/टेक प्रॉफिट अनुपातों का परीक्षण करें
  4. स्टॉप लॉस प्रवेश की संभावना को कम करने के लिए अधिक फ़िल्टर स्थितियां जोड़ें

सारांश

कुल मिलाकर यह एक अपेक्षाकृत स्थिर मध्यम से दीर्घकालिक होल्डिंग रणनीति है। यह अल्पकालिक शोर से प्रभावित होने से बचने के लिए प्रमुख बाजार प्रवृत्ति को निर्धारित करने के लिए दोहरे ईएमए का उपयोग करता है। आरएसआई के अलावा कुछ हद तक झूठे ब्रेक को भी फ़िल्टर करता है। इसके अलावा, गतिशील स्टॉप लॉस / टेक प्रॉफिट तंत्र बाजार की अस्थिरता के आधार पर रणनीति को समायोजित करने की अनुमति देता है। हालांकि, अभी भी जोखिम हैं जैसे चलती औसत और स्टॉप लॉस पैठ की क्षमता। हमें व्यावहारिक अनुप्रयोग के दौरान पैरामीटर ट्यूनिंग और अनुकूलन के माध्यम से इष्टतम कॉन्फ़िगरेशन खोजने की आवश्यकता है।


/*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)


अधिक