
ইএমএ মাল্টিপল ট্রেন্ড ফিল্টারিং এবং এটিআর ট্র্যাকিং স্টপ লস হাইব্রিড কোয়ান্টামাইজেশন কৌশলটি একটি সম্পূর্ণ ট্রেডিং সিস্টেম যা প্রযুক্তিগত বিশ্লেষণের একাধিক মূল উপাদানকে একত্রিত করে। এই কৌশলটির মূল অংশটি হ’ল প্রবণতা নিশ্চিতকরণ ফিল্টার হিসাবে মাল্টি-পিরিয়ডিকাল ইন্ডেক্স মুভিং এভারেজ (EMA) ব্যবহার করা এবং গড় সত্যিকারের পরিসীমা (ATR) সূচকগুলির সাথে মিলিত হয়ে একটি গতিশীল ট্র্যাকিং স্টপ লস সিস্টেম তৈরি করা। এই কৌশলটি ট্রেডিং টাইম ফিল্টারিং ফাংশনটিও সংহত করে, যা ব্যবসায়ীদের নির্দিষ্ট বাজারের সক্রিয় সময়ের উপর ভিত্তি করে ট্রেডিং কার্যকর করার অনুমতি দেয়। একাধিক প্রযুক্তিগত সূচক এবং ফিল্টারিং শর্তের সমন্বয় করে, এই কৌশলটি শক্তিশালী প্রবণতা ক্যাপচার করে এবং মিথ্যা সংকেত ঝুঁকি হ্রাস করে, একই সাথে মুনাফা রক্ষা করে এবং সম্ভাব্য ক্ষতি সীমাবদ্ধ করে।
এই কৌশলটির মূল নীতিগুলিকে চারটি মূল উপাদান হিসাবে ভাগ করা যায়ঃ
একাধিক EMA ট্রেন্ড নিশ্চিত: কৌশলটি চারটি ভিন্ন পিরিয়ডের (২০, ৫০, ১০০ এবং ২০০) সূচকীয় চলমান গড় (ইএমএ) ব্যবহার করে বাজার প্রবণতার দিকনির্দেশনা নির্ধারণ করে। দাম যখন একই সাথে চারটি ইএমএর উপরে থাকে তখনই এটি একটি উচ্চ প্রবণতা হিসাবে বিবেচিত হয়; যখন দাম একই সাথে চারটি ইএমএর নীচে থাকে তখনই এটি একটি নিম্ন প্রবণতা হিসাবে বিবেচিত হয়। এই একাধিক নিশ্চিতকরণ প্রক্রিয়াটি দুর্বল প্রবণতা এবং বাজারের ঝড়ের মধ্যে মিথ্যা সংকেতগুলিকে পরিস্রাব করতে সহায়তা করে।
এটিআর ট্র্যাকিং স্টপ লস সিস্টেম
মূল্য এবং স্টপ লাইন ক্রস সিগন্যাল: কৌশলটির ক্রয় সংকেত উত্পন্ন হয় যখন দাম ATR ট্র্যাকিং স্টপ লাইন অতিক্রম করে এবং একটি উচ্চ প্রবণতা শর্ত পূরণ করে; বিক্রয় সংকেত উত্পন্ন হয় যখন দাম ATR ট্র্যাকিং স্টপ লাইন অতিক্রম করে এবং একটি নিম্ন প্রবণতা শর্ত পূরণ করে। এই ক্রস সংকেত প্রক্রিয়াটি প্রবণতা নিশ্চিতকরণের সাথে মিলিত হয় যা প্রবণতা বিপর্যয়কে ধরতে সহায়তা করে।
ট্রেডিং সময়কাল ফিল্টার করুন: কৌশলটি লেনদেনের সময় ফিল্টারিং বৈশিষ্ট্যটি প্রবর্তন করে, যা ডিফল্টরূপে “0930-1600” ((মার্কিন স্ট্যান্ডার্ড ট্রেডিং সময়) । এই ফিল্টারটি নিশ্চিত করে যে ট্রেডিং সিগন্যালগুলি কেবলমাত্র নির্দিষ্ট সক্রিয় ট্রেডিং সময়ের মধ্যে উত্পন্ন হয়, যার ফলে কম তরলতা বা উচ্চ অস্থিরতার সময়গুলির সম্ভাব্য ঝুঁকি এড়ানো যায়।
বহুস্তরীয় প্রবণতা নিশ্চিত: দামকে একই সময়ে চারটি ভিন্ন পিরিয়ডের ইএমএর একই দিকে থাকার অনুরোধ করে, কৌশলটি ট্রেন্ড নিশ্চিতকরণের নির্ভরযোগ্যতা ব্যাপকভাবে বৃদ্ধি করে, কার্যকরভাবে অস্থির বাজারে মিথ্যা সংকেতগুলি ফিল্টার করে এবং অপ্রয়োজনীয় ব্যবসায়ের ঘনত্ব হ্রাস করে।
গতিশীল ঝুঁকি ব্যবস্থাপনাএটিআর ট্র্যাকিং স্টপ সিস্টেম স্বয়ংক্রিয়ভাবে বাজারের প্রকৃত অস্থিরতার উপর ভিত্তি করে স্টপ দূরত্বকে সামঞ্জস্য করে, যার অর্থ হল দামগুলিকে বৃহত্তর অস্থিরতার বাজারে চলাচল করার জন্য আরও জায়গা দেওয়া হয়, যখন কম অস্থিরতার বাজারে আরও ঘনিষ্ঠ স্টপ ব্যবহার করা হয়, যা গতিশীল ঝুঁকির অভিযোজন করে।
উচ্চতর কাস্টমাইজেশন: কৌশলটি ATR চক্র, সংবেদনশীলতা ফ্যাক্টর এবং লেনদেনের সময় সেটিং সহ একাধিক সামঞ্জস্যযোগ্য প্যারামিটার সরবরাহ করে, যা ব্যবসায়ীদের বিভিন্ন বাজার বৈশিষ্ট্য এবং ব্যক্তিগত ঝুঁকি পছন্দ অনুসারে অনুকূলিতকরণ করতে দেয়।
সময় ফিল্টার অপ্টিমাইজেশানট্রেডিং টাইম ফিল্টারিং ফাংশনটি কৌশলগুলিকে বাজারের সবচেয়ে সক্রিয় এবং সর্বাধিক তরলতার সময়গুলিতে ট্রেডিংয়ের দিকে মনোনিবেশ করার অনুমতি দেয়, যা বন্ধের আগে এবং পরে বা অন্যান্য কম তরলতার সময়গুলির সম্ভাব্য ঝুঁকি এড়ায়।
স্বজ্ঞাত ভিজ্যুয়াল ফিডব্যাক: কৌশলটি চার্টে ইএমএ লাইন, স্টপ লস লাইন এবং ক্রয়-বিক্রয় সংকেতগুলি স্পষ্টভাবে প্রদর্শন করে এবং কলামযুক্ত গ্রাফের রঙের পরিবর্তনের মাধ্যমে বর্তমান মূল্য এবং স্টপ লিনের আপেক্ষিক অবস্থানকে অন্তর্দৃষ্টি দেয়, যা ব্যবসায়ীদের কৌশলটির স্থিতি রিয়েল-টাইমে পর্যবেক্ষণ করতে সহায়তা করে।
প্রবণতা পরিবর্তন বিলম্বিতমাল্টি-ইএমএ ফিল্টারিং, যদিও সংকেতের নির্ভরযোগ্যতা বাড়ায়, তবে এটি একটি নির্দিষ্ট বিলম্বও প্রবর্তন করে, যা প্রবণতার শুরুতে সম্ভাব্য লাভের কিছু অংশ মিস করতে পারে বা প্রবণতা শেষ হওয়ার পরে দেরিতে প্রস্থান করতে পারে। এটি নির্ভরযোগ্যতা এবং সময়োপযোগীতার মধ্যে একটি প্রয়োজনীয় ভারসাম্য।
দেশটির লেনদেনের অবস্থা: কোন স্পষ্ট ট্রেন্ডের অভাবের মধ্যে, একটি ট্রেডিং কৌশল সমস্ত ইএমএ ফিল্টারিং শর্ত পূরণ করতে পারে না, কারণ দামগুলি প্রায়শই একাধিক ইএমএ অতিক্রম করে, যার ফলে সম্ভাব্য ব্যবসায়ের সুযোগগুলি মিস করা বা খুব বেশি মিথ্যা সংকেত তৈরি করা যায়।
পরামিতি সংবেদনশীলতা: কৌশলগত কর্মক্ষমতা অত্যন্ত নির্ভরশীল ATR সংবেদনশীলতা ফ্যাক্টর, ATR চক্রের মতো গুরুত্বপূর্ণ পরামিতিগুলির সেটআপের উপর। অনুপযুক্ত পরামিতিগুলি স্টপ লসকে খুব শক্ত হতে পারে ((প্রায়শই ট্রিগার করা হয়) বা খুব হালকা ((খুব বড় ক্ষতি)) । বিভিন্ন বাজারের অবস্থার জন্য ব্যাক-টেস্টিংয়ের মাধ্যমে এই পরামিতিগুলি অপ্টিমাইজ করার পরামর্শ দেওয়া হয়েছে।
ঝুঁকিপূর্ণ ঘটনাএটিআর ট্র্যাকিং স্টপ সময়মত প্রতিক্রিয়া জানাতে পারে না, যার ফলে প্রকৃত ক্ষতির পরিমাণ প্রত্যাশার চেয়ে বেশি হয়। এটিআর হার্ড স্টপ ব্যবহারের সাথে সর্বোচ্চ ঝুঁকির সাথে কাজ করার পরামর্শ দেওয়া হয়।
অতিরিক্ত লেনদেনের ঝুঁকি: একাধিক স্তরের ফিল্টার থাকা সত্ত্বেও, উচ্চ অস্থিরতার বাজারে, মূল্য এবং এটিআর ট্র্যাকিং স্টপ লাইনের সাথে ঘন ঘন ক্রসগুলি অতিরিক্ত লেনদেনের কারণ হতে পারে, লেনদেনের ব্যয় বাড়িয়ে তুলতে পারে। এই সমস্যাটি প্রশমিত করার জন্য ন্যূনতম হোল্ডিং সময়ের প্রয়োজনীয়তা বাড়ানোর বিষয়টি বিবেচনা করা যেতে পারে।
প্রবণতা শক্তি সূচক বৃদ্ধি: বর্তমান কৌশল শুধুমাত্র মূল্য এবং একাধিক ইএমএর আপেক্ষিক অবস্থানের উপর নির্ভর করে ট্রেন্ডের বিচার করতে পারে। ট্রেন্ডের শক্তির সূচক যেমন ADX (অর্ধমুখী ইন্ডেক্স) বাড়ানোর কথা বিবেচনা করা যেতে পারে, সর্বনিম্ন প্রবণতা শক্তি থ্রেশহোল্ড সেট করা এবং দুর্বল প্রবণতা পরিবেশে সংকেতগুলি আরও ফিল্টার করা যেতে পারে।
লেনদেনের পরিমাণ নিশ্চিতকরণ: ট্রেডিং ভলিউম বিশ্লেষণকে সিগন্যাল জেনারেশন লজিকের মধ্যে অন্তর্ভুক্ত করা, ক্রয় ও বিক্রয় সংকেতকে পর্যাপ্ত পরিমাণে লেনদেনের সাথে নিশ্চিত করতে সহায়তা করে, যা সিগন্যালের নির্ভরযোগ্যতা বাড়াতে সহায়তা করে। উদাহরণস্বরূপ, সিগন্যাল জেনারেশনের সময় লেনদেনের পরিমাণটি গত এন চক্রের গড় লেনদেনের চেয়ে বেশি হতে পারে।
স্টপ লস প্যারামিটার অপ্টিমাইজেশান ম্যানেজমেন্ট: বর্তমান কৌশল একটি নির্দিষ্ট ATR সংবেদনশীলতা ফ্যাক্টর ব্যবহার করে, ঐতিহাসিক ওঠানামা বা বাজার অবস্থার উপর ভিত্তি করে স্ব-অনুকূলিতকরণ প্যারামিটার সমন্বয় প্রক্রিয়া বিবেচনা করা যেতে পারে। উদাহরণস্বরূপ, স্বয়ংক্রিয়ভাবে উচ্চ ওঠানামা বাজারে সংবেদনশীলতা ফ্যাক্টর বৃদ্ধি এবং নিম্ন ওঠানামা বাজারে সংবেদনশীলতা ফ্যাক্টর হ্রাস।
মুনাফার লক্ষ্যমাত্রা এবং রিস্ক-রিটার্নের অনুপাত যুক্ত করুন: প্রাক্কলিত মুনাফা লক্ষ্যমাত্রা এবং রিস্ক-রিটার্ন অনুপাতের উপর ভিত্তি করে সংকেত ফিল্টারিং ব্যবস্থা যুক্ত করা হয়েছে, কেবলমাত্র প্রত্যাশিত ঝুঁকি-রিটার্ন অনুপাতের চেয়ে বেশি নির্দিষ্ট থ্রেশহোল্ডের উপরে লেনদেন করা হয়েছে। এটি তহবিলের ব্যবহারের দক্ষতা অনুকূল করতে সহায়তা করে এবং উচ্চমানের লেনদেনের সুযোগগুলিতে মনোনিবেশ করে।
বাজার অবস্থা শ্রেণিবদ্ধকরণ এবং কৌশল পরিবর্তন: বাজারের অবস্থা ((ট্রেন্ড / ঝাঁকুনি) এর স্বয়ংক্রিয় সনাক্তকরণ প্রক্রিয়া বাস্তবায়ন করুন এবং বিভিন্ন বাজারের অবস্থার গতিশীলতার উপর ভিত্তি করে কৌশলগত প্যারামিটারগুলি সামঞ্জস্য করুন বা বিভিন্ন কৌশলগত লজিকগুলি স্যুইচ করুন। উদাহরণস্বরূপ, একটি স্পষ্ট ট্রেন্ডিং বাজারে বর্তমান কৌশল ব্যবহার করুন, ঝাঁকুনির বাজারে গড় মানের রিটার্ন কৌশলটিতে স্যুইচ করুন।
মৌলিক ফিল্টার সংহত করুন: নির্দিষ্ট সম্পদ শ্রেণীর জন্য, গুরুত্বপূর্ণ অর্থনৈতিক তথ্য প্রকাশের আগে বা অন্যান্য উচ্চ অনিশ্চয়তার ঘটনাগুলির পরে ট্রেডিং এড়াতে প্রাসঙ্গিক মৌলিক সূচক বা ইভেন্ট ফিল্টারগুলিকে একত্রিত করার বিষয়টি বিবেচনা করা যেতে পারে।
ইএমএ মাল্টিপল ট্রেন্ড ফিল্টারিং এবং এটিআর ট্র্যাকিং স্টপ লস মিশ্রিত পরিমাণ কৌশলটি একটি সম্পূর্ণ ট্রেডিং সিস্টেম যা ট্রেন্ড ট্র্যাকিং এবং ঝুঁকি ব্যবস্থাপনার সুবিধাগুলিকে একত্রিত করে। মাল্টিপল সাইক্লিক ইএমএ ট্রেন্ড নিশ্চিতকরণ, এটিআর ডায়নামিক ট্র্যাকিং স্টপ লস, মূল্য ক্রস সিগন্যাল এবং ট্রেডিং সময়কালের ফিল্টারিংয়ের মতো একাধিক পদ্ধতির সমন্বয়ে এই কৌশলটি মাঝারি এবং দীর্ঘমেয়াদী প্রবণতা ক্যাপচার করার পাশাপাশি ভাল ঝুঁকি নিয়ন্ত্রণের ক্ষমতা সরবরাহ করে।
এই কৌশলটির প্রধান সুবিধা হল যে, মাল্টিলেয়ার ট্রেন্ড কনফার্মেশন সিগন্যালের নির্ভরযোগ্যতা বৃদ্ধি করে, যখন এটিআর ট্র্যাকিং স্টপস বাজারের অস্থিরতার সাথে সামঞ্জস্যপূর্ণ গতিশীল ঝুঁকি ব্যবস্থাপনা প্রদান করে। যাইহোক, এই কৌশলটি প্রবণতা রূপান্তর বিলম্ব, দুর্বল ক্রসওভার মার্কেট পারফরম্যান্স এবং প্যারামিটার সংবেদনশীলতার মতো সম্ভাব্য ঝুঁকিও রয়েছে।
ট্রেডিং কৌশলটি আরও উন্নত করার জন্য, ট্রেডিং শক্তির সূচক, ট্রেডিং ভলিউম নিশ্চিতকরণ এবং স্বনির্ধারিত প্যারামিটার মেশিনের মতো অপ্টিমাইজেশানগুলি যুক্ত করা যেতে পারে। সর্বোপরি, ব্যবসায়ীরা নির্দিষ্ট ট্রেডিং জাত এবং বাজারের পরিবেশের সাথে সম্পর্কিত মূল প্যারামিটারগুলিকে যথেষ্ট পরিমাণে ফিডব্যাক দিয়ে সামঞ্জস্য করতে হবে এবং বৃহত্তর ট্রেডিং সিস্টেমের অংশ হিসাবে এই কৌশলটি ব্যবহার করার কথা বিবেচনা করা উচিত।
/*backtest
start: 2025-07-17 00:00:00
end: 2025-07-24 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
//@version=5
//Credits to HPotter who is the creator of the original code.
//Created as a strategy with an added EMA Trend Filter by shannonnhxrk
//Added a time button so you can adjust what times it signals.
//@version=5
strategy("UT Bot Strategy with EMA Trend Filter", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === INPUTS ===
src = close
keyvalue = input.float(3.0, title="Key Value (Sensitivity)", step=0.5)
atrperiod = input.int(10, title="ATR Period")
xATR = ta.atr(atrperiod)
nLoss = keyvalue * xATR
// === EMAs ===
ema20 = ta.ema(src, 20)
ema50 = ta.ema(src, 50)
ema100 = ta.ema(src, 100)
ema200 = ta.ema(src, 200)
plot(ema20, color=color.orange, title="EMA 20")
plot(ema50, color=color.blue, title="EMA 50")
plot(ema100, color=color.purple, title="EMA 100")
plot(ema200, color=color.black, title="EMA 200")
// === Trend Filters ===
isUptrend = close > ema20 and close > ema50 and close > ema100 and close > ema200
isDowntrend = close < ema20 and close < ema50 and close < ema100 and close < ema200
// === ATR Trailing Stop ===
var float xATRTrailingStop = na
xATRTrailingStop := src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1]) ? math.max(nz(xATRTrailingStop[1]), src - nLoss) :
src < nz(xATRTrailingStop[1]) and src[1] < nz(xATRTrailingStop[1]) ? math.min(nz(xATRTrailingStop[1]), src + nLoss) :
src > nz(xATRTrailingStop[1]) ? src - nLoss : src + nLoss
// === Time Filter ===
// === Buy/Sell Conditions with Time Filter ===
buy = ta.crossover(src, xATRTrailingStop) and isUptrend
sell = ta.crossunder(src, xATRTrailingStop) and isDowntrend
// === Strategy Execution ===
if buy
strategy.close("Short")
strategy.entry("Long", strategy.long)
if sell
strategy.close("Long")
strategy.entry("Short", strategy.short)
// === Visuals ===
plotshape(buy, title="Buy", style=shape.labelup, location=location.belowbar, color=color.green, text="Buy", textcolor=color.white, size=size.tiny)
plotshape(sell, title="Sell", style=shape.labeldown, location=location.abovebar, color=color.red, text="Sell", textcolor=color.white, size=size.tiny)
plot(xATRTrailingStop, color=buy ? color.green : sell ? color.red : color.gray, title="Trailing Stop")
barcolor(src > xATRTrailingStop ? color.green : color.red)