ডাবল-ট্র্যাক বোলিংজার ব্যান্ড মোমেন্টাম ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

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

নীতি

এই কৌশলটির প্রধান বিষয়গুলি হল:

  1. মূল্যের মধ্যম রেল গণনা করুন, যা মূল্যের সহজ চলমান গড়।

  2. চ্যানেলের ব্যান্ডউইথ হিসাবে মূল্যের পরম বিচ্যুতির সহজ চলমান গড় গণনা করুন।

  3. মধ্য রেল এবং ব্যান্ডউইথ অনুযায়ী উপরের এবং নীচের রেলগুলি নির্ধারণ করুন। উপরের রেলটি মধ্য রেল প্লাস 1 বা 2 বার ব্যান্ডউইথ। নিম্ন রেলটি মধ্য রেল বিয়োগ 1 বা 2 বার ব্যান্ডউইথ।

  4. লং এবং শর্টের জন্য ট্রেন্ড বিচার সূচক গণনা করুন। যখন দামটি উপরের রেল 2 এর উপরে থাকে, তখন এটি লং হয়। যখন দামটি নীচের রেল 2 এর নীচে থাকে, তখন এটি সংক্ষিপ্ত হয়।

  5. ট্রেডিং সিগন্যাল তৈরি করুন। যখন দাম উপরের রেল 2 এর উপরে অতিক্রম করে, তখন লম্বা যান। যখন এটি নিম্ন রেল 2 এর নীচে অতিক্রম করে, তখন সংক্ষিপ্ত যান।

  6. স্টপ লস লাইন সেট করুন। লং অর্ডারের জন্য স্টপ লস লাইন হল নিম্ন রেল 1, এবং সংক্ষিপ্ত অর্ডারের জন্য এটি উপরের রেল 1।

  7. মূলধন পরিচালনার প্রয়োজনীয়তা অনুযায়ী পজিশনের আকার গণনা করুন।

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

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

এই কৌশলটির প্রধান সুবিধাগুলো হল:

  1. দ্বৈত রেল সিস্টেম প্রবণতার শক্তি আরও ভালভাবে বিচার করতে পারে।

  2. বোলিংজার ব্যান্ডের একটি শক্তিশালী রিগ্রেশন ফাংশন রয়েছে যা কার্যকরভাবে মিথ্যা ব্রেকআউট এড়াতে পারে।

  3. বোলিংজার ব্যান্ডের রিগ্রেশনের সাথে দ্বৈত রেলের পার্থক্য তুলনামূলকভাবে স্থিতিশীল ট্রেডিং সংকেত গঠন করে।

  4. ঝুঁকি নিয়ন্ত্রণের জন্য একটি স্পষ্ট স্টপ লস/এক্সট লজিক রয়েছে।

  5. সুপার লিভারেজ এড়ানো, মূলধন পরিচালনার প্রয়োজনীয়তা অনুসরণ করে পজিশনের আকার নির্ধারণ করা হয়।

  6. কৌশল ধারণাটি স্পষ্ট এবং বোঝা এবং অনুকূলিতকরণ করা সহজ।

  7. নমনীয় পরামিতি সেটিংস এটি বিভিন্ন বাজারের জন্য অভিযোজিত করে তোলে।

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

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

  1. অনুপযুক্ত বোলিংজার ব্যান্ডের পরামিতিগুলি কার্যকরভাবে দামগুলি ট্র্যাক করতে ব্যর্থ হয়ে ড্রপিং প্রভাবের কারণ হতে পারে।

  2. দ্বৈত রেলের মধ্যে পার্থক্য সম্পূর্ণরূপে ভুল প্রবণতা রায় এড়াতে পারে না।

  3. এটি রেঞ্জ-বান্ধব বাজারে আরও অবৈধ সংকেত তৈরি করতে পারে।

  4. মিথ্যা ব্রেকআউট পরিস্থিতিতে ক্ষতি হতে পারে।

  5. কিছু সময় বিলম্ব আছে, সম্ভবত চক্র বাঁক পয়েন্ট অনুপস্থিত।

  6. ঝুঁকি/উপার্জন অনুপাত স্টপ লস পয়েন্ট দ্বারা সীমাবদ্ধ, সীমাহীনভাবে প্রবণতা অনুসরণ করতে অক্ষম।

সংশ্লিষ্ট ঝুঁকি ব্যবস্থাপনা ব্যবস্থাঃ

  1. বিভিন্ন চক্রের সাথে বোলিংজার ব্যান্ডগুলিকে অভিযোজিত করার জন্য পরামিতিগুলি অপ্টিমাইজ করুন।

  2. ভুল বিচার এড়ানোর জন্য নিশ্চিতকরণের জন্য অন্যান্য সূচকগুলি একত্রিত করুন।

  3. একক ক্ষতি নিয়ন্ত্রণে পজিশনের আকার হ্রাস করুন।

  4. ঝুঁকি/উপকারের অনুপাত নিশ্চিত করার জন্য স্টপ লস পয়েন্টগুলি অপ্টিমাইজ করুন।

  5. লেগ কমানোর জন্য সঠিকভাবে চক্রটি সংক্ষিপ্ত করুন।

  6. ঝুঁকি নিয়ন্ত্রণ শক্তিশালী হওয়া উচিত, সীমাহীন তাড়না নয়।

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

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

  1. দামের আরও ভাল ট্র্যাকিংয়ের জন্য বোলিংজার ব্যান্ডের পরামিতিগুলি অনুকূলিত করুন। অভিযোজিত পরামিতিগুলি চালু করা যেতে পারে।

  2. EMA, DWMA ইত্যাদির মত বিভিন্ন চলমান গড় চেষ্টা করুন।

  3. ব্যাপ্তি-সীমাবদ্ধ বাজারে ট্রেডিং এড়ানোর জন্য প্রবণতা ফিল্টারিং যুক্ত করুন। এমএসিডি বিবেচনা করা যেতে পারে।

  4. আরও ট্রেন্ড মুনাফা অর্জনের জন্য আক্রমণাত্মক প্রস্থান পদ্ধতি যুক্ত করুন। ট্রেলিং স্টপ লস, প্রস্থান সংকেত ইত্যাদি বিবেচনা করা যেতে পারে।

  5. সংমিশ্রণের জন্য একাধিক সময়সীমা প্রবর্তন করুন, যা বিভিন্ন বাজারের অবস্থার জন্য উপযুক্ত।

  6. ভুয়া ব্রেকআউট এড়ানোর জন্য ভলিউম স্পাইক এর মত অতিরিক্ত শর্ত যোগ করুন।

  7. বিপরীত বোলিংজার ব্যান্ড বিবেচনা করুন, উপরের ব্যান্ড বিক্রি, নিম্ন ব্যান্ড কেনা।

  8. সেরা প্যারামিটার সমন্বয় জন্য পরামিতি অপ্টিমাইজেশান সঞ্চালন।

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

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


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © noro

//@version=4
strategy(title = "Noro's Bands Strategy", shorttitle = "Bands", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1)

//Sattings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
len = input(20, defval = 20, minval = 1, maxval = 1000, title = "Length")
src = input(ohlc4, title = "Source")
showbb = input(true, title = "Show Bands")
showof = input(true, title = "Show Offset")
showbg = input(false, title = "Show Background")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

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

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd2 = center + distsma * 2
ld2 = center - distsma * 2

//Trend
trend = 0
trend := high > hd2 ? 1 : low < ld2 ? -1 : trend[1]
bgcol = showbg == false ? na : trend == 1 ? color.lime : color.red
bgcolor(bgcol, transp = 70)

//Lines
colo = showbb == false ? na : color.black
offset = showof ? 1 : 0
plot(hd2, color = colo, linewidth = 1, transp = 0, offset = offset, title = "High band 2")
plot(hd, color = colo, linewidth = 1, transp = 0, offset = offset, title = "High band 1")
plot(center, color = colo, linewidth = 1, transp = 0, offset = offset, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, offset = offset, title = "Low band 1")
plot(ld2, color = colo, linewidth = 1, transp = 0, offset = offset, title = "Low band 2")

//Trading
size = strategy.position_size
needstop = needlong == false or needshort == false
truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
lot = 0.0
lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1]
if distsma > 0
    strategy.entry("Long", strategy.long, lot, stop = hd2, when = truetime and needlong)
    strategy.entry("Short", strategy.short, lot, stop = ld2, when = truetime and needshort)
sl = size > 0 ? ld2 : size < 0 ? hd2 : na
if size > 0 and needstop
    strategy.exit("Stop Long", "Long", stop = sl)
if size < 0 and needstop
    strategy.exit("Stop Short", "Short", stop = sl)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")

আরো