
यह रणनीति एक सरल ब्रेकआउट रणनीति है, जो दो अलग-अलग शून्य-समय-विलंब ईएमए के अंतर का उपयोग करके लक्ष्य वस्तु के ऊपर या नीचे की गति को ट्रैक करती है। जब अंतर एक निश्चित गुणांक से अधिक है, तो बुलिन बैंड के आधार पर अधिक या कम संकेत उत्पन्न होता है।
यह रणनीति दो विशेष प्रकार के ईएमए सूचकांकों का उपयोग करके अस्थिरता दर अंतर की गणना करती है। इन दोनों ईएमए सूचकांकों के लिए गणना सूत्र हैः
hJumper = math.max(src,ta.ema(src,lx))
lJumper = math.min(src,ta.ema(src,lx))
dif = (hJumper / lJumper) - 1
यह सूचकांक कीमतों में भारी उतार-चढ़ाव का तुरंत जवाब देता है और इसमें कोई देरी नहीं होती है।
जब diff ब्लीन बैंड के ऊपर से अधिक है, तो एक प्रवेश संकेत उत्पन्न होता है; जब diff ब्लीन बैंड के नीचे से कम है, तो एक निकास संकेत उत्पन्न होता है। आधार ईएमए दिशा अधिक या खाली दिशा तय करती है।
इस रणनीति का सबसे बड़ा लाभ यह है कि यह बिना किसी विलंबता के तेजी से ब्रेकआउट सिग्नल को पकड़ता है। यह दो विशेष शून्य समय विलंब ईएमए की गणना करके किया जाता है। यह रणनीति को कीमत के ब्रेकआउट की घटनाओं के लिए तुरंत प्रतिक्रिया करने की अनुमति देता है, जिससे प्रवृत्ति के गठन की शुरुआत में अधिक दक्षता को पकड़ना संभव हो जाता है।
एक और लाभ यह है कि यह रणनीति केवल एक पैरामीटर lx का उपयोग करती है। कम पैरामीटर रणनीति को आसानी से समायोजित करते हैं और अति-अनुकूलन के जोखिम को कम करते हैं।
इस रणनीति का मुख्य जोखिम यह है कि ब्रेकआउट सिग्नल में झूठे ब्रेकआउट हो सकते हैं। जब कीमतों में उतार-चढ़ाव होता है, तो लगातार झूठे ब्रेकआउट हो सकते हैं। इस तरह के जोखिम को कम करने के लिए, बुरिन बैंड गुणांक को उचित रूप से बढ़ाया जा सकता है ताकि सिग्नल अधिक स्थिर हो सके।
एक अन्य जोखिम छोटे नुकसान है जो अक्सर अस्थिरता के दौरान होता है। इसे बाहर निकलने के तंत्र को समायोजित करके कम किया जा सकता है। उदाहरण के लिए, स्टॉप लॉस या स्टॉप प्राइस सेट करना।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
अन्य संकेतकों के साथ संयोजन में प्रवेश संकेतों को फ़िल्टर करना, झूठी दरारों की संभावना को कम करना
स्टॉपलॉस और स्टॉपहोल्डर्स को बढ़ाया गया, जो जोखिम को प्रबंधित करता है
लेन-देन की मात्रा की पुष्टि करने के लिए और कई बार गलत संकेतों से बचने के लिए
बाजार में उतार-चढ़ाव के आधार पर पैरामीटर को समायोजित करने के लिए अनुकूलित ब्रिन बैंड पैरामीटर का उपयोग करना
गतिशील अनुकूलन रणनीति पैरामीटर मशीन सीखने के तरीकों पर आधारित
यह तत्काल अस्थिरता ईएमए रणनीति शून्य-घंटे के अंतराल पर ईएमए की गणना करके मूल्य प्रवृत्ति की गति को पकड़ने के लिए है। इसकी त्वरित प्रतिक्रिया, सरल पैरामीटर और अन्य फायदे हैं। अगले चरण को फ़िल्टर सिग्नल, स्टॉप लॉस स्टॉप और ट्रेड वॉल्यूम की पुष्टि आदि के रूप में अनुकूलित किया जा सकता है, जिससे रणनीति विभिन्न बाजार स्थितियों में स्थिर रूप से काम कर सकती है।
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wbburgin
//@version=5
strategy("Zero-lag Volatility-Breakout EMA Trend Strategy",overlay=false)
tt1 = "If selected, the strategy will not close long or short positions until the opposite signal is received. This"+
" exposes you to more risk but potentially could generate larger returns."
src = input.source(close,"Source")
lx = input.int(200,"EMA Difference Length")
bbmult = input.float(2.0,"Standard Deviation Multiple")
useBinaryStrategy = input.bool(true,"Use Binary Strategy",tooltip = tt1)
hJumper = math.max(src,ta.ema(src,lx))
lJumper = math.min(src,ta.ema(src,lx))
dif = (hJumper / lJumper) - 1
[bbm,bbu,bbl] = ta.bb(dif,lx,bbmult)
plot(dif,color=color.white,title="Zero lag EMA Difference")
plot(bbu,color=color.lime,title="Bollinger Top")
plot(bbl,color=color.red,title="Bollinger Bottom")
plot(bbm,color=color.yellow,title="Bollinger Middle")
sigEnter = ta.crossover(dif,bbu)
sigExit = ta.crossunder(dif,bbm)
emaBase = ta.ema(src,lx)
enterLong = sigEnter and emaBase > emaBase[1]
enterShort = sigEnter and emaBase < emaBase[1]
plotshape(enterLong,style=shape.labelup,location=location.bottom,color=color.green,size=size.tiny)
plotshape(enterShort,style=shape.labeldown,location=location.top,color=color.red,size=size.tiny)
if enterLong
strategy.entry("Long",strategy.long)
if enterShort
strategy.entry("Short",strategy.short)
if not useBinaryStrategy and sigExit
strategy.close("Long")
strategy.close("Short")