रैखिक प्रतिगमन और चलती औसत पर आधारित प्रवृत्ति अनुसरण ट्रेडिंग रणनीति


निर्माण तिथि: 2023-12-18 17:34:29 अंत में संशोधित करें: 2023-12-18 17:34:29
कॉपी: 4 क्लिक्स: 890
1
ध्यान केंद्रित करना
1621
समर्थक

रैखिक प्रतिगमन और चलती औसत पर आधारित प्रवृत्ति अनुसरण ट्रेडिंग रणनीति

अवलोकन

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

नीति का नाम

ट्रेंड फॉलोइंग रिग्रेशन ट्रेडिंग रणनीति

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

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

  1. N दिन की सरल चलती औसत (SMA) की गणना करें
  2. हाल ही में एन दिनों के लिए एक रैखिक प्रतिगमन रेखा की गणना करें
  3. जब समापन मूल्य SMA रेखा के ऊपर और वापसी रेखा से ऊपर होता है, तो अधिक करें
  4. जब समापन मूल्य SMA रेखा के नीचे और वापसी रेखा से नीचे होता है, तो शून्य करें
  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))