ইম্পোমেন্টাম সুইং ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-02-05 10:44:19
ট্যাগঃ

img

সারসংক্ষেপ

এটি একটি দৈনিক ব্যবধান সুইং ট্রেডিং কৌশল যা এটিআর স্টপ ব্যবহার করে গতির কৌশলগুলির উপর ভিত্তি করে। এটি স্থিতিশীল থেকে কোরি হং দ্বারা তৈরি করা হয়েছিল।

কৌশলটি গতির সূচক ব্যবহার করে প্রবণতার দিকনির্দেশনা নির্ধারণ করে এবং ATR এর ভিত্তিতে স্টপ লস লাইনগুলি নির্ধারণ করে কম-ক্রয়-উচ্চ-বিক্রয় সুইং ট্রেডিং বাস্তবায়নের জন্য।

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

কোড প্রথমে ব্যাকটেস্টিং সময় পরিসীমা সেট করে।

তারপর সূচক বিভাগে, নিম্নলিখিত সূচকগুলি গণনা করা হয়ঃ

  • atr ((): স্টপ লসের জন্য ATR গণনা করুন;
  • max_/min_: পূর্ববর্তী বারের সর্বোচ্চ/নিম্নতম মূল্য;
  • is_uptrend: যদি এটি একটি uptrend হয় বিচার;
  • প্রবেশঃ স্টপ লস লাইন;

প্রবণতা মূল্যায়নের মূল যুক্তি হল:

যদি ক্লোজ আগের ডাউনসাইড স্টপ লস লাইনের চেয়ে বেশি হয়, তাহলে এটিকে আপট্রেন্ড হিসেবে বিবেচনা করা হয়; যদি ক্লোজ আগের আপসাইড স্টপ লস লাইনের চেয়ে কম হয়, তাহলে এটিকে ডাউনট্রেন্ড হিসেবে বিবেচনা করা হয়।

যখন ট্রেন্ড পরিবর্তন হয়, স্টপ লস লাইন অবস্থান সামঞ্জস্য করুন।

বিশেষ করে, একটি আপট্রেন্ডে, স্টপ লস লাইনটি পূর্ববর্তী বারের সর্বোচ্চ মূল্য বিয়োগ করে ATR মানের উপর সেট করা হয়; একটি ডাউনট্রেন্ডে, স্টপ লস লাইনটি পূর্ববর্তী বারের সর্বনিম্ন মূল্য বিয়োগ করে ATR মানের উপর সেট করা হয়।

এটি স্টপ লস অনুসরণ করে প্রবণতা উপলব্ধি করে।

ট্রেডিং নিয়ম বিভাগে, যখন দাম স্টপ লস লাইন অতিক্রম করে তখন লং/শর্ট পজিশন খুলুন।

সুবিধা বিশ্লেষণ

এই কৌশলটির সুবিধাঃ

  1. গতির কৌশল ব্যবহার করে প্রবণতা দিক বিচার করুন, সময়মত বাঁক পয়েন্টগুলি ধরুন এবং মিথ্যা ব্রেকআউট এড়ান।
  2. ATR স্টপ লস সর্বোচ্চ/নিম্ন মূল্যের ট্র্যাক করে, ঝুঁকি ভালভাবে নিয়ন্ত্রণ করতে পারে।
  3. সহজ এবং স্পষ্ট কৌশল যুক্তি, সহজেই বুঝতে এবং বাস্তবায়ন।
  4. সুইংয়ের মধ্যে কম-খরিদ-উচ্চ-বিক্রয় ট্রেড করতে পারে।

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

এছাড়াও কিছু ঝুঁকি আছেঃ

  1. ভুল এটিআর পরামিতির কারণে স্টপ লস খুব লস বা খুব টাইট হতে পারে।
  2. ধারাবাহিক ট্রেন্ডে তীব্র হুইপসও হতে পারে, যার ফলে ধারাবাহিক স্টপ লস হতে পারে।
  3. উচ্চ ট্রেডিং ফ্রিকোয়েন্সি, উচ্চতর কমিশন.

কিছু অপ্টিমাইজেশনঃ

  1. সর্বোত্তম খুঁজে পেতে বিভিন্ন ATR পরামিতি পরীক্ষা করুন।
  2. ATR এর উপরে ভোলাটিলিটি মেট্রিক্সকে একত্রিত করে স্টপ লসকে অপ্টিমাইজ করুন।
  3. অস্থির বাজারের সময় অপ্রয়োজনীয় ট্রেড এড়াতে ট্রেন্ড ফিল্টার যুক্ত করুন।

অপ্টিমাইজেশান নির্দেশাবলী

এই কৌশলটি অপ্টিমাইজ করার জন্য কিছু দিকনির্দেশঃ

  1. সর্বোত্তম খুঁজে পেতে বিভিন্ন এটিআর পরামিতি পরীক্ষা করুন। একাধিক পরামিতি সেট ব্যাকটেস্ট করুন এবং রিটার্ন / ঝুঁকি অনুপাত মূল্যায়ন করুন।

  2. ATR এর উপরে অস্থিরতা মেট্রিক্স একত্রিত করে স্টপ লস অপ্টিমাইজ করুন। অস্থিরতা মেট্রিক্স যুক্ত করুন, অস্থিরতা বৃদ্ধির সময়কালে স্টপ লসকে সঠিকভাবে শিথিল করুন।

  3. প্রবণতা ফিল্টার যোগ করুন, যখন বাজারে অস্থিরতা থাকে তখন ট্রেড এড়াতে। প্রবণতা বিচার সূচক যোগ করুন, শুধুমাত্র প্রবণতা পরিষ্কার হলে ট্রেড করুন।

  4. অ্যাকাউন্ট ব্যবহারের অনুপাত, পরপর স্টপ লস টাইম ইত্যাদির উপর ভিত্তি করে অবস্থানের আকার সামঞ্জস্য করুন।

  5. ওভারনাইট গ্যাপ ঝুঁকি নিয়ন্ত্রণ যোগ করুন। ওভারনাইট গ্যাপ ঝুঁকি এড়ানোর জন্য বাজারের বন্ধ হওয়ার আগে সক্রিয়ভাবে ক্ষতি কাটা।

সিদ্ধান্ত

একটি মৌলিক দৈনিক সুইং ট্রেডিং কৌশল হিসাবে, সামগ্রিক যুক্তি পরিষ্কার। এটি গতি কৌশলগুলির সাথে প্রবণতা বিচার করে এবং ATR ব্যবহার করে স্টপ লস অনুসরণ করে, কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করে।

অপ্টিমাইজেশান জন্য এখনও বড় জায়গা, কৌশল আরো বাস্তব করতে প্রবণতা রায়, স্টপ লস পদ্ধতি, অবস্থান আকার ইত্যাদি দিক থেকে উন্নত করা যেতে পারে। সামগ্রিকভাবে এই কৌশল পরিমাণগত ট্রেডিং জন্য একটি কঠিন কাঠামো প্রদান করে।


/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("BTC Swinger", overlay=true, commission_value = 0.25, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)

/////////////////////////////////////////////////////////////
//START - SET DATE RANGE

// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2010, title = "From Year")
ToMonth   = input(defval = 12, title = "To Month", minval = 1)
ToDay     = input(defval = 31, title = "To Day", minval = 1)
ToYear    = input(defval = 2020, title = "To Year")

startDate = time > timestamp(FromYear, FromMonth, FromDay, 1, 1)
endDate = time < timestamp(ToYear, ToMonth, ToDay, 23, 59)
withinTimeRange = true

/////////////////////////////////////////////////////////////
//END - SET DATE RANGE



/////////////////////////////////////////////////////////////
//START - INDICATORS

length = input(3)
mult = input(1, minval = 0.01)
atr_ = atr(length)
max1 = max(nz(max_[1]), close)
min1 = min(nz(min_[1]), close)
is_uptrend_prev = nz(is_uptrend[1], true)
stop = is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_
vstop_prev = nz(vstop[1])
vstop1 = is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop)
is_uptrend = close - vstop1 >= 0
is_trend_changed = is_uptrend != is_uptrend_prev
max_ = is_trend_changed ? close : max1
min_ = is_trend_changed ? close : min1
vstop = is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1
plot(vstop, color = is_uptrend ? yellow : red, style=circles, linewidth=2)

/////////////////////////////////////////////////////////////
//END - INDICATORS



/////////////////////////////////////////////////////////////
//START - TRADING RULES
direction = input(defval=1, title = "Strategy Direction", minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

condition1 = close > vstop and withinTimeRange
condition2 = close < vstop and withinTimeRange

strategy.entry("BUY", strategy.long, when = condition1)
strategy.entry("SELL", strategy.short, when = condition2)

/////////////////////////////////////////////////////////////
//END - TRADING RULES

আরো