रैखिक प्रतिगमन और चलती औसत पर आधारित प्रतिगमन व्यापार रणनीति के बाद की प्रवृत्ति

लेखक:चाओझांग, दिनांकः 2023-12-18 17:34:29
टैगः

img

अवलोकन

यह रणनीति रैखिक प्रतिगमन रेखा और चलती औसत रेखा के आधार पर एक सरल प्रवृत्ति के बाद ट्रेडिंग प्रणाली को डिजाइन करती है। जब रैखिक प्रतिगमन रेखा चलती औसत के ऊपर पार करती है तो यह लंबी जाती है और जब रैखिक प्रतिगमन रेखा नीचे पार करती है तो यह छोटी हो जाती है। इस बीच, यह कुछ ट्रेडिंग संकेतों को फ़िल्टर करने के लिए प्रतिगमन रेखा की ढलान का उपयोग करता है और केवल तब प्रवेश करता है जब प्रवृत्ति दिशा मेल खाती है।

रणनीति का नाम

प्रतिगमन व्यापार रणनीति के बाद की प्रवृत्ति

रणनीतिक सिद्धांत

इस रणनीति के प्रमुख घटकों में निम्नलिखित शामिल हैंः

  1. एन-दिवसीय सरल चलती औसत (एसएमए) की गणना करें
  2. हाल के एन दिनों की रैखिक प्रतिगमन रेखा की गणना करें
  3. जब बंद मूल्य एसएमए के ऊपर पार करता है और प्रतिगमन रेखा से अधिक होता है तो लंबा जाओ
  4. जब बंद मूल्य एसएमए से नीचे जाता है और प्रतिगमन रेखा से नीचे होता है तो शॉर्ट करें
  5. स्टॉप लॉस मूल्य और लाभ मूल्य सेट करें

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

इसके अतिरिक्त, रणनीति एक स्टॉप लॉस तंत्र भी निर्धारित करती है। जब कीमत स्टॉप लॉस लाइन तक पहुंचती है, तो स्टॉप लॉस के लिए पदों को बंद कर देती है। यह कुछ लाभों को लॉक करने के लिए लाभ लेने की रेखा भी निर्धारित करती है।

रणनीति के फायदे

इस रणनीति के निम्नलिखित फायदे हैंः

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

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

इस रणनीति में कुछ जोखिम भी हैं:

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

इन जोखिमों के संबंध में, हम निम्नलिखित पहलुओं से अनुकूलन कर सकते हैंः

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

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

रणनीति को और अधिक अनुकूलित करने के मुख्य पहलुओं में निम्नलिखित शामिल हैंः

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

निष्कर्ष

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


/*backtest
start: 2023-11-17 00:00:00
end: 2023-12-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Regression Trading Strategy", shorttitle="RTS", overlay=true)

// Input parameters
n = input(14, title="SMA Period")
stop_loss_percentage = input(2, title="Stop Loss Percentage")
take_profit_percentage = input(2, title="Take Profit Percentage")

// Calculate the SMA
sma = sma(close, n)

// Linear regression function
linear_regression(src, length) =>
    sumX = 0.0
    sumY = 0.0
    sumXY = 0.0
    sumX2 = 0.0
    for i = 0 to length - 1
        sumX := sumX + i
        sumY := sumY + src[i]
        sumXY := sumXY + i * src[i]
        sumX2 := sumX2 + i * i
    slope = (length * sumXY - sumX * sumY) / (length * sumX2 - sumX * sumX)
    intercept = (sumY - slope * sumX) / length
    line = slope * length + intercept
    line

// Calculate the linear regression
regression_line = linear_regression(close, n)

// Plot the SMA and regression line
plot(sma, title="SMA", color=color.blue)
plot(regression_line, title="Regression Line", color=color.red)

// Trading strategy conditions
long_condition = crossover(close, sma) and close > regression_line
short_condition = crossunder(close, sma) and close < regression_line

// Exit conditions
stop_loss_price = close * (1 - stop_loss_percentage / 100)
take_profit_price = close * (1 + take_profit_percentage / 100)

// Plot entry and exit points on the chart
plotshape(series=long_condition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=short_condition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
plotshape(series=crossunder(close, stop_loss_price), title="Stop Loss", location=location.abovebar, color=color.red, style=shape.labeldown, text="SL")
plotshape(series=crossover(close, take_profit_price), title="Take Profit", location=location.belowbar, color=color.green, style=shape.labelup, text="TP")

// Strategy orders
strategy.entry("Long", strategy.long, when = long_condition)
strategy.entry("Short", strategy.short, when = short_condition)
strategy.exit("Exit", from_entry = "Long", when = crossover(close, stop_loss_price) or crossover(close, take_profit_price))
strategy.exit("Exit", from_entry = "Short", when = crossunder(close, stop_loss_price) or crossunder(close, take_profit_price))



अधिक