লেজিবিয়ার ভিত্তিক ওয়েভ ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

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

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

এই কৌশলটির মূলটি হ'ল লেজিবিয়ারের ওয়েভ ট্রেন্ড সূচক। এটি প্রথমে গড় মূল্য (এপি), তারপরে এপি (ইএসএ) এর এক্সপোনেনশিয়াল চলমান গড় এবং পরম মূল্য চলাচল (ডি) গণনা করে। ইএসএ এবং ডি এর উপর ভিত্তি করে কৌশলটি ভোলাটিলিটি সূচক (সিআই) গণনা করে, যা তারপরে ওয়েভ ট্রেন্ড লাইন (ডাব্লুটি) তৈরি করতে একটি এক্সপোনেনশিয়াল চলমান গড়কে খাওয়ায়। ডাব্লুটিটি আরও সহজ চলমান গড় ব্যবহার করে ডাব্লুটি 1 এবং ডাব্লুটি 2 তে প্রক্রিয়াজাত করা হয়। যখন ডাব্লুটি 1 ডাব্লুটি 2 এর উপরে অতিক্রম করে, এটি সোনার ক্রসটি ট্রিগার করে এবং দীর্ঘ যায়। যখন ডাব্লুটি 1 ডাব্লুটি 2 এর নীচে অতিক্রম করে, এটি মৃত্যুর ক্রসটি ট্রিগার করে এবং সংক্ষিপ্ত হয়।

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

এটি একটি খুব সহজ কিন্তু ব্যবহারিক প্রবণতা অনুসরণকারী কৌশল। প্রধান সুবিধাগুলি হলঃ

  1. এটি ওয়েভ ট্রেন্ড সূচকের উপর ভিত্তি করে স্পষ্টভাবে মূল্যের প্রবণতা এবং বাজারের আবেগকে চিহ্নিত করে
  2. ডব্লিউটি লাইনের গোল্ডেন/ডেথ ক্রসগুলির উপর ভিত্তি করে লম্বা/ছোট যাওয়ার সহজ ট্রেডিং লজিক
  3. বিভিন্ন চক্রের জন্য WT এর সংবেদনশীলতা সামঞ্জস্য করার জন্য কাস্টমাইজযোগ্য পরামিতি
  4. ট্রেডিং টাইম উইন্ডোর মতো অতিরিক্ত ফিল্টার যুক্ত করার নমনীয়তা

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

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

  1. কৌশল অনুসরণ করার প্রবণতা হিসাবে, এটি পরিসীমা-সীমাবদ্ধ বাজারের সময় অনেক মিথ্যা সংকেত তৈরি করতে পারে
  2. WT এর বিলম্বিত প্রকৃতির কারণে মিসড বাঁক হতে পারে
  3. ডিফল্ট প্যারামিটারগুলি সমস্ত পণ্য এবং চক্রের জন্য উপযুক্ত নাও হতে পারে
  4. স্টপ লস মেকানিজম নেই, হোল্ডিং সময় খুব দীর্ঘ হতে পারে

প্রধান সমাধানগুলি হলঃ

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

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

আরও অপ্টিমাইজেশনের সুযোগ রয়েছেঃ

  1. আরও ভাল সংবেদনশীলতা বা স্থিতিশীলতার জন্য WT পরামিতিগুলি অপ্টিমাইজ করুন
  2. চক্রের উপর ভিত্তি করে বিভিন্ন পরামিতি সেট ব্যবহার করুন
  3. নিশ্চিতকরণের জন্য ভলিউম, অস্থিরতার মতো সূচক যুক্ত করুন
  4. স্টপ লস যোগ করুন এবং লাভ নিন
  5. পিরামিডিং, গ্রিড ট্রেডিং এর মতো ট্রেডিং লজিককে সমৃদ্ধ করুন
  6. মেশিন লার্নিং ব্যবহার করে আরও ভাল বৈশিষ্ট্য এবং নিয়মগুলি অন্বেষণ করুন

সংক্ষিপ্তসার

সংক্ষেপে, এটি একটি খুব সহজ এবং ব্যবহারিক তরঙ্গ প্রবণতা অনুসরণকারী কৌশল। দামের ওঠানামা এর তরঙ্গ প্রবণতা মডেলিং দ্বারা, এটি WT এর সোনার ক্রস এবং মৃত্যুর ক্রস ব্যবহার করে ট্রেড সংকেত উত্পন্ন করার জন্য ওভারকপ এবং ওভারসোল্ড বাজার শর্তগুলি সনাক্ত করে। কৌশলটি বাস্তবায়ন করা সহজ তবে সংবেদনশীলতা এবং স্থিতিশীলতার জন্য আরও অপ্টিমাইজেশনের প্রয়োজন হতে পারে। একটি প্রবণতা অনুসরণকারী কৌশল হিসাবে, এটি মিথ্যা সংকেত এড়াতে অতিরিক্ত ফিল্টার এবং যৌক্তিকতারও প্রয়োজন। সামগ্রিকভাবে এটি উন্নতির জন্য প্রচুর জায়গা সহ একটি দরকারী কৌশল টেম্পলেট হিসাবে কাজ করে।


/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//
// @author LazyBear
//
// If you use this code in its original/modified form, do drop me a note. 
//
//@version=4
     
// === INPUT BACKTEST RANGE ===
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2021, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

// === INPUT SHOW PLOT ===
showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

// === FUNCTION EXAMPLE ===
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
obLevel1 = input(60, "Over Bought Level 1")
obLevel2 = input(53, "Over Bought Level 2")
osLevel1 = input(-60, "Over Sold Level 1")
osLevel2 = input(-53, "Over Sold Level 2")
 
ap = hlc3 
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)
 
wt1 = tci
wt2 = sma(wt1,4)

plot(0, color=color.gray)
plot(obLevel1, color=color.red)
plot(osLevel1, color=color.green)
plot(obLevel2, color=color.red, style=3)
plot(osLevel2, color=color.green, style=3)

plot(wt1, color=color.white)
plot(wt2, color=color.fuchsia)
plot(wt1-wt2, color=color.new(color.blue, 80), style=plot.style_area)

//Strategy
strategy(title="T!M - Wave Trend Strategy", overlay = false, precision = 8, max_bars_back = 200, pyramiding = 0, initial_capital = 1000, currency = currency.NONE, default_qty_type = strategy.cash, default_qty_value = 1000, commission_type = "percent", commission_value = 0.1, calc_on_every_tick=false, process_orders_on_close=true)
    
longCondition  = crossover(wt1, wt2)
shortCondition = crossunder(wt1, wt2)

strategy.entry(id="Long Entry", comment="buy", long=true, when=longCondition and window())
strategy.close("Long Entry", comment="sell", when=shortCondition and window())      

//strategy.entry(id="Short Entry", long=false, when=shortCondition)

আরো