দ্বি-রৈখিক রিগ্রেশন ট্রেন্ড অনুসরণকারী কৌশলটি দামের প্রবণতা নির্ধারণের জন্য দ্রুত এবং ধীর রৈখিক রিগ্রেশনের মধ্যে পার্থক্য ব্যবহার করে এবং এটি প্রবেশ সংকেত হিসাবে ব্যবহার করে। যখন দ্রুত রৈখিক রিগ্রেশন প্রান্তিকের উপরে অতিক্রম করে এবং এটি নীচে অতিক্রম করে তখন এটি দীর্ঘ হয়। এটি কেবলমাত্র যখন দামটি ইএমএর উপরে থাকে তখন প্রবেশের জন্য ফিল্টার হিসাবে ইএমএ ব্যবহার করে।
কৌশলটি প্রথমে বিভিন্ন সময়ের সাথে দুটি রৈখিক রিগ্রেশন লাইন গণনা করে, একটি দ্রুত স্বল্প সময়ের সাথে এবং একটি দীর্ঘ সময়ের সাথে ধীর। তারপরে এটি উভয়ের মধ্যে পার্থক্য গণনা করে, যখন দ্রুত রিগ্রেশন ধীর রিগ্রেশনের উপরে থাকে, তখন পার্থক্যটি ইতিবাচক হয়, যা একটি আপট্রেন্ডকে নির্দেশ করে। যখন দ্রুত ধীরের নীচে থাকে, তখন পার্থক্যটি নেতিবাচক হয়, যা একটি ডাউনট্রেন্ডকে নির্দেশ করে।
এই কৌশলটি যখন ডিফারেনশিয়াল লাইনটি থ্রেশহোল্ডের উপরে অতিক্রম করে তখন দীর্ঘ প্রবেশ করে এবং যখন এটি নীচে অতিক্রম করে তখন বেরিয়ে আসে। এটি 200-পরিসরের ইএমএ এর উপরে থাকা মূল্যের প্রয়োজন যাতে নন-ট্রেন্ডিং মুভগুলি ফিল্টার করা যায়।
ডাবল লিনিয়ার রিগ্রেশন দামের প্রবণতাকে ভালভাবে ক্যাপচার করতে পারে।
ইএমএ ফিল্টারটি অ-ট্রেন্ডিং মুভ থেকে কিছু মিথ্যা সংকেত দূর করে।
সহজ এবং সুস্পষ্ট যুক্তি, সহজেই বোঝা যায় এবং বাস্তবায়ন করা যায়।
ভুল LR সময়কাল অত্যধিক গোলমাল সৃষ্টি করতে পারে।
EMA ফিল্টার শক্তিশালী প্রবণতা মধ্যে সুযোগ মিস করতে পারে।
বিভিন্ন বাজারে হ্রাস ও ক্ষতির ঝুঁকিতে।
সমাধান:
গোলমাল কমাতে LR সময়কাল অপ্টিমাইজ করুন।
বাজারের অবস্থার উপর ভিত্তি করে গতিশীলভাবে EMA সময়কাল সামঞ্জস্য করুন।
স্টপ লসকে কন্ট্রোল লসের সাথে যুক্ত করুন।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
সর্বোত্তম সমন্বয় খুঁজে পেতে দ্রুত এবং ধীর LR সময়কাল অপ্টিমাইজ করুন।
EMA এর পরিবর্তে Bollinger Bands, KDJ এর মত অন্য ফিল্টার ব্যবহার করে দেখুন।
ঝুঁকি নিয়ন্ত্রণের জন্য গতিশীল স্টপ লস যোগ করুন।
ট্রেন্ডিং স্টক নির্বাচন করার জন্য স্টক পিকিং এর সাথে একত্রিত করুন।
বাজারের অবস্থার উপর ভিত্তি করে অভিযোজিত পরামিতিগুলি বিকাশ করুন।
দ্বি-রৈখিক রিগ্রেশন কৌশলটি দ্বৈত রৈখিক রিগ্রেশন এবং ইএমএ ফিল্টার সহ প্রবণতা ক্যাপচার করতে সহজ এবং সরাসরি। তবে এটিতে এমন ঝুঁকিও রয়েছে যা প্যারামিটার অপ্টিমাইজেশন, স্টপ লস ইত্যাদির মাধ্যমে মোকাবেলা করা দরকার। যখন সঠিকভাবে ট্যুইট করা হয়, তখন এটি কার্যকরভাবে ট্রেন্ডিং মার্কেট ট্রেড করতে পারে।
/*backtest start: 2022-11-10 00:00:00 end: 2023-11-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © TradingAmmo //@version=4 strategy("Linear trend", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD') startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0) end = timestamp(input(9999, "End Year"), input(1, "Month"), input(1, "Day"), 0, 0) _testPeriod() => iff(time >= startP and time <= end, true, false) src = close len1 = input(defval=13, minval=1, title="Fast LR") len2 = input(defval=55, minval=1, title="Slow LR") lag1 = input(0, title="Lag for fast") lag2 = input(0, title="Lag for slow") threshold = input(0,step=0.5, title="Threshold") fast_lr = linreg(src, len1, lag1) slow_lr = linreg(src, len2, lag2) lr = fast_lr - slow_lr plot_fast = plot(lr, color = lr > 0 ? color.green : color.red) plot(threshold, color=color.purple) long_condition = crossover(lr, threshold) and close > ema(close, 200) and _testPeriod() strategy.entry('BUY', strategy.long, when=long_condition) short_condition = crossunder(lr, threshold) strategy.close('BUY', when=short_condition)