ইম্পুটাম ব্রেকআউট কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৪-০১-১৭ ১৩ঃ৫৮ঃ১৯
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

এই কৌশলটির মূল সূচক হ'ল মূল্য গতি। গতির হিসাব করা হয়ঃ

momentum = close - close[n] 

যেখানে n হল গতির সময়কালের দৈর্ঘ্য। যখন গতি > 0, এর অর্থ হল যে বর্তমান সময়ের মধ্যে দাম বেড়েছে। যখন গতি < 0, এর অর্থ হল বর্তমান সময়ের মধ্যে দাম কমেছে।

কৌশলটি প্রথমে একটি কনফার্মবার্স প্যারামিটার সেট করে, যা ট্রেডগুলি সম্পাদনের আগে প্রবণতা বিচারের জন্য প্রয়োজনীয় মোমবাতিগুলির সংখ্যাকে উপস্থাপন করে। ব্যাকটেস্ট পরিসরের মধ্যে, যদি কনফার্মবারস মোমবাতিগুলির জন্য গতি > 0 অব্যাহত থাকে তবে একটি দীর্ঘ এন্ট্রি করা হয়। যদি কনফার্মবারস মোমবাতিগুলির জন্য গতি < 0 অব্যাহত থাকে তবে একটি সংক্ষিপ্ত এন্ট্রি করা হয়।

কৌশলটির প্রবণতা রায়ের মূল চাবিকাঠি হ'ল ধারাবাহিক মোমবাতিগুলির সংখ্যা গণনা করা যেখানে গতি 0 এর চেয়ে বড় বা কম, যা bcount এবং ডিসকাউন্ট ভেরিয়েবলের মাধ্যমে সম্পন্ন হয়। যখন সংশ্লিষ্ট শর্ত পূরণ হয় তখন তারা 1 দ্বারা বৃদ্ধি পায় এবং শর্তটি পূরণ না হলে 0 এ পুনরায় সেট করা হয়। যখন গণনাটি কনফার্মবারগুলিতে পৌঁছে যায়, তখন সংশ্লিষ্ট দীর্ঘ বা সংক্ষিপ্ত বাণিজ্য কার্যকর করা হয়।

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

এটি একটি তুলনামূলকভাবে সহজ প্রবণতা যা নিম্নলিখিত সুবিধাগুলির সাথে কৌশল অনুসরণ করেঃ

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

কৌশলগত ঝুঁকি

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

  1. একাধিক ওসিলেটিং ট্রেডিং এবং ওভারট্রেডিংয়ের প্রবণতা
  2. যুক্তিসঙ্গত প্যারামিটার কনফিগারেশন প্রয়োজন, বিশেষ করে confirmBars কম্পন ফিল্টার করতে
  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)


আরো