एहलर्स-फिशर रिलेटिव विगोर इंडेक्स रणनीति


निर्माण तिथि: 2023-12-22 12:04:23 अंत में संशोधित करें: 2023-12-22 12:04:23
कॉपी: 0 क्लिक्स: 721
1
ध्यान केंद्रित करना
1623
समर्थक

एहलर्स-फिशर रिलेटिव विगोर इंडेक्स रणनीति

अवलोकन

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

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

इस रणनीति में सबसे पहले closing price - opening price, यानी स्टॉक का वास्तविक हिस्सा होता है। इसके बाद high price - low price, यानी स्टॉक का छायांकित हिस्सा होता है। इन दोनों भागों को अलग-अलग जोड़कर और औसत लेकर स्टॉक की गतिशीलता की गणना की जाती है। फिर इस गतिशीलता मूल्य का उपयोग स्टॉक की अस्थिरता को विभाजित करने के लिए किया जाता है ताकि RVI प्राप्त किया जा सके।

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

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

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

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

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

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

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

अनुकूलन दिशा

इस रणनीति को और अधिक अनुकूलित किया जा सकता हैः

  1. एरेस-फिशर सूचकांक के मापदंडों को अनुकूलित किया गया है ताकि यह अधिक संवेदनशील हो या शोर फ़िल्टर हो।

  2. मशीन लर्निंग एल्गोरिदम जैसे कि एलएसटीएम का उपयोग करके संकेतक का मॉडलिंग अधिक विश्वसनीय ट्रेडिंग सिग्नल उत्पन्न करने के लिए किया जाता है।

  3. स्टॉप लॉस की दूरी को गतिशील रूप से समायोजित करने के लिए एटीआर जैसे बाजार में उतार-चढ़ाव के संकेतकों के साथ संयोजन करें।

  4. सिग्नल गुणवत्ता को बढ़ाने के लिए बहु-कारक मॉडल के लिए समर्थन जोड़ना, अन्य तकनीकी संकेतकों और बुनियादी संकेतकों को एकीकृत करना

  5. अनुकूलित पोजीशन लॉजिक, गतिशील बाहर निकलने की शर्तों की स्थापना। अनुकूली स्टॉप लॉस और स्टॉप स्टॉप तकनीक की शुरुआत की।

संक्षेप

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

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

//@version=3
strategy("Ehlers Fisher Stochastic Relative Vigor Index Strategy", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.1)
p = input(10, title = "Length")
FisherStoch(src, len) =>
    val1 = stoch(src, src, src, len) / 100
    val2 = (4 * val1 + 3 * val1[1] + 2 * val1[2] + val1[3]) / 10
    FisherStoch = 0.5 * log((1 + 1.98 * (val2 - 0.5)) / (1 - 1.98 * (val2 - 0.5))) / 2.64

CO = close - open
HL = high - low

value1 = (CO + 2 * CO[1] + 2 * CO[2] + CO[3]) / 6
value2 = (HL + 2 * HL[1] + 2 * HL[2] + HL[3]) / 6

num = sum(value1, p)
denom = sum(value2, p)

RVI = denom != 0 ? num / denom : 0

signal = FisherStoch(RVI, p)
trigger = signal[1]
oppositeTrade = input(true)
barsSinceEntry = 0
barsSinceEntry := nz(barsSinceEntry[1]) + 1
if strategy.position_size == 0
    barsSinceEntry := 0
if ((crossover(signal, trigger) and not oppositeTrade) or (oppositeTrade and crossunder(signal, trigger))) and abs(signal) > 2 / 2.64
    strategy.entry("Long", strategy.long)
    barsSinceEntry := 0
if ((crossunder(signal, trigger) and not oppositeTrade) or (oppositeTrade and crossover(signal, trigger))) and abs(signal) > 2 / 2.64
    strategy.entry("Short", strategy.short)
    barsSinceEntry := 0
if strategy.openprofit < 0 and barsSinceEntry > 8
    strategy.close_all()
    barsSinceEntry := 0
    
hline(0, title="ZeroLine", color=gray) 
signalPlot = plot(signal, title = "Signal", color = blue)
triggerPlot = plot(trigger, title = "Trigger", color = green)
fill(signalPlot, triggerPlot, color = signal < trigger ? red : lime, transp = 50)