यह रणनीति ईएमए की औसत रेखा के संयोजन में बूलिन और एटीआर सूचकांक का उपयोग करके निर्णय करती है, जिससे गतिशील ब्रेकआउट ट्रेडिंग रणनीति बनती है। जब कीमत ऊपर की ओर बूलिन को पार करती है और तेजी से ईएमए औसत रेखा को पार करती है, तो यह एक खरीद संकेत उत्पन्न करती है; जब कीमत नीचे की ओर बूलिन को पार करती है और तेजी से ईएमए की औसत रेखा को तोड़ती है, तो यह एक बेचने का संकेत उत्पन्न करती है। साथ ही एटीआर सूचकांक का उपयोग करके एक स्टॉप लॉस होती है।
ब्रिन लाइन की मध्य रेखा, ऊपरी रेखा और निचली रेखा की गणना करें। मध्य रेखा n चक्र की SMA औसत रेखा है, ऊपरी रेखा मध्य रेखा + m है*n चक्र मानक विचलन, निचला ट्रैक मध्य रेखा-m है*n चक्र मानक भिन्नता
स्टॉप लॉस को ट्रैक करने के लिए एटीआर की गणना करें
कीमतों की गतिशीलता का आकलन करने के लिए 1 चक्र और n चक्रों के लिए ईएमए औसत की गणना करें।
जब कीमत ब्रिलिन को पार करती है और तेजी से n चक्र ईएमए औसत रेखा को पार करती है, तो एक खरीद संकेत उत्पन्न होता है।
जब कीमत ब्रीज़िन ट्रैक के नीचे से गुजरती है और तेजी से n चक्र ईएमए के माध्यम से गुजरती है, तो एक बेचने का संकेत उत्पन्न होता है।
एटीआर सूचकांक का उपयोग स्टॉप लॉस सेट करने के लिए किया जाता है, जिससे कि कीमतों के टूटने की दिशा को ट्रैक किया जा सके और इससे बचा जा सके।
एटीआर स्टॉप लॉस के संयोजन के साथ ब्रिन लाइन जोखिम को प्रभावी ढंग से नियंत्रित करती है।
ईएमए गति की दिशा का आकलन करने के लिए तेजी से और धीरे-धीरे चल रहा है ताकि झूठे ब्रेकडाउन से बचा जा सके।
रणनीति पैरामीटर को विभिन्न बाजार स्थितियों के लिए अनुकूलित किया जा सकता है।
खरीद और बिक्री के संकेत स्पष्ट हैं, और ट्रेडिंग की उच्च आवृत्ति शॉर्ट-लाइन ट्रेडिंग के लिए उपयुक्त है।
एटीआर सूचकांक का उपयोग करके स्टॉप लॉस को ट्रैक करें और समय पर स्टॉप लॉस करें।
जब ब्रिन लाइन बहुत संकीर्ण होती है, तो अधिक शोर लेनदेन हो सकता है।
एटीआर पैरामीटर को बहुत छोटा सेट किया गया है, जिससे स्टॉप-डैमेज दूरी को बहुत करीब रखा जा सकता है।
ईएमए पैरामीटर को समय-समय पर समायोजित करने की आवश्यकता होती है, और अलग-अलग समय-समय पर अलग-अलग प्रभाव पड़ता है।
इस घटना के बाद से, व्यापारियों को सावधान रहने की आवश्यकता है।
स्टॉप लॉस को ट्रैक करना कभी-कभी बहुत कट्टरपंथी हो सकता है, जिससे नुकसान बढ़ सकता है।
ट्रेडिंग सिग्नल को फ़िल्टर करने के लिए अन्य संकेतकों के साथ संयोजन किया जा सकता है। उदाहरण के लिए, आरएसआई सूचक ओवरबॉट, केडीजे सूचक ओवरसोल्ड, आदि को निर्धारित करता है।
यह विचार किया जा सकता है कि एटीआर की गतिशीलता के आधार पर ब्रीलिंग पैरामीटर को समायोजित किया जाए, ताकि ब्रीलिंग मूल्य में उतार-चढ़ाव के अनुकूल हो सके।
विभिन्न ईएमए चक्र मापदंडों की प्रभावशीलता का परीक्षण करने के लिए सबसे अच्छा संयोजन खोजने के लिए।
एटीआर पैरामीटर को अस्थिरता दर के आधार पर बुद्धिमान रूप से समायोजित किया जा सकता है ताकि स्टॉप लॉस को अत्यधिक कट्टरपंथी होने से बचा जा सके।
डीप लर्निंग मॉडल को शामिल करने पर विचार करें ताकि यह तय किया जा सके कि कब खरीदारी करनी है।
इस रणनीति के समग्र विचार स्पष्ट है, ब्रीलिंग लाइन का उपयोग करके मूल्य तोड़ने के लिए, एटीआर रोक सीमा सेट, ईएमए निर्णय गति दिशा, तोड़ने की गति के लिए पूर्ण दिशा निर्णय, प्रभावी रूप से शॉर्ट लाइन मूल्य प्रवृत्ति को पकड़ने कर सकते हैं. जबकि कई प्रकार के संकेतक के संयोजन के लिए समग्र निर्णय, संकेत की गुणवत्ता में सुधार कर सकते हैं. लेकिन कुछ अनुकूलन दिशा भी है, पैरामीटर समायोजन, संकेतक संयोजन और अन्य तरीकों के माध्यम से इस रणनीति को और बेहतर बनाया जा सकता है, इसे अधिक स्थिर और अधिक लचीला बनाने के लिए।
/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="UT Bot Strategy", overlay = true)
//CREDITS to HPotter for the orginal code. The guy trying to sell this as his own is a scammer lol.
// Inputs
a = input(1, title = "Key Vaule. 'This changes the sensitivity'")
c = input(10, title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")
src = h ? security(heikinashi(syminfo.tickerid), timeframe.period, close, lookahead = false) : close
length = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)
// plot(bbr, "Bollinger Bands %B", color=#26A69A)
// band1 = hline(1, "Overbought", color=#787B86, linestyle=hline.style_dashed)
// hline(0.5, "Middle Band", color=color.new(#787B86, 50))
// band0 = hline(0, "Oversold", color=#787B86, linestyle=hline.style_dashed)
// fill(band1, band0, color=color.rgb(38, 166, 154, 90), title="Background")
xATR = atr(c)
nLoss = a * xATR
xATRTrailingStop = 0.0
xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss),
iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss),
iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss)))
pos = 0
pos := iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1,
iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue
ema = ema(src,1)
emaFast = ema(src,144)
emaSlow = ema(src,576)
sma = sma(src, c)
above = crossover(ema, xATRTrailingStop)
below = crossover(xATRTrailingStop, ema)
smaabove = crossover(src, sma)
smabelow = crossover(sma, src)
buy = src > xATRTrailingStop and above and (bbr>20 or bbr<80)
sell = src < xATRTrailingStop and below and (bbr>20 or bbr<80)
// buy = src > xATRTrailingStop
// sell = src < xATRTrailingStop
barbuy = src > xATRTrailingStop
barsell = src < xATRTrailingStop
// plot(emaFast , color = color.rgb(243, 206, 127), title="emaFast")
plot(xATRTrailingStop, color = color.rgb(233, 233, 232), title="xATRTrailingStop")
plotshape(buy, title = "Buy", text = 'Buy', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "Sell", text = 'Sell', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny)
// plotshape(buy, title = "Sell", text = 'Sell', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
// plotshape(sell, title = "buy", text = 'buy', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny)
barcolor(barbuy ? color.green : na)
barcolor(barsell ? color.red : na)
// strategy.entry("short", false, when = buy)
// strategy.entry("long ", true, when = sell)
strategy.entry("long", true, when = buy)
strategy.entry("short ", false, when = sell)