মূল্য মোমেন্টাম সূচক ব্যবহার করে প্রবণতা অনুসরণকারী কৌশল


সৃষ্টির তারিখ: 2024-01-17 13:58:19 অবশেষে সংশোধন করুন: 2024-01-17 13:58:19
অনুলিপি: 1 ক্লিকের সংখ্যা: 540
1
ফোকাস
1617
অনুসারী

মূল্য মোমেন্টাম সূচক ব্যবহার করে প্রবণতা অনুসরণকারী কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটির কেন্দ্রীয় সূচক হল দামের গতিশীলতা (momentum) । গতিশীলতার গণনা সূত্র হল:

momentum = close - close[n]

যেখানে n হল গতিশীলতা চক্রের দৈর্ঘ্য। যখন momentum > 0 হয়, তখন বর্তমান চক্রের মধ্যে দাম বাড়ছে। যখন momentum < 0 হয়, তখন বর্তমান চক্রের মধ্যে দাম কমছে।

এই কৌশলটি প্রথমে একটি confirmBars প্যারামিটার সেট করে, যা ট্রেডিংয়ের জন্য কে-লাইনগুলির প্রবণতা বিচার করার জন্য ব্যবহৃত হয়। পুনরাবৃত্তি পরিসরে, যদি মোমেনটম > 0 ক্রমাগত নিশ্চিত বার্স রুট কে লাইন হয় তবে আরও প্রবেশ করা হয়; যদি মোমেনটম < 0 ক্রমাগত নিশ্চিত বার্স রুট কে লাইন হয় তবে ফাঁকা প্রবেশ করা হয়।

এই কৌশলটি ট্রেন্ডিংয়ের মূল বিষয় হল ক্রমাগত K লাইনগুলির সংখ্যা যা 0 এর চেয়ে বড় বা 0 এর চেয়ে কম, যা bcount এবং scount ভেরিয়েবলের মাধ্যমে পরিমাপ করা হয়। তারা + 1 হয় যখন তাদের শর্ত পূরণ হয় এবং 0 হয় যখন তারা সন্তুষ্ট হয় না। যখন গণনাটি confirmBars পৌঁছায়, তখন তাদের সাথে অতিরিক্ত বা শূন্য লেনদেন করা হয়।

কৌশলগত সুবিধা

এটি একটি সহজ ট্রেন্ড ট্র্যাকিং কৌশল যা নিম্নলিখিত সুবিধাগুলির সাথে আসেঃ

  1. সহজলভ্য, সহজলভ্য বাস্তবায়ন
  2. ডায়নামিক সূচক মূল্য পরিবর্তনের প্রতি সংবেদনশীল, যা দ্রুত প্রবণতা ধরতে পারে
  3. কনফিগারযোগ্য প্যারামিটার বিচার সংবেদনশীলতা সামঞ্জস্য
  4. বিভিন্ন বাজারে ব্যবহার করা যায়

কৌশলগত ঝুঁকি

এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ

  1. একাধিক অস্থিরতা এবং অতিরিক্ত লেনদেনের ঝুঁকিতে
  2. যুক্তিসঙ্গত কনফিগারেশন প্যারামিটার প্রয়োজন, বিশেষত কনফার্ম বার ফিল্টার ঝাঁকুনি
  3. বাজার বিপর্যয় মোকাবেলায় ব্যর্থতা
  4. পুনরুদ্ধারগুলি রিয়েল-ডিস্কের চেয়ে আলাদা হতে পারে, ডেটা পুনর্বিবেচনা এবং পরিপূরক প্যারামিটার অপ্টিমাইজেশন প্রয়োজন

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

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

  1. একক লেনদেনের ঝুঁকি নিয়ন্ত্রণে স্টপ লজিক বাড়ানো
  2. দামের অস্থিরতা এড়াতে ব্রেকফাস্ট ফিল্টার যুক্ত করুন
  3. বিভিন্ন জাত এবং বাজারের পরিবেশের উপর নির্ভর করে কনফার্মবারের মতো প্যারামিটারগুলি সামঞ্জস্য করুন
  4. ভর্তি নিশ্চিতকরণের অন্যান্য সূচকগুলির সাথে মিলিতভাবে মাল্টি-ফ্যাক্টর বিচার বৃদ্ধি করা
  5. মেশিন লার্নিং পদ্ধতি ব্যবহার করে প্যারামিটার এবং ফিল্টারিং নিয়মের সাথে মানিয়ে নেওয়া

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Momentum Strategy [TS Trader]", overlay=true)

confirmBars = input(1)
momentumLength = input(14, title="Momentum Length")

price = close
momentum = close - close[momentumLength]

// === INPUT BACKTEST RANGE ===
fromYear = input.int(2019, title="Backtest Start Year")
fromMonth = input.int(1, title="Backtest Start Month", minval=1, maxval=12)
fromDay = input.int(1, title="Backtest Start Day", minval=1, maxval=31)
toYear = input.int(2023, title="Backtest End Year")
toMonth = input.int(12, title="Backtest End Month", minval=1, maxval=12)
toDay = input.int(31, title="Backtest End Day", minval=1, maxval=31)

startTimestamp = timestamp(fromYear, fromMonth, fromDay, 00, 00)
endTimestamp = timestamp(toYear, toMonth, toDay, 23, 59)

inBacktestRange = true

// === STRATEGY LOGIC ===
bcond = momentum > 0
bcount = 0
bcount := bcond ? nz(bcount[1]) + 1 : 0
if (bcount == confirmBars and inBacktestRange)
    strategy.entry("Buy", strategy.long, comment="Long")

scond = momentum < 0
scount = 0
scount := scond ? nz(scount[1]) + 1 : 0
if (scount == confirmBars and inBacktestRange)
    strategy.entry("Sell", strategy.short, comment="Short")

// Plotting Momentum
plot(momentum, title="Momentum", color=color.purple)