ডাবল বোলিংজার ব্যান্ডস ব্রেকআউট কৌশল

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

img

সারসংক্ষেপ

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

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

কৌশলটি প্রথমে একটি নির্দিষ্ট সময়ের মধ্যে চলমান গড় এবং স্ট্যান্ডার্ড বিচ্যুতি গণনা করে। তারপর এটি অভ্যন্তরীণ ব্যান্ডগুলির জন্য চলমান গড় ± এক স্ট্যান্ডার্ড বিচ্যুতি এবং বাইরের ব্যান্ডগুলির জন্য চলমান গড় ± 1.5 স্ট্যান্ডার্ড বিচ্যুতি ব্যবহার করে ডাবল বোলিংজার ব্যান্ডগুলি তৈরি করে।

যখন দামগুলি উপরের অভ্যন্তরীণ ব্যান্ডের উপরে ভেঙে যায়, তখন এটি নির্দেশ করে যে বাজারটি একটি ষাঁড়ের দৌড় শুরু করছে তাই লম্বা হয়। যখন দামগুলি নীচের অভ্যন্তরীণ ব্যান্ডের নীচে পড়ে, তখন এটি একটি ভালুকের বাজার শুরু হওয়ার ইঙ্গিত দেয় তাই শর্ট হয়।

লং পজিশনের জন্য মুনাফা বেরিয়ে আসা হয় যখন দাম নিম্নতম বাইরের ব্যান্ডের নিচে পড়ে। শর্ট পজিশনের জন্য মুনাফা বেরিয়ে আসা হয় যখন দাম উপরের বাইরের ব্যান্ডের উপরে ভাঙবে।

কৌশলটি স্টপ লস, লাভ গ্রহণ এবং স্টপ লস প্রস্থানও নির্ধারণ করে।

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

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

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

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

ডাবল বোলিংজার ব্যান্ডস ব্রেকআউট কৌশলটিও কিছু ঝুঁকি নিয়ে গঠিতঃ

  1. রেঞ্জিং মার্কেটে ঘন ঘন প্রবেশ এবং স্টপ লস হতে পারে;
  2. অনুপযুক্ত প্যারামিটার সেটিং খুব সহজ প্রবেশ বা কঠিন প্রস্থান হতে পারে;
  3. কখনও কখনও পলাতকতা মিথ্যা সংকেত দেয় যার ফলে পলাতকতা ব্যর্থ হয়।

এই ঝুঁকিগুলি মোকাবেলা করার জন্য, পরামিতিগুলি সামঞ্জস্য করা যেতে পারে, অতিরিক্ত ফিল্টার যুক্ত করা যেতে পারে, বা ঝুঁকি হ্রাস করার জন্য ব্রেকআউটগুলি ম্যানুয়ালি পর্যবেক্ষণ করা যেতে পারে।

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

ডাবল বোলিংজার ব্যান্ডস ব্রেকআউট কৌশলটি বিভিন্ন উপায়ে অপ্টিমাইজ করা যায়ঃ

  1. বিভিন্ন পণ্যের জন্য চলমান গড় এবং স্ট্যান্ডার্ড ডিভিয়েশন পরামিতি অপ্টিমাইজ করা;
  2. ভলিউম, এমএসিডি বা অন্য ফিল্টার যোগ করুন যাতে মিথ্যা ব্রেকআউট এড়ানো যায়;
  3. মেশিন লার্নিং পদ্ধতি ব্যবহার করে প্যারামিটারগুলিকে গতিশীলভাবে অপ্টিমাইজ করা;
  4. লাভের সম্ভাবনা বাড়াতে একাধিক উচ্চ ফ্রিকোয়েন্সি ব্যবধান জুড়ে কৌশল কপি করুন।

সিদ্ধান্ত

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


/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-24 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("BB Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=100, overlay=true)
l=input(title="length",defval=100)
pbin=input(type=float,step=.1,defval=.25)
pbout=input(type=float,step=.1,defval=1.5)
ma=sma(close,l)
sin=stdev(ma,l)*pbin
sout=stdev(ma,l)*pbout
inu=sin+ma
inb=-sin+ma
outu=sout+ma
outb=-sout+ma
plot(inu,color=lime)
plot(inb,color=lime)
plot(outu,color=red)
plot(outb,color=yellow)

inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na


longCondition = close>inu and rising(outu,1) 
exitlong = (open[1]>outu and close<outu) or crossunder(close,ma)

shortCondition = close<inb and falling(outb,1)
exitshort = (open[1]<outb and close>outb) or crossover(close,ma)

strategy.entry(id = "Long", long=true, when = longCondition)
strategy.close(id = "Long", when = exitlong)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong)

strategy.entry(id = "Short", long=false, when = shortCondition)
strategy.close(id = "Short", when = exitshort)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)

আরো