
এটি একটি স্বনির্ধারিত প্রবণতা ট্র্যাকিং কৌশল যা একাধিক প্রযুক্তিগত সূচককে একত্রিত করে। এই কৌশলটি ইউটি বট সতর্কতা সিস্টেম, তুলনামূলকভাবে দুর্বল সূচক (আরএসআই) ফিল্টার, পুনরায় আঁকানো না হওয়া এটিআর ট্র্যাকিং স্টপ লস এবং ডনচিয়ান চ্যানেল (ডনচিয়ান চ্যানেল) এর সমন্বয় করে। এই কৌশলটি 15 মিনিটের সময় ফ্রেম ব্যবহার করে, উইকিং-আশি (হেকিন আশি) মানচিত্র ব্যবহার করে সংকেতের নির্ভুলতা উন্নত করে এবং শতাংশ ভিত্তিক প্রস্থান লক্ষ্য নির্ধারণ করে।
এই কৌশলটির মূল অংশটি হ’ল একাধিক সূচকের সমন্বয় দ্বারা বাজার প্রবণতা সনাক্ত এবং ট্র্যাক করা, পাশাপাশি একটি নমনীয় ঝুঁকি ব্যবস্থাপনার ব্যবস্থা দেওয়া। এটি আরও বিস্তৃত এবং শক্তিশালী ট্রেডিং সিদ্ধান্ত গ্রহণের জন্য গতিশীলতা (আরএসআই), অস্থিরতা (এটিআর) এবং প্রবণতা (ডাংচিয়ান চ্যানেল) এর মতো একাধিক মাত্রার বাজার তথ্যকে একত্রিত করে।
এটিআর ট্র্যাকিং স্টপঃ এটিআর ব্যবহার করে গতিশীল স্টপ স্তর গণনা করুন, যা স্বনির্ধারিত ঝুঁকি নিয়ন্ত্রণ সরবরাহ করে।
আরএসআই ফিল্টারঃ প্রবণতার দিকনির্দেশনা নিশ্চিত করতে এবং প্রবেশের সংকেতের নির্ভরযোগ্যতা বাড়ানোর জন্য অপেক্ষাকৃত দুর্বল সূচক ((আরএসআই)) ব্যবহার করা হয়।
ডং চ্যানেলঃ একটি অতিরিক্ত ট্রেন্ড সনাক্তকরণ সরঞ্জাম, যা সামগ্রিক বাজারের দিকনির্দেশনা সনাক্ত করতে সাহায্য করে।
ভর্তির শর্ত:
প্রস্থান ব্যবস্থাঃ শতাংশ ভিত্তিক লাভের লক্ষ্য এবং স্টপ লস লেভেল সেট করুন।
বিকল্প উইকিং-আচিন চার্টঃ মূল্যের তথ্য মসৃণ করতে এবং মিথ্যা সংকেত কমাতে ব্যবহৃত হয়।
মাল্টি-ডাইমেনশনাল অ্যানালিসিসঃ ট্রেন্ড, গতিশীলতা এবং অস্থিরতার সূচকগুলির সাথে মিলিত, একটি বিস্তৃত বাজার অন্তর্দৃষ্টি প্রদান করে।
স্বনির্ধারিতঃ এটিআর ট্র্যাকিং স্টপগুলি স্বয়ংক্রিয়ভাবে বাজারের ওঠানামা অনুসারে বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নিতে সক্ষম।
ভাল ঝুঁকি ব্যবস্থাপনাঃ সুস্পষ্ট স্টপ লস এবং লাভের লক্ষ্য, কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ।
সিগন্যালের গুণগত মান উন্নত করা হয়েছে: আরএসআই এবং ডং চিয়াং চ্যানেলের দ্বৈত নিশ্চিতকরণ দ্বারা মিথ্যা সংকেত হ্রাস করা হয়েছে।
নমনীয়তাঃ বিভিন্ন ট্রেডিং স্টাইলের সাথে মানিয়ে নিতে উইকিং-অ্যাচি চার্ট ব্যবহার করা যেতে পারে।
এটিআর ট্র্যাকিং স্টপ ক্ষতির গণনা নিশ্চিত করে যে সিগন্যালটি নির্ভরযোগ্য এবং সামঞ্জস্যপূর্ণ।
অস্থির বাজারঃ অস্থির বাজারগুলিতে প্রায়শই মিথ্যা সংকেত তৈরি হতে পারে।
বিলম্বিত প্রবেশাধিকারঃ একাধিক নিশ্চিতকরণ পদ্ধতিতে প্রবেশের সময় কিছুটা বিলম্ব হতে পারে।
ওভার অপ্টিমাইজেশনের ঝুঁকিঃ অনেকগুলি প্যারামিটার রয়েছে, যা অতীতের ডেটার সাথে অতিরিক্ত মিলিত হতে পারে।
বাজার পরিস্থিতির উপর নির্ভরশীলতাঃ দ্রুত পরিবর্তিত বাজারে প্রতিক্রিয়াশীলতা কম হতে পারে।
এক্সিকিউশন স্লাইড পয়েন্টঃ শতাংশের ভিত্তিতে বেরিয়ে আসা অত্যন্ত অস্থির বাজারে এক্সিকিউশন চ্যালেঞ্জ হতে পারে।
গতিশীল প্যারামিটার সমন্বয়ঃ কী প্যারামিটারগুলির স্বয়ংক্রিয় অপ্টিমাইজেশন (যেমন আরএসআই থ্রেশহোল্ড, এটিআর গুণক) ।
মার্কেট রেজিম সনাক্তকরণঃ বিভিন্ন বাজারের অবস্থার (প্রবণতা, অস্থিরতা) বিচার বৃদ্ধি, গতিশীল সমন্বয় কৌশল।
টাইম ফ্রেম সমন্বয়ঃ একাধিক টাইম ফ্রেমের সংকেত একত্রিত করে সিদ্ধান্ত গ্রহণের স্থিতিশীলতা বাড়ানো।
অস্থিরতা ফিল্টারঃ খুব কম অস্থিরতার পরিবেশে লেনদেন স্থগিত করুন, যাতে অকার্যকর সংকেত এড়ানো যায়।
ট্রেলিং স্টপ বা সময়ভিত্তিক প্রস্থান নিয়ম প্রবর্তন করা এবং মুনাফা পরিচালনার অপ্টিমাইজেশন করা।
যোগ করা হয়েছে লেনদেনের পরিমাণ বিশ্লেষণঃ লেনদেনের পরিমাণের সংমিশ্রণ, প্রবণতার তীব্রতা আরও নিশ্চিত করতে।
মেশিন লার্নিং ইন্টিগ্রেশনঃ মেশিন লার্নিং অ্যালগরিদম ব্যবহার করে প্যারামিটার নির্বাচন এবং সিগন্যাল জেনারেশন অপ্টিমাইজ করুন।
এই মাল্টি-ইনডিকেটর ইন্টিগ্রেটেড স্বনির্ধারিত প্রবণতা ট্র্যাকিং কৌশলটি পরিমাণগত লেনদেনের মধ্যে সিস্টেমাইজড এবং বহু-মাত্রিক বিশ্লেষণের সুবিধা প্রদর্শন করে। এটিআর, আরএসআই, ইউটি বট এবং ডং চিয়ান চ্যানেলের মতো একাধিক সূচককে সংহত করে, কৌশলটি বিভিন্ন দৃষ্টিকোণ থেকে বাজারের গতিশীলতা ক্যাপচার করতে সক্ষম, যা তুলনামূলকভাবে সম্পূর্ণ এবং স্থিতিশীল লেনদেনের সংকেত সরবরাহ করে। এর স্বনির্ধারিত বৈশিষ্ট্য এবং উন্নত ঝুঁকি ব্যবস্থাপনার ব্যবস্থাটি এটিকে ভাল অভিযোজনযোগ্যতা এবং স্থিতিশীলতা দেয়।
যাইহোক, কৌশলগুলির জটিলতাও সম্ভাব্য ঝুঁকি নিয়ে আসে যেমন অতিরিক্ত ফিটনেস এবং প্যারামিটার সংবেদনশীলতা। ভবিষ্যতের অপ্টিমাইজেশনের দিকনির্দেশগুলি কৌশলগুলির অভিযোজনযোগ্যতা এবং রুক্ষতা বাড়ানোর দিকে মনোনিবেশ করা উচিত, যেমন গতিশীল প্যারামিটার সমন্বয়, বাজার স্থিতি সনাক্তকরণের মতো উন্নত বৈশিষ্ট্যগুলি প্রবর্তন করা। একই সাথে, কৌশলগুলির সরলতা এবং ব্যাখ্যাযোগ্যতা বজায় রাখার দিকে মনোযোগ দেওয়া উচিত যাতে অত্যধিক জটিলতার ফলে স্থিতিশীলতা হ্রাস না হয়।
সামগ্রিকভাবে, এই কৌশলটি প্রবণতা ট্র্যাকিংয়ের জন্য একটি বিস্তৃত এবং অন্তর্দৃষ্টিপূর্ণ কাঠামো সরবরাহ করে, যা ক্রমাগত অপ্টিমাইজেশন এবং সতর্কতার সাথে প্রয়োগের মাধ্যমে একটি কার্যকর ট্রেডিং সরঞ্জাম হওয়ার সম্ভাবনা রয়েছে।
/*backtest
start: 2023-07-23 00:00:00
end: 2024-07-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("UT Bot Alerts - Non-Repainting with RSI Filter and Donchian Channels", overlay=true)
// Inputs for UT Bot
a = input.int(1, title="Key Value. 'This changes the sensitivity'")
c = input.int(10, title="ATR Period")
h = input.bool(false, title="Signals from Heikin Ashi Candles")
percentage = input.float(0.002, title="Percentage for Exit (0.2% as decimal)")
// RSI Inputs
rsiPeriod = input.int(14, title="RSI Period")
rsiSource = input.source(close, title="RSI Source")
// ATR Calculation
xATR = ta.atr(c)
nLoss = a * xATR
// Heikin Ashi Calculation
haClose = request.security(syminfo.tickerid, timeframe.period, close, lookahead=barmerge.lookahead_on)
haOpen = request.security(syminfo.tickerid, timeframe.period, open, lookahead=barmerge.lookahead_on)
haHigh = request.security(syminfo.tickerid, timeframe.period, high, lookahead=barmerge.lookahead_on)
haLow = request.security(syminfo.tickerid, timeframe.period, low, lookahead=barmerge.lookahead_on)
haCloseSeries = (haOpen + haHigh + haLow + haClose) / 4
src = h ? haCloseSeries : close
// RSI Calculation
rsiValue = ta.rsi(rsiSource, rsiPeriod)
// Non-repainting ATR Trailing Stop Calculation
var float xATRTrailingStop = na
if (barstate.isconfirmed)
xATRTrailingStop := src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0) ? math.max(nz(xATRTrailingStop[1]), src - nLoss) : src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0) ? math.min(nz(xATRTrailingStop[1]), src + nLoss) : src > nz(xATRTrailingStop[1], 0) ? src - nLoss : src + nLoss
// Position Calculation
var int pos = 0
if (barstate.isconfirmed)
pos := src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0) ? 1 : 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 = ta.ema(src, 1)
above = ta.crossover(ema, xATRTrailingStop)
below = ta.crossover(xATRTrailingStop, ema)
// Track entry prices
var float entryPrice = na
// Donchian Channels
length = input.int(20, minval = 1, title="Donchian Channels Length")
offset = input.int(0, title="Donchian Channels Offset")
lower = ta.lowest(length)
upper = ta.highest(length)
basis = math.avg(upper, lower)
plot(basis, "Basis", color = #FF6D00, offset = offset)
u = plot(upper, "Upper", color = #2962FF, offset = offset)
l = plot(lower, "Lower", color = #2962FF, offset = offset)
fill(u, l, color = color.rgb(33, 150, 243, 95), title = "Background")
// Buy and sell conditions with RSI filter and basis condition
buy = src > xATRTrailingStop and above and barstate.isconfirmed and rsiValue > 50 and src > basis
sell = src < xATRTrailingStop and below and barstate.isconfirmed and rsiValue < 50 and src < basis
// Calculate target prices for exit
var float buyTarget = na
var float sellTarget = na
if (buy)
entryPrice := src
buyTarget := entryPrice * (1 + percentage)
sellTarget := entryPrice * (1 - percentage)
strategy.entry("Buy", strategy.long)
if (sell)
entryPrice := src
buyTarget := entryPrice * (1 + percentage)
sellTarget := entryPrice * (1 - percentage)
strategy.entry("Sell", strategy.short)
// Exit conditions
var bool buyExit = false
var bool sellExit = false
var bool stopLossExit = false
if (strategy.position_size > 0 and barstate.isconfirmed)
if (src >= buyTarget)
strategy.exit("Take Profit", "Buy", limit=buyTarget)
buyExit := true
if (src <= sellTarget)
strategy.exit("Stoploss exit", "Buy", stop=src)
stopLossExit := true
if (strategy.position_size < 0 and barstate.isconfirmed)
if (src <= sellTarget)
strategy.exit("Take Profit", "Sell", limit=sellTarget)
sellExit := true
if (src >= buyTarget)
strategy.exit("Stoploss exit", "Sell", stop=src)
stopLossExit := true
// Plotting
plotshape(buy, title="Buy", text='Buy', style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, size=size.tiny)
plotshape(sell, title="Sell", text='Sell', style=shape.labeldown, location=location.abovebar, color=color.red, textcolor=color.white, size=size.tiny)
barcolor(src > xATRTrailingStop ? color.green : na)
barcolor(src < xATRTrailingStop ? color.red : na)
alertcondition(buy, "UT Long", "UT Long")
alertcondition(sell, "UT Short", "UT Short")
alertcondition(buyExit, "UT Long Exit", "UT Long Exit")
alertcondition(sellExit, "UT Short Exit", "UT Short Exit")
alertcondition(stopLossExit, "Stoploss exit", "Stoploss exit")