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


निर्माण तिथि: 2023-11-17 16:51:33 अंत में संशोधित करें: 2023-11-17 16:51:33
कॉपी: 0 क्लिक्स: 616
1
ध्यान केंद्रित करना
1617
समर्थक

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

अवलोकन

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

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

रणनीति पहले दो अलग-अलग चक्रों के लिए एक रैखिक रिटर्न वक्र की गणना करती है, एक तेज रैखिक रिटर्न के लिए, जो कम चक्र है, और दूसरा धीमी रैखिक रिटर्न के लिए, जो अधिक चक्र है। फिर दो रैखिक रिटर्न के अंतर की गणना करें, जब तेज रैखिक रिटर्न धीमी रैखिक रिटर्न से अधिक है, तो अंतर 0 से अधिक है, यह दर्शाता है कि कीमत ऊपर की ओर है; जब तेज रैखिक रिटर्न धीमी रैखिक रिटर्न से कम है, तो अंतर 0 से कम है, यह दर्शाता है कि कीमत नीचे की ओर है।

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

श्रेष्ठता विश्लेषण

  1. द्वि-रैखिक रिग्रेशन का उपयोग करके मूल्य प्रवृत्ति को पकड़ने के लिए, रिट्रेसिंग बेहतर है।

  2. ईएमए फ़िल्टर जोड़े गए हैं, जो कुछ गैर-प्रवृत्ति स्थितियों को फ़िल्टर कर सकते हैं और गलत संकेतों से बच सकते हैं।

  3. रणनीति तर्क सरल और स्पष्ट है, इसे समझना और लागू करना आसान है।

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

  1. अनुचित रूप से सेट की गई रैखिक रिवर्सन चक्रों से बहुत अधिक शोर सिग्नल उत्पन्न हो सकते हैं।

  2. एक मजबूत प्रवृत्ति के दौरान, ईएमए फ़िल्टर कुछ अवसरों को याद कर सकता है।

  3. आपात स्थिति में, अक्सर लेन-देन और नुकसान हो सकता है।

समाधान:

  1. रैखिक प्रतिगमन चक्र पैरामीटर का अनुकूलन, कम शोर।

  2. ईएमए चक्र को बाजार की स्थिति के अनुसार गतिशील रूप से समायोजित किया जा सकता है।

  3. नुकसान को नियंत्रित करने के लिए स्टॉपलॉस बढ़ाएं

रणनीति अनुकूलन

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

  1. त्वरित रैखिक प्रतिगमन और धीमी रैखिक प्रतिगमन के चक्रों को अनुकूलित करें, और सबसे अच्छा संयोजन खोजें।

  2. ईएमए के बजाय अन्य फ़िल्टरिंग मापदंडों को आज़माएं, जैसे कि ब्रिनबैंड, केडीजे आदि, और देखें कि क्या यह रणनीति को बेहतर बना सकता है।

  3. जोखिम को नियंत्रित करने के लिए गतिशील स्टॉप लॉस को बढ़ाएं और नुकसान को रोकने के लिए।

  4. स्टॉक सिलेक्शन के साथ ट्रेडिंग के लिए ट्रेंडिंग स्टॉक का चयन करें।

  5. विकास मापदंडों को अनुकूलित करने की सुविधा, बाजार की स्थिति के अनुसार स्वचालित रूप से मापदंडों को समायोजित करना।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TradingAmmo

//@version=4
strategy("Linear trend", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),   input(1, "Month"),   input(1, "Day"),   0, 0)
_testPeriod() =>
    iff(time >= startP and time <= end, true, false)

src = close
len1 = input(defval=13, minval=1, title="Fast LR")
len2 = input(defval=55, minval=1, title="Slow LR")

lag1 = input(0, title="Lag for fast")
lag2 = input(0, title="Lag for slow")

threshold  = input(0,step=0.5, title="Threshold")

fast_lr = linreg(src, len1, lag1)
slow_lr = linreg(src, len2, lag2)
lr = fast_lr - slow_lr
plot_fast = plot(lr, color = lr > 0 ? color.green : color.red)
plot(threshold, color=color.purple)

long_condition = crossover(lr, threshold) and close > ema(close, 200) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition) 

short_condition = crossunder(lr, threshold) 
strategy.close('BUY', when=short_condition)