
এই কৌশলটি একটি প্রবণতা ট্র্যাকিং কৌশল যা মূল্যের গতিশীলতার সূচক ব্যবহার করে বাস্তবায়িত হয়। এটি একটি নির্দিষ্ট সময়ের মধ্যে সমাপ্তির দামের পরিবর্তনগুলি গণনা করে বাজারের প্রবণতা নির্ধারণ করে এবং যখন দামের ক্রমাগত উত্থান বা পতনের প্রবণতা দেখা দেয়, তখন এটি একটি অনুরূপ মুদ্রা বা মুদ্রা মুদ্রা গ্রহণ করে।
এই কৌশলটির কেন্দ্রীয় সূচক হল দামের গতিশীলতা (momentum) । গতিশীলতার গণনা সূত্র হল:
momentum = close - close[n]
যেখানে n হল গতিশীলতা চক্রের দৈর্ঘ্য। যখন momentum > 0 হয়, তখন বর্তমান চক্রের মধ্যে দাম বাড়ছে। যখন momentum < 0 হয়, তখন বর্তমান চক্রের মধ্যে দাম কমছে।
এই কৌশলটি প্রথমে একটি confirmBars প্যারামিটার সেট করে, যা ট্রেডিংয়ের জন্য কে-লাইনগুলির প্রবণতা বিচার করার জন্য ব্যবহৃত হয়। পুনরাবৃত্তি পরিসরে, যদি মোমেনটম > 0 ক্রমাগত নিশ্চিত বার্স রুট কে লাইন হয় তবে আরও প্রবেশ করা হয়; যদি মোমেনটম < 0 ক্রমাগত নিশ্চিত বার্স রুট কে লাইন হয় তবে ফাঁকা প্রবেশ করা হয়।
এই কৌশলটি ট্রেন্ডিংয়ের মূল বিষয় হল ক্রমাগত K লাইনগুলির সংখ্যা যা 0 এর চেয়ে বড় বা 0 এর চেয়ে কম, যা bcount এবং scount ভেরিয়েবলের মাধ্যমে পরিমাপ করা হয়। তারা + 1 হয় যখন তাদের শর্ত পূরণ হয় এবং 0 হয় যখন তারা সন্তুষ্ট হয় না। যখন গণনাটি confirmBars পৌঁছায়, তখন তাদের সাথে অতিরিক্ত বা শূন্য লেনদেন করা হয়।
এটি একটি সহজ ট্রেন্ড ট্র্যাকিং কৌশল যা নিম্নলিখিত সুবিধাগুলির সাথে আসেঃ
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ
সামগ্রিকভাবে, এই গতিশীল বিরতি কৌশলটি একটি সহজ ব্যবহারিক প্রবণতা অনুসরণকারী কৌশল যা পরিমাণগত লেনদেনের জন্য উপযুক্ত। লেনদেনের ফ্রিকোয়েন্সি নিয়ন্ত্রণ, অত্যধিক লেনদেন এবং লেনদেনের ব্যয়কে রোধ করার জন্য প্রয়োগের সময় মনোযোগ দেওয়া দরকার। একই সাথে, প্যারামিটার এবং ফিল্টারিং নিয়মগুলিকে প্রকৃত জাত এবং বাজারের পরিবেশের সাথে সামঞ্জস্য করে অপ্টিমাইজ করা দরকার যাতে কৌশলটি সর্বাধিক কার্যকর হয়।
/*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)