
এই কৌশলটি একটি সুপারট্রেন্ড সূচক-ভিত্তিক স্বয়ংক্রিয় ট্রেডিং সিস্টেম, যা RSI (আপেক্ষিকভাবে দুর্বল সূচক), লেনদেনের পরিমাণ এবং ATR (গড় সত্যিকারের ব্যাপ্তি) এর সাথে একাধিক সূচককে একত্রিত করে লেনদেনের সিদ্ধান্ত নেওয়ার জন্য। এটি বাজারের প্রবণতার দিকনির্দেশকে সনাক্ত করে এবং একাধিক ফিল্টারিং শর্ত ব্যবহার করে লেনদেনের গুণমান নিশ্চিত করে একটি সম্পূর্ণ লেনদেনের সিস্টেম অর্জন করে। কৌশলটির সর্বাধিক বৈশিষ্ট্য হ’ল প্রযুক্তিগত বিশ্লেষণ এবং ঝুঁকি পরিচালনার সাথে নিবিড়ভাবে সংযুক্ত করা, প্রতিটি লেনদেনের জন্য বাজারের অস্থিরতার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে ক্ষতিপূরণ এবং লাভের লক্ষ্য নির্ধারণ করে, একটি গতিশীল ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা গঠন করে।
এই কৌশলটির কেন্দ্রীয় যুক্তি নিম্নলিখিত প্রধান উপাদানগুলির উপর ভিত্তি করে তৈরি হয়েছেঃ
প্রবণতা বিচারসুপারট্রেন্ড সূচককে ভিত্তি হিসাবে ব্যবহার করে, উপরের এবং নীচের কক্ষপথের লাইনগুলি তৈরি করুন। যখন দামগুলি উপরের দিকে উঠে যায়, তখন বাজারটি একটি উত্থান প্রবণতা বলে মনে করা হয়; যখন এটি নীচের দিকে যায়, তখন এটি একটি পতনশীল প্রবণতা বলে মনে করা হয়। এটি ট্রেডিংয়ের দিকনির্দেশের মূল ভিত্তি।
লেনদেনের পরিমাণ: কৌশলটি বলে যে বর্তমান লেনদেনের পরিমাণ অবশ্যই 20 চক্রের লেনদেনের গড় মানের একটি নির্দিষ্ট গুণিতকের চেয়ে বেশি হতে হবে (যা ভলিউম মাল্টিপ্লায়ার প্যারামিটার দ্বারা সামঞ্জস্য করা যেতে পারে) । এটি কেবলমাত্র পর্যাপ্ত তরলতার সাথে লেনদেনের বিষয়টি নিশ্চিত করে।
ক্যালোরি শক্তি যাচাই: বর্তমান শূন্যপদ সত্তার আকার গণনা করুন (অবশ্যই বন্ধের মূল্য এবং খোলার মূল্যের মধ্যে পার্থক্য) এবং এটিআর মানের সাথে তুলনা করুন। যখন শূন্যপদটি এটিআর-এর একটি নির্দিষ্ট অনুপাত অর্জন করে (অবশ্যই শরীরের PctOfATR প্যারামিটার নিয়ন্ত্রণ) তখনই দামের চলাচল যথেষ্ট শক্তিশালী বলে মনে করা হয়।
RSI ফিল্টার করুনRSI ব্যবহার করুনঃ অতিরিক্ত ক্রয় বা অতিরিক্ত বিক্রয় অঞ্চলে লেনদেন এড়াতে লেনদেনের সংকেতগুলি RSI এর চেয়ে কম ওভারব্লডের চেয়ে কম (ডিফল্ট 70) এবং বিক্রয় সংকেতগুলি RSI এর চেয়ে বেশি ওভারব্লডের চেয়ে বেশি (ডিফল্ট 30) ।
স্বয়ংক্রিয় স্টপ ক্ষতি: প্রতি লেনদেনের জন্য স্টপ লস একটি এটিআর দূরত্ব হিসাবে সেট করা হয় এবং স্টপ লস এর গুণিতক হিসাবে সেট করা হয় ((riskRewardRatio প্যারামিটার দ্বারা নিয়ন্ত্রিত), বাজারের প্রকৃত অস্থিরতার উপর ভিত্তি করে গতিশীল ঝুঁকি ব্যবস্থাপনা বাস্তবায়ন করে।
উপরের পাঁচটি দিকের সমন্বিত বিচার দ্বারা, কৌশলটি ক্রয় এবং বিক্রয়ের শর্ত তৈরি করেঃ
এই কৌশলটির কোড বাস্তবায়ন বিশ্লেষণ করে নিম্নলিখিত উল্লেখযোগ্য সুবিধাগুলি দেখা যায়ঃ
মাল্টি-ডিমেনশনাল নিশ্চিতকরণ ব্যবস্থাসুপারট্রেন্ড, আরএসআই, ট্রেডিং ভলিউম এবং ক্যাডারের শক্তির একাধিক নিশ্চিতকরণের মাধ্যমে, ভুয়া সংকেতগুলি ব্যাপকভাবে হ্রাস করা হয়েছে এবং ট্রেডিংয়ের নির্ভুলতা বাড়ানো হয়েছে। বিশেষত তীব্রভাবে অস্থির বাজারে, এই বহুমুখী নিশ্চিতকরণ প্রক্রিয়াটি অনেক অপ্রয়োজনীয় লেনদেন এড়াতে পারে।
স্বনির্ধারিত ঝুঁকি ব্যবস্থাপনাএটিআর-ভিত্তিক ডায়নামিক স্টপ এবং স্টপ সেটিং, যা কৌশলগুলিকে স্বয়ংক্রিয়ভাবে বিভিন্ন বাজার পর্যায়ে ওঠানামা অনুযায়ী ঝুঁকি প্যারামিটারগুলিকে সামঞ্জস্য করতে সক্ষম করে, স্থির স্টপগুলির দ্বারা সৃষ্ট অসঙ্গতি সমস্যাগুলি এড়ানো যায়।
ফান্ড ম্যানেজমেন্ট ইন্টিগ্রেশন: কৌশলটি তহবিল পরিচালনার জন্য অন্তর্নির্মিত, যা অ্যাকাউন্টের আকার এবং ঝুঁকির পছন্দ অনুসারে প্রতিটি লেনদেনের তহবিলের পরিমাণকে capitalPerTrade প্যারামিটার দ্বারা সামঞ্জস্য করতে পারে, যা ঝুঁকি নিয়ন্ত্রণ এবং লেনদেনের কৌশলকে একীভূত করে।
লেনদেনের স্বয়ংক্রিয়তা: এন্ট্রি সিগন্যাল, তহবিল বরাদ্দ থেকে স্টপ লস পর্যন্ত সবকিছু স্বয়ংক্রিয়ভাবে পরিচালিত হয়, যা ম্যানুয়াল অপারেশনের মানসিক চাপ এবং ত্রুটির সম্ভাবনা হ্রাস করে।
সতর্কতা ব্যবস্থা উন্নত: কৌশলটি JSON ফর্ম্যাটে বিস্তারিত সতর্কতা কনফিগার করেছে, যার মধ্যে ট্রেডিং দিকনির্দেশ, তহবিল পরিমাণ, স্টপ লস এবং স্টপ-অফ মূল্যের মতো গুরুত্বপূর্ণ তথ্য রয়েছে, যা বহিরাগত সিস্টেমের সাথে একীভূত করা বা ব্যবহারকারীদের অবহিত করা সহজ।
যদিও এই কৌশলটি পরিকল্পিতভাবে অনেকগুলি বিষয় বিবেচনা করেছে, তবুও এর মধ্যে কিছু সম্ভাব্য ঝুঁকি রয়েছেঃ
পরামিতি সংবেদনশীলতাকৌশলটির কার্যকারিতা প্যারামিটার সেটিংয়ের উপর অত্যন্ত নির্ভরশীল, যেমন এটিআর চক্র, আরএসআই থ্রেশহোল্ড, লেনদেনের পরিমাণের গুণক ইত্যাদি। ভুল প্যারামিটারগুলি অত্যধিক লেনদেন বা গুরুত্বপূর্ণ সুযোগগুলি মিস করতে পারে। সমাধানটি হ’ল বিভিন্ন বাজার পরিস্থিতিতে অনুকূল প্যারামিটার সমন্বয় খুঁজে বের করা।
প্রবণতা পরিবর্তনের পিছিয়ে পড়াসুপারট্রেন্ড একটি ট্রেন্ড ট্র্যাকিং সূচক, যা প্রবণতা পাল্টানোর সময় সাধারণত পিছিয়ে থাকে, যার ফলে দেরিতে প্রবেশ বা বড় ক্ষতি হতে পারে। এটিআর চক্রটি সংক্ষিপ্ত করে বা এটিআর গুণকটি সামঞ্জস্য করে এই সমস্যাটি হ্রাস করা যেতে পারে।
চরম বাজার ঝুঁকি: বাজারের ফাঁক বা ঝড়ের ক্ষেত্রে, পূর্বনির্ধারিত স্টপগুলি কার্যকরভাবে কার্যকর করা যায় না, যার ফলে প্রত্যাশিত ক্ষতির কারণ হয়। অন্যান্য বায়ু নিয়ন্ত্রণ ব্যবস্থা যেমন সামগ্রিক অবস্থান নিয়ন্ত্রণ বা সর্বাধিক ক্ষতির সীমা নির্ধারণের সাথে সমন্বয় করার পরামর্শ দেওয়া হয়।
তহবিলের কার্যকারিতাস্থির তহবিল বরাদ্দ পদ্ধতিতে তহবিলের ব্যবহারের দক্ষতা কম হতে পারে। অস্থিরতা বা অ্যাকাউন্টের নেট মূল্যের উপর ভিত্তি করে গতিশীল অবস্থানের সমন্বয় বিবেচনা করা যেতে পারে।
একক সময়সীমার সীমাবদ্ধতা: বর্তমান কৌশল শুধুমাত্র একক সময় ফ্রেম সংকেত উপর ভিত্তি করে, মাল্টি সময় ফ্রেম নিশ্চিতকরণ অভাব, কিছু বাজার অবস্থার অধীনে ভুল সংকেত হতে পারে।
উপরোক্ত ঝুঁকি এবং সীমাবদ্ধতার জন্য, এই কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
মাল্টি টাইম ফ্রেম বিশ্লেষণ ইন্টিগ্রেশনট্রেডিং ভিউ এর security ফাংশন দ্বারা ট্রাস্ট ফ্রেম ডেটা অ্যাক্সেস করা যায়।
গতিশীল প্যারামিটার স্বনির্ধারিত
তহবিল ব্যবস্থাপনা অ্যালগরিদম অপ্টিমাইজ করুন: ক্যালি সূত্র বা নির্দিষ্ট অনুপাতের ঝুঁকি মডেলের উপর ভিত্তি করে গতিশীল তহবিল ব্যবস্থাপনা প্রবর্তন করুন, যা প্রতি লেনদেনের তহবিল বন্টনকে স্বয়ংক্রিয়ভাবে ঐতিহাসিক বিজয় এবং লাভ-ক্ষতির অনুপাতের উপর ভিত্তি করে সামঞ্জস্য করে, যা দীর্ঘমেয়াদী লাভের স্থায়িত্বকে উন্নত করে।
বাজারের অবস্থা সনাক্তকরণ: বাজারের অবস্থার (ট্রেন্ডিং, সমন্বয়, উচ্চ ওঠানামা, নিম্ন ওঠানামা) বিচার করার লজিক যোগ করুন, বিভিন্ন বাজারের অবস্থার মধ্যে বিভিন্ন ট্রেডিং নিয়ম বা প্যারামিটার প্রয়োগ করুন, অভিযোজনযোগ্যতা বাড়ান।
মেশিন লার্নিং মডেল ইন্টিগ্রেশন: মেশিন লার্নিং অ্যালগরিদম ব্যবহার করে সর্বোত্তম প্রবেশের সময় বা প্যারামিটারগুলির সংমিশ্রণটি ভবিষ্যদ্বাণী করা বিবেচনা করা যেতে পারে, বিশেষত যখন এটিআর গুণমান, লেনদেনের পরিমাণের থ্রেশহোল্ডের মতো গুরুত্বপূর্ণ প্যারামিটারগুলি নির্ধারণ করা হয়, মেশিন লার্নিং আরও সঠিক স্ব-অনুকূলতা সরবরাহ করতে পারে।
সুপারট্রেন্ড-এটিআর-আরএসআই ডায়নামিক রিস্ক কন্ট্রোল কৌশল একটি পরিমাণগত ট্রেডিং সিস্টেম যা প্রবণতা ট্র্যাকিং এবং ডায়নামিক ঝুঁকি ব্যবস্থাপনাকে একত্রিত করে। সুপারট্রেন্ড সূচকগুলি দ্বারা বাজার প্রবণতা সনাক্ত করা হয় এবং আরএসআই, লেনদেনের পরিমাণ এবং ক্যালসিয়ামের শক্তির মতো একাধিক ফিল্টারিং প্রক্রিয়াগুলির সাথে মিলিত হয়, যা ট্রেডিং সিগন্যালের গুণমানকে ব্যাপকভাবে উন্নত করে। কৌশলটির মূল সুবিধাটি হ’ল এটির উপর ভিত্তি করে ডায়নামিক স্টপ লস এবং স্টপ স্টপ সেটিংসের মাধ্যমে স্বয়ংক্রিয়ভাবে বাজার ওঠানামা করার জন্য ঝুঁকি নিয়ন্ত্রণকে সক্ষম করে।
এই কৌশলটি বাজারের পরিবেশে প্রবণতা এবং প্রবণতার জন্য উপযুক্ত, বিশেষত মাঝারি এবং দীর্ঘমেয়াদী প্রবণতা তৈরির পর্যায়ে। যাইহোক, ব্যবহারকারীকে কার্যকর প্রয়োগে প্যারামিটার অপ্টিমাইজেশন এবং বাজারের পরিবেশের সাথে মিলিত হওয়া সম্পর্কে মনোযোগ দিতে হবে এবং এই নিবন্ধে প্রস্তাবিত অপ্টিমাইজেশনের দিকগুলি বিবেচনা করতে হবে, যেমন মাল্টি টাইম ফ্রেম বিশ্লেষণ, গতিশীল প্যারামিটার সমন্বয় এবং উন্নত তহবিল পরিচালনার পদ্ধতি। কৌশলটির স্থায়িত্ব এবং অভিযোজনযোগ্যতা আরও বাড়ানোর জন্য।
যুক্তিসঙ্গত প্যারামিটার সেট এবং পর্যাপ্ত ফিটব্যাক যাচাইকরণের মাধ্যমে, এই কৌশলটি একটি নির্ভরযোগ্য স্বয়ংক্রিয় ট্রেডিং সরঞ্জাম হওয়ার সম্ভাবনা রয়েছে, যা বিনিয়োগকারীদের জন্য একটি পদ্ধতিগত ট্রেডিং সম্পাদন এবং ঝুঁকি নিয়ন্ত্রণের সমাধান সরবরাহ করে।
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-20 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/
//@version=5
strategy("Supertrend Hombrok Bot", overlay=true, default_qty_type=strategy.cash, default_qty_value=1000)
// INPUTS
atrPeriod = input.int(10, title="ATR Period")
atrMult = input.float(3.0, title="ATR Multiplier")
rsiPeriod = input.int(14, title="RSI Period")
rsiOverbought = input.int(70, title="RSI Overbought")
rsiOversold = input.int(30, title="RSI Oversold")
volumeMultiplier = input.float(1.2, title="Volume Multiplier")
bodyPctOfATR = input.float(0.3, title="Candle Body % of ATR (min strength)")
riskRewardRatio = input.float(2.0, title="R:R (Take Profit / Stop Loss)")
capitalPerTrade = input.float(10, title="Capital por operação ($)")
// ATR e Supertrend
atr = ta.atr(atrPeriod)
upperBand = hl2 - (atrMult * atr)
lowerBand = hl2 + (atrMult * atr)
prevUpper = nz(upperBand[1], upperBand)
prevLower = nz(lowerBand[1], lowerBand)
trendUp = close[1] > prevUpper ? math.max(upperBand, prevUpper) : upperBand
trendDown = close[1] < prevLower ? math.min(lowerBand, prevLower) : lowerBand
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > trendDown ? 1 : trend == 1 and close < trendUp ? -1 : trend
isUpTrend = trend == 1
isDownTrend = trend == -1
// Filtros
volAverage = ta.sma(volume, 20)
volOk = volume > volAverage * volumeMultiplier
bodySize = math.abs(close - open)
bodyOk = bodySize > (atr * bodyPctOfATR)
rsi = ta.rsi(close, rsiPeriod)
rsiBuyOk = rsi < rsiOverbought
rsiSellOk = rsi > rsiOversold
// Condições
buyCond = isUpTrend and volOk and bodyOk and rsiBuyOk
sellCond = isDownTrend and volOk and bodyOk and rsiSellOk
// TP e SL
longSL = close - atr
longTP = close + (atr * riskRewardRatio)
shortSL = close + atr
shortTP = close - (atr * riskRewardRatio)
// Estratégia de entrada e saída
if buyCond
strategy.entry("Compra", strategy.long, qty=capitalPerTrade / close)
strategy.exit("TP/SL Compra", from_entry="Compra", stop=longSL, limit=longTP)
if sellCond
strategy.entry("Venda", strategy.short, qty=capitalPerTrade / close)
strategy.exit("TP/SL Venda", from_entry="Venda", stop=shortSL, limit=shortTP)
// ALERTAS + LABELS
alertLong = '{"side":"buy", "capital":' + str.tostring(capitalPerTrade) + ', "sl":' + str.tostring(longSL) + ', "tp":' + str.tostring(longTP) + '}'
alertShort = '{"side":"sell", "capital":' + str.tostring(capitalPerTrade) + ', "sl":' + str.tostring(shortSL) + ', "tp":' + str.tostring(shortTP) + '}'
if buyCond
label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white)
alert(alertLong, alert.freq_once_per_bar_close)
if sellCond
label.new(bar_index, high, "SELL", style=label.style_label_down, color=color.red, textcolor=color.white)
alert(alertShort, alert.freq_once_per_bar_close)
// VISUAL
plotshape(buyCond, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellCond, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
plot(trend == 1 ? trendUp : na, title="Trend Up", color=color.green, linewidth=1)
plot(trend == -1 ? trendDown : na, title="Trend Down", color=color.red, linewidth=1)