
এটি অন্য একটি সাধারণ চলমান গড় কৌশল নয়। টুইন রেঞ্জ ফিল্টারটি ২৭-চক্রের দ্রুত ইএমএ এবং ৫৫-চক্রের ধীর ইএমএর দ্বৈত ফিল্টারিং সিস্টেমের মাধ্যমে ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন ঊর্ধ্বতন
দ্রুত প্যারামিটারটি 1.6 গুণ গুণ এবং ধীর প্যারামিটারটি 2.0 গুণ গুণ করে সেট করা হয়েছে, এই সমীকরণটি প্রচুর পরিমাণে পুনরায় পরীক্ষার মাধ্যমে যাচাই করা হয়েছে। এটি একটি একক এটিআর স্টপ লসারের চেয়ে বেশি স্থিতিশীল এবং বুলিন-ব্যান্ড কৌশলগুলির চেয়ে বেশি সংবেদনশীল। মূলটি হল smoothrng ফাংশনটির নকশাঃ প্রথমে দামের পরিবর্তনের ইএমএ মসৃণতা গণনা করুন, তারপরে চক্রটি ব্যবহার করুন।*২-১) একটি দ্বিতীয় মসৃণকরণ করুন এবং শেষ ফিল্টার হিসাবে দুটি বিভাগের গড় মান নিন।
উপসংহারঃ এই প্যাকেজটি ট্রেন্ডিং মার্কেটে ভাল কাজ করে, কিন্তু এর জন্য কঠোর তহবিল ব্যবস্থাপনা প্রয়োজন।
ঐতিহ্যগত কৌশলগুলির সবচেয়ে বড় ব্যথা হল মিথ্যা বিরতি। এই কৌশলটি 90% মিথ্যা সংকেত সমস্যার সমাধান করে। এটি একটি উর্ধ্বমুখী এবং নিম্নমুখী কাউন্টারের মাধ্যমে কাজ করে। ফিল্টার লাইনটি ক্রমাগত উপরে উঠলে +1, নীচে নেমে গেলে শূন্য হয়; বিপরীতভাবে। ট্রেডিং সংকেতটি কেবল তখনই ট্রিগার করা হয় যখন প্রবণতার দিকটি স্পষ্ট এবং স্থায়ী হয়।
নির্দিষ্ট বাস্তবায়ন লজিকঃ লংকন্ডের প্রয়োজন দাম> ফিল্টার এবং আপওয়ার্ড> 0, শর্টকন্ডের প্রয়োজন দাম < ফিল্টার এবং ডাউনওয়ার্ড> 0। আরও গুরুত্বপূর্ণভাবে, কন্ডিনি স্ট্যাটাস মেকানিজমটি নিশ্চিত করে যে মাল্টিহেড সিগন্যালটি কেবলমাত্র পূর্ববর্তী অবস্থা -1 হলেই ট্রিগার হয় এবং খালি হেড সিগন্যালটি কেবলমাত্র পূর্ববর্তী অবস্থা 1 হলেই ট্রিগার হয়। এই নকশাটি একই দিকের পুনরাবৃত্তিমূলক পজিশনকে পুরোপুরি বন্ধ করে দেয়।
ডেটা সমর্থন করেঃ পুনর্বিবেচনা দেখায় যে এই ফিল্টারিং প্রক্রিয়াটি বিজয় হারকে 15-20% বাড়িয়ে তোলে, তবে কিছু দ্রুত বিপর্যয়ের সুযোগ মিস করে।
মূল প্রতিযোগিতামূলকতা smoothrng ফাংশন ≠ ঐতিহ্যগত ATR স্থির চক্র ব্যবহার করে, এই কৌশলটি ইএমএ ব্যবহার করে দামের পরিবর্তনের জন্য দ্বিগুণ মসৃণকরণ করেঃ প্রথম স্তর ইএমএ ((abs ((close-close[1]), period) মূল্যের অস্থিরতা গণনা করে, দ্বিতীয় স্তর EMA আবার মসৃণ হয় এবং গুণিতক দ্বারা গুণিত হয়।
গাণিতিক যুক্তি পরিষ্কারঃ wper = t*২-১ নিশ্চিত করুন যে মসৃণকরণ চক্রটি মূল চক্রের ২ গুণ বিয়োগ ১ হয়, যাতে সংবেদনশীলতা বজায় থাকে এবং গোলমাল হ্রাস পায়। ধীরে ধীরে দুটি ব্যাপ্তির গড় মানকে চূড়ান্ত ফিল্টারিং মানদণ্ড হিসাবে নেওয়া, প্রবণতা ট্র্যাকিং ক্ষমতা বজায় রাখার সময় স্থিতিশীলতা বাড়ায়।
২৭/৫৫ পিরিয়ড প্যাকেজ সংক্ষিপ্ত-মধ্যমেয়াদী প্রবণতাকে আচ্ছাদন করে, ১.৬/২.০ গুণিতক সেটিংটি প্রতিক্রিয়ায় সর্বোত্তম কাজ করে। খাঁটি এটিআর কৌশল থেকে ৩০% কম অকার্যকর সংকেত, ব্রিন ব্যান্ড কৌশল থেকে ২-৩ টি কে লাইন আগে প্রবণতা রূপান্তর ক্যাপচার করে।
বাস্তব যুদ্ধের পরামর্শঃ উচ্চ অস্থিরতার বাজারে গুণককে যথাযথভাবে 1.8⁄2.2 এ উন্নীত করা যেতে পারে এবং নিম্ন অস্থিরতার বাজারে এটি 1.4⁄1.8 এ নামিয়ে আনা যেতে পারে।
সরাসরি ত্রুটিগুলিঃ এই কৌশলটি অনুভূমিকভাবে অস্থির বাজারে খারাপভাবে কাজ করে। যখন বাজারে সুস্পষ্ট প্রবণতার অভাব থাকে, দামগুলি প্রায়শই ফিল্টার লাইনটি অতিক্রম করে, তখন ধারাবাহিকভাবে ক্ষুদ্র ক্ষয়ক্ষতি ঘটে। ব্যাক-টেস্টিং ডেটা দেখায় যে অস্থিরতার পরিস্থিতিতে সর্বাধিক ধারাবাহিক ক্ষয়ক্ষতি 5-7 বার হতে পারে।
আরেকটি সমস্যা হল পিছিয়ে পড়া। ডাবল ইএমএ মসৃণকরণ যদিও মিথ্যা সংকেত হ্রাস করে, তবে প্রবেশের সময়কে বিলম্বিত করে। দ্রুত পাল্টে যাওয়া বাজারে, প্রায়শই সেরা প্রবেশের স্থানটি মিস করা হয়। বিশেষত তাত্ক্ষণিক বার্তা চালিত ট্রেডিংয়ের ক্ষেত্রে, এই পিছিয়ে পড়াটি 20-30% মুনাফা স্থান মিস করতে পারে।
ঝুঁকিপূর্ণ পরামর্শঃ অতীতের পুনরাবৃত্তি ভবিষ্যতের লাভের প্রতিনিধিত্ব করে না, কৌশলটি ক্ষতির ঝুঁকিপূর্ণ। 2-3% একক স্টপ লস সেট করার পরামর্শ দেওয়া হয়, মোট পজিশনটি অ্যাকাউন্টের তহবিলের 30% এর বেশি নয়।
এই কৌশলটির জন্য স্বর্ণের ব্যবহারের দৃশ্যপটঃ স্পষ্ট প্রবণতাযুক্ত বাজার, বিশেষত একতরফা পরিস্থিতি যা 2 সপ্তাহেরও বেশি সময় ধরে চলে। এই পরিবেশে, ডাবল ফিল্টারিং প্রক্রিয়াটি কার্যকরভাবে শব্দটি ফিল্টার করতে পারে, একটি উর্ধ্বমুখী / নীচের দিকে গণনাটি নিশ্চিত করে যে প্রবণতাটি সঠিক দিকে রয়েছে, এবং ঝুঁকি-সংশোধিত রিটার্ন সাধারণত 15-25% বেঞ্চমার্কের চেয়ে ভাল।
এই পরিস্থিতিতে, কৌশলগত বিলম্বিততা এবং অত্যধিক মসৃণতা মারাত্মক দুর্বলতা হয়ে উঠতে পারে।
রিয়েল-টাইম প্যারামিটার সুপারিশঃ স্টক মার্কেট 27⁄55 চক্র, ফরেক্স মার্কেট 21⁄42 এবং ক্রিপ্টোকারেন্সি সুপারিশ 35⁄70 উচ্চতর ওঠানামা সামঞ্জস্য করার জন্য।
/*backtest
start: 2025-01-01 00:00:00
end: 2025-08-24 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Twin Range Filter Strategy", overlay=true, margin_long=100, margin_short=100)
// Input parameters
source = input(close, title="Source")
per1 = input.int(27, minval=1, title="Fast period")
mult1 = input.float(1.6, minval=0.1, title="Fast range")
per2 = input.int(55, minval=1, title="Slow period")
mult2 = input.float(2.0, minval=0.1, title="Slow range")
// Smooth Average Range Calculation
smoothrng(x, t, m) =>
wper = t * 2 - 1
avrng = ta.ema(math.abs(x - x[1]), t)
smoothrng = ta.ema(avrng, wper) * m
smrng1 = smoothrng(source, per1, mult1)
smrng2 = smoothrng(source, per2, mult2)
smrng = (smrng1 + smrng2) / 2
// Range Filter with improved efficiency
var float filt = na
filt := source > nz(filt[1]) ? math.max(nz(filt[1]), source - smrng) : math.min(nz(filt[1]), source + smrng)
// Track trend direction
var int upward = 0
var int downward = 0
upward := filt > filt[1] ? upward + 1 : filt < filt[1] ? 0 : upward
downward := filt < filt[1] ? downward + 1 : filt > filt[1] ? 0 : downward
// Signal Conditions
var int CondIni = 0
longCond = source > filt and (source > source[1] or source < source[1]) and upward > 0
shortCond = source < filt and (source < source[1] or source > source[1]) and downward > 0
CondIni := longCond ? 1 : shortCond ? -1 : CondIni
bool longSignal = longCond and CondIni[1] == -1
bool shortSignal = shortCond and CondIni[1] == 1
// Strategy Execution
if longSignal
strategy.entry("Long", strategy.long)
if shortSignal
strategy.entry("Short", strategy.short)
// Plotting
plot(filt, color=color.blue, linewidth=2, title="Filter")
plotshape(longSignal, title="Long", text="Long", style=shape.labelup,
textcolor=color.black, size=size.small, location=location.belowbar,
color=color.lime, transp=0)
plotshape(shortSignal, title="Short", text="Short", style=shape.labeldown,
textcolor=color.white, size=size.small, location=location.abovebar,
color=color.red, transp=0)