नादराया-वॉटसन प्रतिगमन और एटीआर चैनल पर आधारित प्रवृत्ति अनुसरण रणनीति


निर्माण तिथि: 2024-02-22 15:15:03 अंत में संशोधित करें: 2024-02-22 15:15:03
कॉपी: 1 क्लिक्स: 962
1
ध्यान केंद्रित करना
1617
समर्थक

नादराया-वॉटसन प्रतिगमन और एटीआर चैनल पर आधारित प्रवृत्ति अनुसरण रणनीति

अवलोकन

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

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

सबसे पहले, रणनीति ने दो अलग-अलग अंतराल के लिए नाडाराया-वाटसन कोर रिटर्न का उपयोग करके रिटर्न वक्रों की गणना की, और फिर दो रिटर्न वक्रों के क्रॉसिंग की तुलना करके प्रवृत्ति की दिशा निर्धारित की गई। विशेष रूप से, h-अवधि और h-लैग अवधि के लिए रिटर्न वक्रों की गणना अलग-अलग की गई, जब h-लैग अवधि वक्रों पर h-अवधि वक्रों को पार करते हैं, तो पूर्वाग्रह के लिए और जब h-लैग अवधि वक्रों के नीचे h-अवधि वक्रों को पार करते हैं, तो पूर्वाग्रह के लिए।

दूसरा, यह रणनीति एटीआर चैनल का उपयोग करके प्रवेश बिंदुओं को निर्धारित करती है। ऊपर की पट्टी को रिवर्स वक्र के लिए n-अवधि एटीआर के गुणकों को जोड़ना है, और नीचे की पट्टी को रिवर्स वक्र के लिए n-अवधि एटीआर के गुणकों को घटाना है। जब कीमत ऊपर की पट्टी को तोड़ती है और अंदर आती है, तो नीचे की पट्टी को तोड़ने पर अधिक देखें और अंदर जाएं।

अंत में, एक स्टॉप लॉस तंत्र स्थापित किया गया है। यदि कीमतें स्टॉप लॉस बार की जड़ K लाइन से नीचे हैं, तो स्टॉप लॉस आउट करें।

रणनीति का विश्लेषण

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

इसके अलावा, एटीआर चैनल ने एक उचित प्रवेश बिंदु स्थापित किया है, जिससे रुझान में बदलाव के बिंदु के पास गलत प्रवेश से बचा जा सकता है। स्टॉप लॉस तंत्र भी एकल नुकसान को प्रभावी रूप से नियंत्रित करता है।

इसलिए, इस रणनीति में रुझानों की पहचान करने की क्षमता, प्रवेश की सटीकता और एकल स्टॉप लॉस जोखिम के नियंत्रण जैसे फायदे हैं।

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

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

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

अनुकूलन दिशा

रणनीति की स्थिरता और सटीकता को बढ़ाने के लिए प्रवृत्ति और उलट संकेतों के अन्य संकेतकों जैसे कि वॉल्यूम, मैकड आदि के संयोजन पर विचार किया जा सकता है।

पुनरावृत्ति विश्लेषण में कोर फ़ंक्शन को भी समायोजित किया जा सकता है, जैसे कि एपेनेचिकोव कोर को ध्यान में रखते हुए, यह देखने के लिए कि क्या बेहतर मिलान प्रभाव प्राप्त किया जा सकता है।

एटीआर चैनल के एटीआर चक्र और गुणांक को भी ऑप्टिमाइज़ करने के लिए बार-बार परीक्षण करने की आवश्यकता होती है ताकि सर्वोत्तम पैरामीटर संयोजन का पता लगाया जा सके।

संक्षेप

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

रणनीति स्रोत कोड
/*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=5
strategy("Custom Strategy with Stop Loss and EMA", overlay=true)

src = input(close, title='Source')
h = input(10, title='Lookback Window', tooltip='The number of bars used for the estimation.')
r = input(10, title='Relative Weighting', tooltip='Relative weighting of time frames.')
x_0 = input(50, title='Start Regression at Bar',  tooltip='Bar index on which to start regression.')
lag = input(2, title='Lag', tooltip='Lag for crossover detection.')
stopLossBars = input(3, title='Stop Loss Bars', tooltip='Number of bars to check for stop loss condition.')
emaPeriod = input(46, title='EMA Period',  tooltip='Period for Exponential Moving Averages.')

lenjeje = input(32, title='ATR Period', tooltip='Period to calculate upper and lower band')
coef = input(2.7, title='Multiplier', tooltip='Multiplier to calculate upper and lower band')

// Function for Nadaraya-Watson Kernel Regression
kernel_regression1(_src, _size, _h) =>
    _currentWeight = 0.0
    _cumulativeWeight = 0.0
    for i = 0 to _size + x_0
        y = _src[i] 
        w = math.pow(1 + (math.pow(i, 2) / ((math.pow(_h, 2) * 2 * r))), -r)
        _currentWeight += y * w
        _cumulativeWeight += w
    [_currentWeight, _cumulativeWeight]

// Calculate Nadaraya-Watson Regression
[currentWeight1, cumulativeWeight1] = kernel_regression1(src, h, h)
yhat1 = currentWeight1 / cumulativeWeight1
[currentWeight2, cumulativeWeight2] = kernel_regression1(src, h-lag, h-lag)
yhat2 = currentWeight2 / cumulativeWeight2

// Calculate Upper and Lower Bands
upperjeje = yhat1 + coef * ta.atr(lenjeje)
lowerjeje = yhat1 - coef * ta.atr(lenjeje)

// Plot Upper and Lower Bands
plot(upperjeje, color=color.rgb(0, 247, 8), title="Upper Band", linewidth=2)
plot(lowerjeje, color=color.rgb(255, 0, 0), title="Lower Band", linewidth=2)

// Calculate EMAs
emaLow = ta.ema(low, emaPeriod)
emaHigh = ta.ema(high, emaPeriod)

// Plot EMAs
plot(emaLow, color=color.rgb(33, 149, 243, 47), title="EMA (Low)", linewidth=2)
plot(emaHigh, color=color.rgb(255, 153, 0, 45), title="EMA (High)", linewidth=2)

// Long Entry Condition
longCondition = low < lowerjeje
strategy.entry("Long", strategy.long, when=longCondition)

// Stop Loss Condition
stopLossCondition = close[1] < strategy.position_avg_price and close[2] < strategy.position_avg_price and close[3] < strategy.position_avg_price
strategy.close("Long", when=stopLossCondition)

// Close and Reverse (Short) Condition
shortCondition = high > upperjeje
strategy.close("Long", when=shortCondition)
strategy.entry("Short", strategy.short, when=shortCondition)