ডাবল লিনিয়ার রিগ্রেশন ট্রেন্ড অনুসরণ কৌশল


সৃষ্টির তারিখ: 2023-11-17 16:51:33 অবশেষে সংশোধন করুন: 2023-11-17 16:51:33
অনুলিপি: 0 ক্লিকের সংখ্যা: 616
1
ফোকাস
1617
অনুসারী

ডাবল লিনিয়ার রিগ্রেশন ট্রেন্ড অনুসরণ কৌশল

ওভারভিউ

দ্বি-লিনিয়ার রিটার্ন ট্রেন্ড ট্র্যাকিং কৌশলটি দ্রুত লিনিয়ার রিটার্ন এবং ধীর লিনিয়ার রিটার্নের পার্থক্য ব্যবহার করে দামের প্রবণতা নির্ধারণ করে এবং এটিকে প্রবেশের সংকেত হিসাবে ব্যবহার করে। যখন দ্রুত লিনিয়ার রিটার্নটি উপরের দরজাটি অতিক্রম করে তখন এটি বেশি করে এবং নীচের দরজাটি অতিক্রম করে তখন এটি সমতল হয়। একই সাথে, এই কৌশলটি ইএমএকে ফিল্টার শর্ত হিসাবে ব্যবহার করে এবং কেবলমাত্র যখন দাম ইএমএর চেয়ে বেশি হয় তখনই প্রবেশ করে।

কৌশল নীতি

এই কৌশলটি প্রথমে দুটি ভিন্ন পিরিয়ডের লিনিয়ার রিটার্ন কার্ভ গণনা করে, একটি দ্রুত লিনিয়ার রিটার্নের জন্য, যার পিরিয়ড কম, এবং অন্যটি ধীর লিনিয়ার রিটার্নের জন্য, যার পিরিয়ড বেশি। তারপরে দুটি লিনিয়ার রিটার্নের পার্থক্য গণনা করা হয়, যখন দ্রুত লিনিয়ার রিটার্নটি ধীর লিনিয়ার রিটার্নের চেয়ে বেশি হয়, তখন পার্থক্যটি 0 এর চেয়ে বড় হয়, দামটি একটি উচ্চ প্রবণতায় থাকে; যখন দ্রুত লিনিয়ার রিটার্নটি ধীর লিনিয়ার রিটার্নের চেয়ে কম হয়, তখন পার্থক্যটি 0 এর চেয়ে কম হয়, দামটি একটি নিম্ন প্রবণতায় থাকে।

কৌশলটি একটি ক্রয় সংকেত হিসাবে দরজা সীমা অতিক্রম করে এবং একটি বন্ধের সংকেত হিসাবে দরজা সীমা অতিক্রম করে। একই সময়ে, 200-চক্রের ইএমএর চেয়ে বেশি দামের প্রয়োজন হয়, এটি একটি অ-প্রবণতা পরিস্থিতি ফিল্টার করার জন্য।

সামর্থ্য বিশ্লেষণ

  1. দামের প্রবণতা ধরার জন্য দ্বি-লিনিয়ার রিগ্রেশন ব্যবহার করা হয়।

  2. ইএমএ ফিল্টার যুক্ত করা হয়েছে, যা কিছু অ-ট্রেন্ডিং ট্রেন্ডকে ফিল্টার করে এবং ভুল সংকেত এড়াতে পারে।

  3. কৌশলগত ধারণাগুলি সহজ, স্পষ্ট, সহজে বোঝা যায় এবং বাস্তবায়িত হয়।

ঝুঁকি বিশ্লেষণ

  1. লাইন রিগ্রেশন চক্রটি ভুলভাবে সেট করা হয়েছে, যার ফলে প্রচুর পরিমাণে গোলমালের সংকেত তৈরি হতে পারে।

  2. শক্তিশালী প্রবণতা চলাকালীন, EMA ফিল্টারগুলি কিছু সুযোগ মিস করতে পারে।

  3. এই ধরনের পরিস্থিতিতে অনেক সময় ট্রেডিং এবং ক্ষতির সম্ভাবনা থাকে।

সমাধানঃ

  1. অপ্টিমাইজড লিনিয়ার রিগ্রেশন সাইকেল প্যারামিটার, নয়েজ কমানো।

  2. EMA চক্রটি বাজারের অবস্থার উপর নির্ভর করে পরিবর্তনশীলভাবে সামঞ্জস্য করা যেতে পারে।

  3. ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস বাড়ানো।

কৌশল অপ্টিমাইজেশন

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ

  1. দ্রুত লিনিয়ার রিগ্রেশন এবং ধীর লিনিয়ার রিগ্রেশনের চক্রীয় প্যারামিটারগুলিকে অপ্টিমাইজ করুন এবং সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করুন।

  2. ইএমএর পরিবর্তে অন্যান্য ফিল্টারিং সূচক ব্যবহার করে দেখুন, যেমন ব্রিন টেপ, কেডিজে ইত্যাদি, এবং দেখুন যে কৌশলটি আরও কার্যকর হতে পারে কিনা।

  3. ঝুঁকি নিয়ন্ত্রণের জন্য গতিশীল স্টপ লস বৃদ্ধি করুন এবং ক্ষতির বিস্তার রোধ করুন।

  4. শেয়ার নির্বাচন পদ্ধতির সাথে যুক্ত, ট্রেন্ডিংয়ের জন্য প্রবণতাযুক্ত শেয়ার নির্বাচন করুন।

  5. বিকাশের পরামিতিগুলি স্বয়ংক্রিয়ভাবে বাজারের অবস্থার সাথে সামঞ্জস্য করে।

সারসংক্ষেপ

দ্বি-রৈখিক প্রত্যাবর্তন প্রবণতা ট্র্যাকিং কৌশল সামগ্রিকভাবে তুলনামূলকভাবে সহজ এবং সরাসরি, দ্বি-রৈখিক প্রত্যাবর্তন ব্যবধান ব্যবহার করে মূল্যের প্রবণতা নির্ধারণ করে এবং ইএমএকে ফিল্টারিং সূচক হিসাবে ব্যবহার করে কার্যকরভাবে প্রবণতা অনুসরণ করতে পারে। তবে এই কৌশলটিও কিছু ঝুঁকিপূর্ণ, কৌশলটির সর্বাধিক কার্যকারিতা অর্জনের জন্য প্যারামিটার অপ্টিমাইজেশন, স্টপ লস কন্ট্রোল ইত্যাদির দিকে মনোযোগ দেওয়ার প্রয়োজন।

কৌশল সোর্স কোড
/*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)