এই কৌশলটি সিগন্যালগুলি নির্ধারণের জন্য এটিআর সূচক এবং ইএমএ লাইনের সাথে মিলিত বোলিংজার ব্যান্ডগুলি ব্যবহার করে। এটি যখন দাম বোলিংজার উপরের ব্যান্ডটি ভেঙে দেয় এবং দ্রুত ইএমএ লাইনের উপরে অতিক্রম করে তখন এটি ক্রয় সংকেত উত্পন্ন করে। যখন দাম বোলিংজার নিম্ন ব্যান্ডটি ভেঙে দেয় এবং দ্রুত ইএমএ লাইনের নীচে অতিক্রম করে তখন এটি বিক্রয় সংকেত উত্পন্ন করে। এটিআর সূচকটি স্টপ লস সেট করতে ব্যবহৃত হয়।
বলিংগার মিডলাইন, উপরের ব্যান্ড এবং নীচের ব্যান্ড গণনা করুন। মিডলাইন হল এন-পরিয়ড এসএমএ, উপরের ব্যান্ড হল মিডলাইন + এমএন-পরিয়ড স্ট্যান্ডার্ড ডিভিয়েশন, নিম্ন ব্যাণ্ড হল মধ্যরেখা - mn-period স্ট্যান্ডার্ড ডিভিয়েশন
স্টপ লস ট্র্যাক করার জন্য ATR ইন্ডিকেটর গণনা করুন।
দামের গতি নির্ধারণের জন্য ১-অবধি এবং n-অবধি EMA লাইন গণনা করুন।
যখন মূল্য দ্রুত বোলিংজার উপরের ব্যান্ড এবং ইএমএ লাইনের উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উৎপন্ন হয়।
যখন দাম দ্রুত বোলিংগারের নিম্ন ব্যাণ্ড এবং ইএমএ লাইনের নিচে চলে যায়, তখন একটি বিক্রয় সংকেত উৎপন্ন হয়।
এটিআর সূচক স্টপ লস পয়েন্ট সেট করে, ফাঁদে পড়া এড়াতে দামের ব্রেকআউট দিক অনুসরণ করে।
ATR স্টপ লস এর সাথে বোলিংজার ব্যান্ডগুলি কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করতে পারে।
EMA এর দ্রুত এবং ধীর রেখা গতির দিকনির্দেশনা নির্ধারণ করে, মিথ্যা ভাঙ্গন এড়ানো।
সামঞ্জস্যযোগ্য পরামিতি বিভিন্ন বাজারের পরিবেশের জন্য উপযুক্ত।
স্বল্পমেয়াদী ট্রেডিংয়ের জন্য উপযুক্ত উচ্চ ট্রেডিং ফ্রিকোয়েন্সি সহ স্পষ্ট ক্রয় / বিক্রয় সংকেত।
এটিআর ইন্ডিকেটর সময়মতো স্টপ লস ট্র্যাক করে।
সংকীর্ণ বোলিংজার ব্যান্ডের পরিসীমা আরও গোলমালের কারণ হতে পারে।
এটিআর পরামিতি খুব ছোট সেট করা খুব কাছাকাছি স্টপ লস হতে পারে যার ফলে আটকে যেতে পারে।
বিভিন্ন চক্রের প্রভাবের জন্য EMA পরামিতিগুলিকে সামঞ্জস্য করতে হবে।
বাজারের অস্থিরতা আরও বেশি ট্রেড সৃষ্টি করতে পারে, সাবধানতা অবলম্বন করতে হবে।
স্টপ লস ট্র্যাকিং কখনও কখনও খুব আক্রমণাত্মক হতে পারে, ক্ষতির সম্প্রসারণের কারণ হতে পারে।
ট্রেডিং সিগন্যাল ফিল্টার করার জন্য অন্যান্য সূচকগুলির সাথে সংযুক্ত করুন, যেমন ওভারকুপ/ওভারসোল্ডের জন্য RSI, ডিভার্জেন্সের জন্য KDJ ইত্যাদি।
এটিআর-এর উপর ভিত্তি করে বোলিংজার পরামিতিগুলিকে দামের ওঠানামা অনুসারে গতিশীলভাবে সামঞ্জস্য করার বিষয়টি বিবেচনা করুন।
সেরা প্যারামিটার সমন্বয় জন্য বিভিন্ন EMA চক্র পরামিতি পরীক্ষা করুন।
আক্রমণাত্মক স্টপ লস এড়ানোর জন্য অস্থিরতার উপর ভিত্তি করে বুদ্ধিমানভাবে এটিআর পরামিতিগুলি সামঞ্জস্য করুন।
ক্রয়/বিক্রয় সিদ্ধান্তের সময় নির্ধারণে সহায়তা করার জন্য গভীর শেখার মডেলগুলি অন্তর্ভুক্ত করার বিষয়টি বিবেচনা করুন।
এই কৌশলটির একটি স্পষ্ট যুক্তি রয়েছে যা দামের ব্রেকআউট ক্যাপচার করতে বোলিংজার ব্যান্ডগুলি ব্যবহার করে, স্টপ লস রেঞ্জ সেট করতে এটিআর, ইএমএ গতির ব্রেকআউটের বিস্তৃত বিচারের জন্য গতির দিক নির্ধারণ করতে, যা স্বল্পমেয়াদী মূল্য প্রবণতা কার্যকরভাবে ক্যাপচার করতে পারে। বিস্তৃত বিচারের জন্য একাধিক সূচক একত্রিত করা সংকেতের গুণমান উন্নত করতে পারে। আরও স্থিতিশীলতা এবং স্থিতিস্থাপকতার জন্য এই কৌশলটি আরও পরিমার্জন করতে প্যারামিটার টিউনিং, সূচক সংমিশ্রণ ইত্যাদির মাধ্যমে অপ্টিমাইজেশনের জন্য এখনও জায়গা রয়েছে।
/*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)