
উচ্চ গতিশীল প্রবণতা ব্যাপ্তি ফিল্টারিং ট্রেডিং কৌশল একটি প্রবণতা ট্র্যাকিং সিস্টেম যা দামের গতিশীল ওঠানামা পরিসীমা উপর ভিত্তি করে, মূল ধারণাটি হ’ল ডাবল টাইমফ্রেমের মসৃণ পরিসীমা গণনা করে, স্ব-অনুকূল মূল্য ফিল্টারিং প্রক্রিয়া তৈরি করে, কার্যকরভাবে বাজারের প্রবণতা পরিবর্তনগুলি সনাক্ত করে এবং একটি ট্রেডিং সংকেত উত্পন্ন করে। এই কৌশলটি দ্রুত এবং ধীর সময়ের সময়কালের সূচকীয় চলমান গড় (ইএমএ) ব্যবহার করে মূল্যের ওঠানামা পরিসীমা গণনা করে এবং একটি অনন্য পরিসীমা ফিল্টারিং অ্যালগরিদমের মাধ্যমে প্রবণতা ব্যাপ্তি সীমানা তৈরি করে। যখন দাম এই সীমানাগুলি অতিক্রম করে, তখন সিস্টেমটি স্বয়ংক্রিয়ভাবে একটি কেনা বা বিক্রয় সংকেত তৈরি করে, যা ট্রেডারদের ট্রেন্ডিং ছাড়ের পয়েন্টগুলি ক্যাপচার করতে সহায়তা করে এবং বাজারের গোলমালকে বিপরীত করে। কৌশলটি একটি স্বজ্ঞাত গ্রাফিক চেম্বার
এই কৌশলটির মূল নীতি হল দামের ওঠানামার মসৃণ পরিসীমা গণনা করে একটি গতিশীল প্রবণতা ফিল্টার তৈরি করা, যা বাস্তবায়নের পদক্ষেপগুলি নিম্নরূপঃ
দ্বৈত পরিসীমা গণনা: কৌশলটি দুটি সময়কাল ব্যবহার করে (দ্রুত এবং ধীর) দামের ওঠানামা পরিসীমা গণনা করতে। প্রথমে দামের পরম পরিবর্তন গণনা করা হয়, তারপরে সূচকীয় চলমান গড় (ইএমএ) প্রয়োগ করা হয়, শেষ পর্যন্ত কাস্টমাইজড গুণক দ্বারা পরিসীমা আকারের সমন্বয় করা হয়।
পরিসীমা ফিল্টার অ্যাপ্লিকেশনপাস হয়েছেঃapply_range_filterএই ফাংশনটির দ্বারা নির্ণিত সুষম পরিসীমাটি মূল্যের উপর প্রয়োগ করা হয়, যা নিশ্চিত করে যে নতুন ফিল্টার মূল্যটি পূর্ববর্তী ফিল্টার মূল্য থেকে খুব বেশি দূরে সরে যায় না, যার ফলে মিথ্যা সংকেত হ্রাস করা যায়।
ট্রেন্ড সনাক্তকরণকৌশলঃ প্রবণতার শক্তি এবং ধারাবাহিকতা পরিমাপ করার জন্য ফিল্টার মূল্যের ধারাবাহিক উত্থান বা পতনের সংখ্যা ট্র্যাক করুন।
অঞ্চল সীমানা নির্মাণ: ফিল্টার মূল্য এবং গড় মসৃণ পরিসীমা উপর ভিত্তি করে, কৌশল একটি উপরের এবং নীচের সীমানা গণনা করে। এই সীমানা ঐতিহাসিক মূল্য আচরণ গতিশীলতা উপর ভিত্তি করে সমন্বয়, একটি প্রবণতা পরিসীমা ফিল্টার গঠন।
সংকেত উৎপত্তি: ক্রয় সংকেত তৈরি করা হয় যখন প্রবণতা পরিসীমা ফিল্টারটি বন্ধের দামে অতিক্রম করা হয় এবং বিক্রয় সংকেত তৈরি করা হয় যখন এটি অতিক্রম করা হয়। এই সংকেতগুলি সরাসরি ট্রেডিং কৌশলগুলি কার্যকর করার জন্য প্রবেশ এবং প্রস্থান সিদ্ধান্ত গ্রহণের জন্য ব্যবহৃত হয়।
কোড বাস্তবায়ন থেকে, কৌশলটি ট্রেন্ড রেঞ্জ ফিল্টারটির মান নির্ধারণের জন্য বহু-স্তরযুক্ত কন্ডিশনাল লজিক ব্যবহার করে, যা ফিল্টারটিকে বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নিতে এবং সংকেতের নির্ভরযোগ্যতা বাড়িয়ে তুলতে সক্ষম করে। ট্রেন্ড রেঞ্জ ফিল্টারটি মূলত একটি স্ব-অনুকূলিত গতিশীল সমর্থন এবং প্রতিরোধের লাইন যা বাজারের অস্থিরতার সাথে স্বয়ংক্রিয়ভাবে তার সংবেদনশীলতা সামঞ্জস্য করতে সক্ষম।
এই কৌশলটির কোড বাস্তবায়নের গভীর বিশ্লেষণে নিম্নলিখিত উল্লেখযোগ্য সুবিধাগুলির কথা বলা যেতে পারেঃ
নমনীয়তা: কৌশলটি দ্বিগুণ সময় ফ্রেমের ((দ্রুত এবং ধীর চক্রের) পরিসীমা গণনা করে, ফিল্টারকে স্বয়ংক্রিয়ভাবে বিভিন্ন বাজারের অবস্থার অধীনে অস্থিরতার পরিবর্তনের সাথে খাপ খাইয়ে নিতে সক্ষম করে। এই স্বয়ংক্রিয়তা বৈশিষ্ট্যটি কৌশলটিকে বিভিন্ন বাজারের পরিবেশে তুলনামূলকভাবে স্থিতিশীল কর্মক্ষমতা বজায় রাখতে সক্ষম করে।
শব্দ পরিস্রাবণ ক্ষমতাসমতল পরিসীমা গণনা এবং শর্তাদি ফিল্টারিংয়ের মাধ্যমে, কৌশলটি কার্যকরভাবে বাজারের গোলমালকে ট্রেডিং সিদ্ধান্তের উপর প্রভাবিত করে এবং মিথ্যা সংকেত উত্পাদনের ঘনত্ব হ্রাস করে।
প্রবণতার পরিমাণকৌশলঃ চলমান প্রবণতার নির্ভরযোগ্যতা মূল্যায়ন করতে সাহায্য করার জন্য ট্রেডারদের প্রবণতার শক্তির একটি পরিমাণগত সূচক সরবরাহ করে, ফিল্টার করা দামের ধারাবাহিক উত্থান বা পতনের সংখ্যা ট্র্যাক করে।
দৃষ্টিভঙ্গি
প্যারামিটার সমন্বয়যোগ্যতা: কৌশলটি একাধিক সামঞ্জস্যযোগ্য ইনপুট প্যারামিটার সরবরাহ করে (যেমন দ্রুত / ধীর চক্র, ব্যাপ্তি গুণক ইত্যাদি) যা ব্যবসায়ীদের বিভিন্ন ট্রেডিং জাত এবং সময় ফ্রেমের উপর ভিত্তি করে কৌশলটির কার্যকারিতা অনুকূলিত করতে দেয়।
কাঠামোগত কোড ডিজাইনকৌশলঃ মডুলার ডিজাইন ব্যবহার করে, কাস্টম ফাংশন দ্বারা এনক্যাপেজড কোর কম্পিউটিং লজিক, কোডটি সহজেই বোঝা এবং রক্ষণাবেক্ষণ করা সহজ করে তোলে, পাশাপাশি পরবর্তী সম্প্রসারণ এবং অপ্টিমাইজেশানও সহজ করে তোলে।
যদিও এই কৌশলটির অনেক সুবিধা রয়েছে, তবে এর কিছু সম্ভাব্য ঝুঁকি এবং সীমাবদ্ধতা রয়েছেঃ
পরামিতি সংবেদনশীলতা: কৌশলগত কার্যকারিতা অত্যন্ত ইনপুট প্যারামিটার পছন্দ উপর নির্ভরশীল। বিভিন্ন সময়কাল এবং গুণক সেটিং সম্পূর্ণ ভিন্ন লেনদেনের ফলাফল হতে পারে। ব্যবসায়ীদের একটি নির্দিষ্ট বাজারের জন্য সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে পেতে পর্যাপ্ত ব্যাকআপ এবং অপ্টিমাইজেশন প্রয়োজন।
পিছিয়ে পড়ার ঝুঁকি: যেহেতু কৌশলটি ইএমএ ব্যবহার করে মসৃণভাবে পরিচালনা করা হয়, তাই এটি অনিবার্যভাবে কিছু পিছিয়ে পড়া প্রবর্তন করে, বিশেষত যখন বাজারগুলি তীব্রভাবে ওঠানামা করে বা দ্রুত বিপরীত হয়, যার ফলে প্রবেশ বা প্রস্থান সংকেত বিলম্বিত হতে পারে।
ভুয়া আক্রমণের ঝুঁকি: ব্রেকিং বা কম অস্থিরতার বাজারে, দামগুলি প্রবণতা পরিসীমা ফিল্টারগুলিকে প্রায়শই অতিক্রম করতে পারে, একাধিক মিথ্যা সংকেত তৈরি করে, যার ফলে ঘন ঘন লেনদেন হয় এবং লেনদেনের ব্যয় বৃদ্ধি পায়।
ক্ষতিপূরণের অভাব: বর্তমান কৌশল বাস্তবায়নে কোন সুস্পষ্ট স্টপ লস ব্যবস্থা নেই, প্রবণতা হঠাৎ বিপরীত হলে বড় ক্ষতির সম্মুখীন হতে পারে। উপযুক্ত ঝুঁকি ব্যবস্থাপনা ব্যবস্থাপনার সাথে ব্যবসায়ীদের সম্পূরক করার পরামর্শ দেওয়া হয়।
একক সংকেত উৎসকৌশলটি কেবলমাত্র প্রবণতা পরিসীমা ফিল্টারগুলির সাথে মূল্যের ক্রস উপর নির্ভর করে সংকেত উত্পন্ন করে এবং অন্যান্য নিশ্চিতকরণ সূচকগুলির সহায়ক যাচাইয়ের অভাবের কারণে সংকেতটির নির্ভরযোগ্যতা কম হতে পারে।
এই ঝুঁকিগুলি হ্রাস করার জন্য, ব্যবসায়ীরা অতিরিক্ত ফিল্টারিং শর্তগুলি যুক্ত করার কথা বিবেচনা করতে পারেন, যেমন অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে সংযুক্ত সংকেত নিশ্চিতকরণ (যেমন আরএসআই, এমএসিডি ইত্যাদি) এবং কঠোর তহবিল পরিচালনা এবং স্টপ লস কৌশল প্রয়োগ করা।
কোড বাস্তবায়নের গভীর বিশ্লেষণের মাধ্যমে, নিম্নলিখিত সম্ভাব্য অপ্টিমাইজেশান দিকগুলি প্রস্তাব করা যেতে পারেঃ
একাধিক নিশ্চিতকরণ ব্যবস্থা: অতিরিক্ত প্রযুক্তিগত সূচক বা শর্তগুলি সংকেত নিশ্চিতকরণ হিসাবে প্রবর্তন করুন, যেমন ট্রেডিং ভলিউম, গতিশীলতা সূচক বা বাজার কাঠামোর বিশ্লেষণের সাথে সংযুক্ত করে, সংকেতের নির্ভরযোগ্যতা বাড়ায়। এটি মিথ্যা সংকেত হ্রাস করতে পারে এবং কেবলমাত্র একাধিক শর্ত পূরণ হলেই লেনদেন সম্পাদন করতে পারে।
গতিশীল প্যারামিটার সমন্বয়: প্যারামিটারগুলির স্বয়ংক্রিয় অপ্টিমাইজেশান প্রক্রিয়া বাস্তবায়ন, যা কৌশলগুলিকে স্বয়ংক্রিয়ভাবে দ্রুত / ধীর চক্র এবং গুণমানের মানকে বাজারের অবস্থার পরিবর্তনের সাথে সামঞ্জস্য করতে দেয়। উদাহরণস্বরূপ, বাজারের অস্থিরতার সূচক (যেমন এটিআর) এর উপর ভিত্তি করে গতিশীল সামঞ্জস্যের পরিসীমা গুণিত করা যেতে পারে।
ঝুঁকি ব্যবস্থাপনা: স্টপ লস এবং লাভের সাথে বন্ধ করার ব্যবস্থা যোগ করুন, যেমন এটিআর-ভিত্তিক গতিশীল স্টপ লস, বা প্রবণতা পরিসীমা ফিল্টারগুলির বিপরীত ক্রসকে প্রস্থান সংকেত হিসাবে ব্যবহার করুন। ভাল ঝুঁকি ব্যবস্থাপনা কৌশলগুলির ঝুঁকি-ফেরতের অনুপাতকে উল্লেখযোগ্যভাবে উন্নত করতে পারে।
সময় ফিল্টারট্রেডিং উইন্ডো ফিল্টারিং বৃদ্ধি করুন, বাজারের খোলা, বন্ধ বা গুরুত্বপূর্ণ অর্থনৈতিক তথ্য প্রকাশের মতো উচ্চ অস্থিরতার সময়গুলি এড়িয়ে চলুন এবং অস্বাভাবিক অস্থিরতার কারণে মিথ্যা সংকেত হ্রাস করুন।
প্রবণতা শক্তি ফিল্টার করুনট্রেডিং সিগন্যাল তৈরি করুন যখন ট্রেন্ড যথেষ্ট শক্তিশালী হয়, দুর্বল প্রবণতা বা বাজার পুনরুদ্ধারের সময় অতিরিক্ত ট্রেডিং এড়াতে।
মেশিন লার্নিং অপ্টিমাইজেশন: মেশিন লার্নিং অ্যালগরিদম প্রবর্তন করার কথা বিবেচনা করুন, ঐতিহাসিক তথ্য প্রশিক্ষণ মডেলের মাধ্যমে, প্যারামিটার নির্বাচন অপ্টিমাইজ করুন বা সংকেত সনাক্তকরণের নির্ভুলতা উন্নত করুন। উদাহরণস্বরূপ, সিগন্যালের নির্ভরযোগ্যতা ভবিষ্যদ্বাণী করতে র্যান্ডম বন বা সমর্থন ভেক্টর মেশিন ব্যবহার করা যেতে পারে।
এই অপ্টিমাইজেশানগুলি বাস্তবায়নের ফলে কৌশলগুলির স্থিতিশীলতা এবং লাভজনকতা উল্লেখযোগ্যভাবে বৃদ্ধি পায়, যা বিভিন্ন বাজারের পরিস্থিতিতে ভাল পারফরম্যান্স বজায় রাখতে সক্ষম করে।
উচ্চ গতিশীল প্রবণতা ব্যাপ্তি ফিল্টারিং ট্রেডিং কৌশল একটি প্রবণতা ট্র্যাকিং সিস্টেম যা দামের গতিশীল ব্যাপ্তির উপর ভিত্তি করে, ডাবল টাইম ফ্রেমের স্ব-অনুসরণ ব্যাপ্তি গণনা করে একটি নমনীয় প্রবণতা সনাক্তকরণ প্রক্রিয়া তৈরি করে। কৌশলটির মূল সুবিধা হ’ল এর শক্তিশালী অভিযোজনযোগ্যতা এবং গোলমাল ফিল্টারিং ক্ষমতা, যা বিভিন্ন বাজারের অবস্থার অধীনে কার্যকরভাবে প্রবণতা পরিবর্তন সনাক্ত করতে এবং ট্রেডিং সংকেত উত্পন্ন করতে পারে।
কৌশলটি দ্রুত এবং ধীর সময়ের চক্রের মসৃণ পরিসীমা গণনা করে এবং একটি অনন্য পরিসীমা ফিল্টারিং অ্যালগরিদমের সাথে মিলিত হয়ে একটি গতিশীল প্রবণতা অঞ্চল সীমানা স্থাপন করে। যখন দামগুলি এই সীমানা অতিক্রম করে তখন সিস্টেমটি স্বয়ংক্রিয়ভাবে একটি কেনা বা বিক্রয় সংকেত তৈরি করে যা ট্রেডারকে ট্রেন্ডের বিপরীত পয়েন্টগুলি ধরতে সহায়তা করে। একই সাথে, কৌশলটির চার্ট ভিজ্যুয়ালাইজেশন বৈশিষ্ট্যটি ব্যবসায়ীদের বাজারের প্রবণতা এবং সম্ভাব্য ব্যবসায়ের সুযোগগুলিকে স্বজ্ঞাতভাবে সনাক্ত করতে সক্ষম করে।
যদিও এই কৌশলটির অনেক সুবিধা রয়েছে, তবে এটি প্যারামিটার সংবেদনশীলতা, পিছিয়ে পড়া এবং ভুয়া বিরতির মতো ঝুঁকির মুখোমুখি। একাধিক নিশ্চিতকরণ ব্যবস্থা, গতিশীল প্যারামিটার সমন্বয় এবং ঝুঁকি ব্যবস্থাপনা বাড়ানোর মতো অপ্টিমাইজেশান ব্যবস্থা চালু করে কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও বাড়ানো যেতে পারে।
সামগ্রিকভাবে, এটি একটি যুক্তিসঙ্গতভাবে পরিকল্পিত, ভালভাবে বাস্তবায়িত পরিমাণগত ট্রেডিং কৌশল যা অভিজ্ঞ ব্যবসায়ীদের জন্য উপযুক্ত, পর্যাপ্ত পরিমাণে পুনর্বিবেচনা এবং প্যারামিটার অপ্টিমাইজেশনের পরে বাস্তব ব্যবসায়ের জন্য উপযুক্ত। ট্রেডিং ট্রেডারদের জন্য ট্রেন্ড ট্র্যাকিং এবং বাজারের পরিবর্তনের সাথে গতিশীলভাবে অভিযোজিত হওয়ার জন্য এটি একটি বিবেচনাযোগ্য কৌশল পছন্দ।
/*backtest
start: 2025-01-01 00:00:00
end: 2025-06-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("L3 Twin Range Filter Pro Strategy", overlay=true)
// 输入参数
price_source = input(defval=close, title='Price Source')
show_trade_signals = input(title='Show Buy/Sell Signals ?', defval=true)
fast_period = input.int(defval=9, minval=1, title='Fast period')
fast_range_multiplier = input.float(defval=1.6, minval=0.1, title='Fast range multiplier')
slow_period = input.int(defval=34, minval=1, title='Slow period')
slow_range_multiplier = input.float(defval=2, minval=0.1, title='Slow range multiplier')
// 自定义函数
calculate_smooth_range(price, period, multiplier) =>
window_period = period * 2 - 1
average_range = ta.ema(math.abs(price - price[1]), period)
smooth_range = ta.ema(average_range, window_period) * multiplier
smooth_range
apply_range_filter(price, range_value) =>
range_filtered_price = price
range_filtered_price := price > nz(range_filtered_price[1]) ? price - range_value < nz(range_filtered_price[1]) ? nz(range_filtered_price[1]) : price - range_value : price + range_value > nz(range_filtered_price[1]) ? nz(range_filtered_price[1]) : price + range_value
range_filtered_price
// 计算过程
fast_smooth_range = calculate_smooth_range(price_source, fast_period, fast_range_multiplier)
slow_smooth_range = calculate_smooth_range(price_source, slow_period, slow_range_multiplier)
average_smooth_range = (fast_smooth_range + slow_smooth_range) / 2
filtered_price = apply_range_filter(price_source, average_smooth_range)
upward_trend = 0.0
upward_trend := filtered_price > filtered_price[1] ? nz(upward_trend[1]) + 1 : filtered_price < filtered_price[1] ? 0 : nz(upward_trend[1])
downward_trend = 0.0
downward_trend := filtered_price < filtered_price[1] ? nz(downward_trend[1]) + 1 : filtered_price > filtered_price[1] ? 0 : nz(downward_trend[1])
upper_range_boundary = filtered_price + average_smooth_range
lower_range_boundary = filtered_price - average_smooth_range
upper_bound = 0.0
upper_bound := upper_range_boundary < nz(upper_bound[1]) or close[1] > nz(upper_bound[1]) ? upper_range_boundary : nz(upper_bound[1])
lower_bound = 0.0
lower_bound := lower_range_boundary > nz(lower_bound[1]) or close[1] < nz(lower_bound[1]) ? lower_range_boundary : nz(lower_bound[1])
trend_range_filter = 0.0
trend_range_filter := nz(trend_range_filter[1]) == upper_bound[1] and close <= upper_bound ? upper_bound : nz(trend_range_filter[1]) == upper_bound[1] and close >= upper_bound ? lower_bound : nz(trend_range_filter[1]) == lower_bound[1] and close >= lower_bound ? lower_bound : nz(trend_range_filter[1]) == lower_bound[1] and close <= lower_bound ? upper_bound : upper_bound
// 定义交易信号
buy_signal = ta.crossover(close, trend_range_filter)
sell_signal = ta.crossunder(close, trend_range_filter)
// 执行交易
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.entry("Sell", strategy.short)
// 绘制标签
if (show_trade_signals and buy_signal)
label.new(bar_index, trend_range_filter, "BUY", color=color.new(color.green, 0), style=label.style_label_up)
if (show_trade_signals and sell_signal)
label.new(bar_index, trend_range_filter, "SELL", color=color.new(color.red, 0), style=label.style_label_down)
// 绘制图表元素
trend_range_filter_plot = plot(trend_range_filter, color=close > trend_range_filter ? color.new(color.lime, 10) : close < trend_range_filter ? color.new(color.red, 10) : na, title="Trend Range Filter")
price_plot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0)
up_trend_color = close > trend_range_filter ? color.new(color.lime, 80) : na
down_trend_color = close < trend_range_filter ? color.new(color.red, 80) : na
fill(price_plot, trend_range_filter_plot, title='UpTrend Highlighter', color=up_trend_color, transp=90)
fill(price_plot, trend_range_filter_plot, title='DownTrend Highlighter', color=down_trend_color, transp=90)