মোমেন্টাম কৌশল


সৃষ্টির তারিখ: 2023-09-26 15:16:56 অবশেষে সংশোধন করুন: 2023-09-26 15:16:56
অনুলিপি: 1 ক্লিকের সংখ্যা: 777
1
ফোকাস
1617
অনুসারী

ওভারভিউ

গতিশীলতা কৌশল হল এমন একটি কৌশল যা মূল্য পরিবর্তনের প্রবণতা অনুসারে লেনদেন করে। এই কৌশলটি একটি নির্দিষ্ট সময়ের মধ্যে দামের পরিবর্তনের বিষয়টি গণনা করে, মূল্য আন্দোলনের প্রবণতা নির্ধারণ করে এবং তারপরে লেনদেনের সংকেত দেয়। যখন দাম বাড়ার প্রবণতা দেখা দেয়, তখন একটি কেনার সংকেত তৈরি করে; যখন দাম নেমে যাওয়ার প্রবণতা দেখা দেয়, তখন একটি বিক্রয় সংকেত তৈরি করে। এই কৌশলটি দ্বি-গতিশীলতার সূচকগুলি ক্রস করে লেনদেনের সংকেত তৈরি করে।

কৌশল নীতি

এই কৌশলটি একটি নির্দিষ্ট সময়ের মধ্যে বন্ধের দামের পরিবর্তনের উপর ভিত্তি করে মূল্যের গতিশীলতা নির্ধারণ করে। বিশেষত, এটি N সময়ের আগে বন্ধের দামের পরিবর্তনের তুলনায় বন্ধের দামের পরিবর্তনকে গণনা করে।

প্রথমে প্রথম গতিশীলতা সূচক MOM0 গণনা করুন, সূত্রটি হলঃ

MOM0 = CLOSE - CLOSE[N]

এর মধ্যে, CLOSE হল বর্তমান চক্রের সমাপ্তি মূল্য, CLOSE[N] হল N চক্রের আগে ক্লোজিং মূল্য। সুতরাং MOM0>0 হল বর্তমান চক্রের তুলনায় N চক্রের আগে ক্লোজিং মূল্য বৃদ্ধি এবং MOM0 হল বর্তমান চক্রের তুলনায় N চক্রের আগে ক্লোজিং মূল্য পতন।

তারপর দ্বিতীয় গতিশীলতা সূচক MOM1 গণনা করা হয়, যার সূত্র হলঃ

MOM1 = MOM0 - MOM0[1]

অর্থাৎ, MOM0 এর বর্তমান চক্রের মানকে পূর্ববর্তী চক্রের মানকে বাদ দিয়ে গণনা করুন। MOM1>0 মানে MOM0 বেড়েছে, MOM1 মানে MOM0 কমেছে।

একই সময়ে তৃতীয় গতিশীলতা সূচক MOM2 গণনা করা হয়, সূত্রটি হলঃ

MOM2 = CLOSE - CLOSE[1]

অর্থাৎ, বর্তমান চক্রের সমাপ্তির মূল্যকে পূর্ববর্তী চক্রের সমাপ্তির মূল্যকে বাদ দিয়ে গণনা করা হয়েছে। MOM2>0 সমাপ্তির দাম বাড়ানোর জন্য, MOM2 সমাপ্তির দাম হ্রাস করার জন্য।

যখন MOM0>0 এবং MOM1>0 হয়, তখন ক্রমাগত বৃদ্ধি দেখায়, একটি ক্রয় সংকেত উত্পন্ন করে; যখন MOM0 এবং MOM2 হয়, তখন ক্রমাগত পতন দেখায়, বিক্রয় সংকেত উত্পন্ন করে।

কোডে সময় শর্ত time_cond যুক্ত করা হয়েছে, যা কেবলমাত্র সেট করা রিটার্নিং সময়ের মধ্যে লেনদেনের সংকেত তৈরি করবে। এছাড়াও, অর্ডার দেওয়ার আগে আবার পরীক্ষা করুন যে শর্তটি এখনও রয়েছে কিনা, সংকেতটি চলে যাওয়ার পরেও অর্ডার দেওয়া থেকে বিরত থাকুন।

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

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

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

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

ট্রেডিং ভলিউম ইন্ডিকেটর ব্যবহার করে ঝুঁকি কমানোর জন্য ট্রেডিং ভলিউম চক্র সংক্ষিপ্ত করা, ট্রেন্ডিং সিদ্ধান্ত নেওয়া বা স্টপ লস কনফিগার করা যেতে পারে।

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

  • ROC, RSI ইত্যাদির মতো বিভিন্ন গতিশীলতা গণনা করার চেষ্টা করুন
  • প্রবণতা বিশ্লেষণ করুন এবং বাজারের বিপর্যয় এড়িয়ে চলুন
  • স্টপ লস স্ট্র্যাটেজি কনফিগার করুন, একক ক্ষতি নিয়ন্ত্রণ করুন
  • ট্রেডিং ভলিউম সূচকগুলির সাথে, নিশ্চিত করুন যে ট্রেডিং ভলিউম সমর্থিত
  • মেশিন লার্নিং অ্যালগরিদম যুক্ত করুন, প্যারামিটারগুলির গতিশীল অপ্টিমাইজেশন করুন
  • মাল্টিটাইম ফ্রেমওয়ার্ক কৌশল, স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী প্রবণতা
  • ক্রস মার্কেট আরবিটেশন বিবেচনা করুন, বিভিন্ন বাজারের মূল্য সম্পর্ক ব্যবহার করুন

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-09-25 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Momentum Strategy", overlay = false, precision = 2, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash, commission_type = strategy.commission.percent, commission_value = 0, calc_on_every_tick = true)

// Calculate start/end date and time condition
startDate  = input(timestamp("2021-01-02T00:00:00"), title = "Start Date", type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), title = "End Date",type = input.time)
 
time_cond  = true

i_len           =       input(defval = 12,      title = "Length",       minval = 1)
i_src           =       input(defval = close,   title = "Source")
i_percent       =       input(defval = true,    title = "Percent?")
i_mom           =       input(defval = "MOM2",  title = "MOM Choice",   options = ["MOM1", "MOM2"])

momentum(seria, length, percent) =>
	_mom        =       percent ? ( (seria / seria[length]) - 1) * 100 : seria - seria[length]
	_mom

mom0        =       momentum(i_src, i_len, i_percent)
mom1        =       momentum(mom0, 1, i_percent)
mom2        =       momentum(i_src, 1, i_percent)

momX        =       mom1

if i_mom == "MOM2"
    momX    :=     mom2

if (mom0 > 0 and momX > 0 and time_cond)
    strategy.entry("MomLE", strategy.long, stop = high + syminfo.mintick, comment = "MomLE")
else
	strategy.cancel("MomLE")
if (mom0 < 0 and momX < 0 and time_cond)
	strategy.entry("MomSE", strategy.short, stop = low - syminfo.mintick, comment = "MomSE")
else
	strategy.cancel("MomSE")

plot(mom0, color = #00bcd4, title = "MOM")
plot(mom1, color = #00FF00, title = "MOM1", display = display.none)
plot(mom2, color = #00FF00, title = "MOM2")