নতুন নিম্ন রিগ্রেশন মুভিং এভারেজ কৌশলের যুগান্তকারী অগ্রগতি


সৃষ্টির তারিখ: 2023-11-02 15:34:22 অবশেষে সংশোধন করুন: 2023-11-02 15:34:22
অনুলিপি: 0 ক্লিকের সংখ্যা: 658
1
ফোকাস
1617
অনুসারী

নতুন নিম্ন রিগ্রেশন মুভিং এভারেজ কৌশলের যুগান্তকারী অগ্রগতি

ওভারভিউ

এই কৌশলটির মূল ধারণাটি হল যে দামটি নির্দিষ্ট সময়ের মধ্যে সর্বনিম্ন মূল্যকে অতিক্রম করেছে কিনা তা সনাক্ত করা, যদি এটি অতিক্রম করে তবে আরও কিছু করুন এবং দামের পুনরুদ্ধারের জন্য অপেক্ষা করুন। এটি প্রবণতা অনুসরণকারী কৌশলগুলির মধ্যে একটি।

কৌশল নীতি

এই কৌশলটি পিনের স্ক্রিপ্টের ta.lowest পদ্ধতিটি কল করে নির্দিষ্ট সময়ের মধ্যে সর্বনিম্ন মূল্যের lowestLow প্রাপ্ত করে এবং পূর্ববর্তী সময়ের সর্বনিম্ন মূল্যের prevLow এর সাথে তুলনা করে।

যদি সর্বশেষ চক্রের সর্বনিম্ন মূল্য lowestLow পূর্ববর্তী চক্রের সর্বনিম্ন মূল্যের চেয়ে কম হয় তবে একটি মাল্টি সিগন্যাল দেওয়া হয়। এটি করার পরে, নির্দিষ্ট চক্রের সর্বোচ্চ মূল্যের সাথে উচ্চতম উচ্চতার সাথে তুলনা করা হয়। যদি সর্বশেষ চক্রের সর্বোচ্চ মূল্য পূর্ববর্তী চক্রের সর্বোচ্চ মূল্যের চেয়ে বড় হয় তবে প্লেইন করা হয়।

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

এছাড়াও, এই কৌশলটি সর্বনিম্ন মূল্যের গড় (lowestLow) এবং সর্বোচ্চ মূল্যের গড় (highestHigh) চার্ট করে, যাতে ট্রেন্ডের পরিবর্তনগুলি দৃশ্যমান হয়।

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

  • এই কৌশলটি একটি নতুন নিম্নের বিপরীত প্রবণতাকে ধরা দেয়, যার উচ্চতর বিজয়ী হার রয়েছে।

  • ট্রেডিং ফ্রিকোয়েন্সি নিয়ন্ত্রণের জন্য সর্বনিম্ন মূল্যের সংখ্যা বেছে নেওয়ার অনুমতি দেওয়া হয়েছে।

  • গড়রেখা আঁকতে হলে, প্রবণতা পরিবর্তনের বিন্দুগুলিকে স্বজ্ঞাতভাবে চিহ্নিত করতে সাহায্য করতে হবে।

  • এই কৌশলটি সহজ, সুস্পষ্ট এবং সহজেই বোঝা যায়।

  • বিভিন্ন স্টক এবং সময়কালের জন্য অপ্টিমাইজেশন পরীক্ষা কনফিগার করা যেতে পারে।

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

  • ব্রেকডাউন বা ভুয়া ব্রেকডাউন ট্রেন্ড রিভার্স পয়েন্ট নির্ধারণ করতে পারে না এবং ক্ষতির কারণ হতে পারে।

  • বিভিন্ন পরামিতি সমন্বয় অপ্টিমাইজেশন কনফিগারেশন পরীক্ষা করা প্রয়োজন, অন্যথায় লেনদেনের ফ্রিকোয়েন্সি খুব বেশি বা খুব কম হতে পারে।

  • বিভিন্ন স্টক জন্য প্যারামিটার সমন্বয় প্রয়োজন, যান্ত্রিক অ্যাপ্লিকেশন জন্য অনুপযুক্ত।

  • এর ফলে কৌশলটি অতিরিক্ত ফিট হয়ে যেতে পারে।

  • বিপর্যয়ের পরে, দাম আরও কম হতে পারে এবং ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস সেট করা দরকার।

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

  • একক ক্ষতি নিয়ন্ত্রণের জন্য ক্ষতি বন্ধ করার ব্যবস্থা যেমন মোবাইল ক্ষতি বন্ধ, ট্র্যাকিং ক্ষতি বন্ধ ইত্যাদি।

  • ট্রেডিং ফ্রিকোয়েন্সি এবং সিগন্যালের গুণমানের মধ্যে ভারসাম্য বজায় রাখার জন্য ব্রেক-আপের সংখ্যা অনুকূলিতকরণ।

  • বিভিন্ন স্টক এবং সময়কালের জন্য পরামিতি অপ্টিমাইজেশান পরীক্ষা করুন।

  • মার্কেটের চলমান অস্থিরতার মধ্যে ঘন ঘন লেনদেন এড়ানোর জন্য ফিল্টারিংয়ের ব্যবস্থা করা হয়েছে।

  • ট্রেন্ডিং ইন্ডিকেটর ব্যবহারের কথা ভাবুন, বিপরীতমুখী ট্রেডিং এড়িয়ে চলুন।

  • বিভিন্ন প্রস্থানের সিগন্যাল পরীক্ষা করুন।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
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/
// © merovinh

//@version=5
strategy(title="Merovinh - Mean Reversion Lowest low",
     overlay = true,
     default_qty_type = strategy.percent_of_equity,
     initial_capital = 10000,
     default_qty_value = 10,
     commission_type = strategy.commission.percent,
     slippage = 1,
     commission_value = 0.04)

GR_TIME = 'Time Period'

bars = input(9, title = "Minimum number of bars", tooltip = "The minimum number of bars before updating lowest low / highest high")

numberOfLows  = input.string(defval='One', title='Number of broken lows', options=['One', 'Two', 'Three', 'Four'])

//Period

var prevLow = .0
var prevHigh = .0
var prevLow2 = .0
var prevLow3 = .0
var prevLow4 = .0

truetime = true


highestHigh = ta.highest(high, bars)
lowestLow = ta.lowest(low, bars)

if numberOfLows == 'One'
    if truetime and prevLow > 0 and lowestLow < prevLow
        strategy.entry('long', strategy.long)
if numberOfLows == 'Two'
    if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2
        strategy.entry('long', strategy.long)
if numberOfLows == 'Three'
    if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2 and prevLow2 < prevLow3
        strategy.entry('long', strategy.long)
if numberOfLows == 'Four'
    if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2 and prevLow2 < prevLow3 and prevLow3 < prevLow4
        strategy.entry('long', strategy.long)

if truetime and prevHigh > 0 and highestHigh > prevHigh
    strategy.close('long')


if prevLow != lowestLow
    prevLow4 := prevLow3
    prevLow3 := prevLow2
    prevLow2 := prevLow
    prevLow := lowestLow
prevHigh := highestHigh

plot(lowestLow, color=color.green, linewidth=1, title="Lowest Low Line")
plot(highestHigh, color=color.green, linewidth=1, title="Highest High Line")