ডাবল মুভিং এভারেজ ট্রেন্ড ট্র্যাকিং কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-01-24 11:28:57
ট্যাগঃ

img

সারসংক্ষেপ

ডুয়াল মুভিং এভারেজ ট্রেন্ড ট্র্যাকিং কৌশলটি এমন একটি কৌশল যা বাজারের প্রবণতা নির্ধারণের জন্য দ্রুত এবং ধীর গতির গড়ের সংমিশ্রণ ব্যবহার করে এবং প্রবণতার দিক পরিবর্তন হলে ট্রেডিং সংকেত তৈরি করে। এটি প্রবণতা সনাক্ত করতে চলমান গড় সূচক এবং মূল্য চ্যানেল সূচকগুলিকে একত্রিত করে, যা কার্যকরভাবে বাজার গোলমাল ফিল্টার করতে পারে এবং প্রবণতার দিক নির্ধারণ করতে পারে।

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

ডুয়াল মুভিং এভারেজ ট্রেন্ড ট্র্যাকিং কৌশলটি দুটি চলমান গড় ব্যবহার করে - একটি দ্রুত চলমান গড় (5 পিরিয়ড) এবং একটি ধীর চলমান গড় (21 পিরিয়ড) । দ্রুত এমএ ট্রেডিং সংকেত তৈরি করতে ব্যবহৃত হয় যখন ধীর এমএ বাজারের প্রবণতার দিক নির্ধারণ করতে ব্যবহৃত হয়। যখন দ্রুত এমএ ধীর এমএ এর উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন দ্রুত এমএ ধীর এমএ এর নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।

কৌশলটি প্রবণতা নির্ধারণে সহায়তা করার জন্য একটি মূল্য চ্যানেল সূচকও ব্যবহার করে। মূল্য চ্যানেলটি সর্বোচ্চ এবং সর্বনিম্ন দামের চলমান গড় দ্বারা নির্ধারিত হয়। যখন দাম চ্যানেলটি ভেঙে যায়, এটি একটি প্রবণতা বিপরীত নির্দেশ করে। এই কৌশলটি যথাক্রমে 21 এবং 5 এর সময়কাল সহ দুটি মূল্য চ্যানেল ব্যবহার করে, যা এমএ সময়ের সাথে মেলে।

ক্রয় এবং বিক্রয় সংকেত নির্ধারণের সময়, কৌশলটি ধারাবাহিক লাল / সবুজ মোমবাতি প্রদর্শিত হতে (ব্যবহারকারী নিয়ন্ত্রিত) একটি অতিরিক্ত ফিল্টার শর্ত হিসাবে প্রয়োজন। এটি বাজারের একীকরণের সময় ভুল সংকেত এড়াতে সহায়তা করে।

সংক্ষেপে, এই কৌশলটির প্রবণতা নির্ধারণের যুক্তি হলঃ

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

সময়সীমার মধ্যে প্রবণতা বিচার করে, বাজারের গোলমাল কার্যকরভাবে ফিল্টার করা যায় এবং প্রবণতার দিক নিশ্চিত করা যায়।

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

ডাবল মুভিং এভারেজ ট্রেন্ড ট্র্যাকিং কৌশল নিম্নলিখিত সুবিধাগুলি রয়েছেঃ

  1. দ্বৈত এমএ সিস্টেম কার্যকরভাবে প্রবণতা সনাক্ত করতে পারে এবং প্রধান প্রবণতা দিক নির্ধারণ করতে পারে
  2. দ্রুত এমএ ট্রেডিং সিগন্যাল তৈরি করে সময়মত ট্রেন্ড বিপরীত ধরতে
  3. স্বল্পমেয়াদী বাজারের গোলমালের দ্বারা বিভ্রান্ত হওয়া এড়াতে মূল্য চ্যানেল উচ্চতর সময়সীমার প্রবণতা নির্ধারণ করে
  4. লাল/সবুজ মোমবাতি ফিল্টারগুলি সংহতকরণের সময় ভুল সংকেতের সম্ভাবনা হ্রাস করে
  5. সামঞ্জস্যযোগ্য পরামিতিগুলি নির্ভরযোগ্যতা উন্নত করতে বিভিন্ন বাজারের জন্য অপ্টিমাইজেশানকে অনুমতি দেয়
  6. ট্রেড প্রতি ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করতে স্টপ লস কৌশল যোগ করা যেতে পারে

উপসংহারে, এই কৌশলটি মোটামুটি স্থিতিশীল এবং শক্তিশালী ট্রেন্ডিং বাজারে ভাল পারফর্ম করে।

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

ডাবল মুভিং এভারেজ ট্রেন্ড ট্র্যাকিং কৌশলটির কিছু ঝুঁকি রয়েছে, প্রধানতঃ

  1. দীর্ঘস্থায়ী সংহতকরণের সময় এটি ভুল সংকেত এবং ধারাবাহিক ছোট ক্ষতির প্রবণতা তৈরি করে
  2. অনুপযুক্ত পরামিতি সেটিং ট্রেডিং সংকেত বিলম্বিত এবং সেরা এন্ট্রি সুযোগ মিস করতে পারে
  3. কার্যকর স্টপ লস ছাড়া, ট্রেড প্রতি ঝুঁকি নিয়ন্ত্রণ করা কঠিন

ঝুঁকি কমাতে নিম্নলিখিত ব্যবস্থাগুলি গ্রহণ করা উচিতঃ

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

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

কৌশলটির আরও অপ্টিমাইজেশনের সুযোগ রয়েছে, প্রধানত নিম্নলিখিত দিকগুলিতেঃ

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

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

সিদ্ধান্ত

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


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

//@version=2
strategy(title = "Noro's Trend MAs Strategy v1.8", shorttitle = "Trend MAs str 1.8", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, "long")
needshort = input(true, "short")
needstops = input(false, "stops")
stoppercent = input(5, defval = 5, minval = 1, maxval = 50, title = "Stop, %")
useohlc4 = input(false, defval = false, title = "Use OHLC4")
usefastsma = input(true, "Use fast MA Filter")
fastlen = input(5, defval = 5, minval = 1, maxval = 50, title = "fast MA Period")
slowlen = input(21, defval = 20, minval = 2, maxval = 200, title = "slow MA Period")
bars = input(2, defval = 2, minval = 0, maxval = 3, title = "Bars Q")
needbg = input(false, defval = false, title = "Need trend Background?")
needarr = input(false, defval = false, title = "Need entry arrows?")

src = useohlc4 == true ? ohlc4 : close
fastsma = ema(src, 5)

//PriceChannel 1
lasthigh = highest(src, slowlen)
lastlow = lowest(src, slowlen)
center = (lasthigh + lastlow) / 2

//PriceChannel 2
lasthigh2 = highest(src, fastlen)
lastlow2 = lowest(src, fastlen)
center2 = (lasthigh2 + lastlow2) / 2

//Trend
//ma = type == 1 ? sma(src, len) : type == 2 ? ema(src, len) : type == 3 ? vwma(src, len) : type == 4 ? dema : type == 5 ? tema : type == 6 ? kama : type == 7 ? center : 0
//trend = low > ma and low[1] > ma[1] and low[2] > ma[2] ? 1 : high < ma and high[1] < ma[1] ? -1 : trend[1]

trend1 = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[1] ? -1 : trend1[1]
trend2 = low > center2 and low[1] > center2[1] ? 1 : high < center2 and high[1] < center2[1] ? -1 : trend1[1]
trend = trend1 == 1 and trend2 == 1 ? 1 : trend2 == -1 and trend2 == -1 ? -1 : trend[1]

//Bars
bar = close > open ? 1 : close < open ? -1 : 0
redbars = bars == 0 ? 1 : bars == 1 and bar == -1 ? 1 : bars == 2 and bar == -1 and bar[1] == -1 ? 1 : bars == 3 and bar == -1 and bar[1] == -1 and bar[2] == -1 ? 1 : 0
greenbars = bars == 0 ? 1 : bars == 1 and bar == 1 ? 1 : bars == 2 and bar == 1 and bar[1] == 1 ? 1 : bars == 3 and bar == 1 and bar[1] == 1 and bar[2] == 1 ? 1 : 0

//Signals
up = trend == 1 and (low < center2 or usefastsma == false) and (redbars == 1) ? 1 : 0
dn = trend == -1 and (high > center2 or usefastsma == false) and (greenbars == 1) ? 1 : 0

//Lines
colorfastsma = usefastsma == true ? red : na
plot(fastsma, color = colorfastsma, title = "Fast MA")
plot(center, color = blue, linewidth = 3, transp = 0, title = "Slow MA")
plot(center2, color = red, linewidth = 3, transp = 0, title = "PriceChannel 2")

//Arrows
plotarrow(up == 1 and needarr == true ? 1 : 0, colorup = black, colordown = black, transp = 0)
plotarrow(dn == 1 and needarr == true ? -1 : 0, colorup = black, colordown = black, transp = 0)

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 90)

//Alerts
alertcondition(up == 1, title='buy', message='Uptrend')
alertcondition(dn == 1, title='sell', message='Downtrend')

//Trading
stoplong = up == 1 and needstops == true ? close - (close / 100 * stoppercent) : stoplong[1]
stopshort = dn == 1 and needstops == true ? close + (close / 100 * stoppercent) : stopshort[1]

longCondition = up == 1
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
    strategy.exit("Stop Long", "Long", stop = stoplong)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    strategy.exit("Stop Short", "Short", stop = stopshort)

আরো