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

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

সারসংক্ষেপ

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

কৌশল নীতি

  1. সাম্প্রতিক ক্লোজিং মূল্যের সাধারণ চলমান গড় হিসাবে মধ্যবর্তী ব্যান্ড এসএমএ গণনা করুন।

  2. দামের ওঠানামা পরিসীমা প্রতিফলিত করার জন্য স্ট্যান্ডার্ড ডিভিয়েশন StdDev গণনা করুন।

  3. উপরের ব্যান্ডটি পেতে মাঝারি ব্যান্ড এসএমএ-তে স্ট্যান্ডার্ড ডিভিয়েশনের উপরের অফসেট যোগ করুন।

  4. নিম্ন ব্যান্ড পেতে মাঝারি ব্যান্ড এসএমএ থেকে স্ট্যান্ডার্ড ডিভিয়েশন এর নিচের অফসেট বিয়োগ করুন।

  5. যখন বন্ধের মূল্য নীচের অংশের উপরে পড়ে তখন লম্বা হয়ে যান।

  6. যখন মূল্য উপরের ব্যাংকে পৌঁছবে তখন পজিশনটি বন্ধ করুন, কারণ দামটি অস্বাভাবিক বলে মনে করা হয়।

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

এই কৌশলটির সবচেয়ে বড় সুবিধা হ'ল বাজারের অস্বাভাবিক ওঠানামা কার্যকরভাবে ট্র্যাক করতে এবং প্রবণতা ক্যাপচার করতে বোলিংজার ব্যান্ডের পরিসংখ্যানগত বৈশিষ্ট্যগুলি ব্যবহার করা। নিয়মিত চলমান গড় কৌশলগুলির তুলনায় বোলিংজার ব্যান্ড কৌশলগুলির আরও সুবিধা রয়েছেঃ

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

  2. ব্রেকআউট সিগন্যাল প্রবেশের জন্য আরো নির্ভরযোগ্য।

  3. লাভের জন্য অর্থের দিকে প্রত্যাবর্তন যুক্তিসঙ্গত।

  4. বিভিন্ন বাজারের সাথে সামঞ্জস্য করার জন্য বিশাল প্যারামিটার টিউনিং স্পেস।

  5. মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতা ক্যাপচার করতে পারে এবং স্বল্পমেয়াদী জন্য ব্যবহার করা যেতে পারে।

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

এই কৌশলটির সম্ভাব্য ঝুঁকি প্রধানত নিম্নরূপঃ

  1. ব্যাপ্তি সীমাবদ্ধ বাজারে বোলিংজার ব্যান্ডের দুর্বল পারফরম্যান্স, ভুল এন্ট্রি এড়ানো।

  2. ব্রেকআউট সিগন্যালগুলি মিথ্যা ব্রেকআউট হতে পারে, সতর্কতার প্রয়োজন।

  3. মুনাফা গ্রহণের অবস্থান খুব আদর্শ, প্রকৃত মূল্য কর্মের জন্য অপ্টিমাইজ করা যেতে পারে।

  4. অনুপযুক্ত প্যারামিটার সেটিংগুলি অতিরিক্ত ট্রেডিং বা অতিরিক্ত সংরক্ষণশীলতার দিকে পরিচালিত করতে পারে।

  5. ব্যাকটেস্টের সময়টি যথেষ্ট দীর্ঘ হতে হবে যাতে কার্ভ ফিটিং এড়ানো যায়।

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

  1. ফিল্টার সংকেতগুলিতে ট্রেডিং ভলিউম সূচক যুক্ত করুন।

  2. বিভিন্ন বাজারের পরামিতি এবং পরীক্ষার তথ্য অপ্টিমাইজ করুন।

  3. স্টপ লস যোগ করুন, লাভের মাত্রা বাড়িয়ে নিন।

  4. সিগন্যালের বৈষম্য মূল্যায়ন করুন, উচ্চতা এবং বিক্রয় নিম্নতা অনুসরণ করা এড়িয়ে চলুন।

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

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

  1. সর্বোত্তম খুঁজে পেতে বলিংজার ব্যান্ডের পরামিতিগুলির বিভিন্ন সমন্বয় চেষ্টা করুন।

  2. ব্রেকআউট সিগন্যাল ফিল্টার করার জন্য এমএ, এমএসিডি ইত্যাদি যোগ করুন।

  3. বোলিংজার পরামিতি অপ্টিমাইজ করার জন্য মেশিন লার্নিং অ্যালগরিদম প্রয়োগ করুন।

  4. ব্রেকআউটগুলির শক্তি মূল্যায়ন করুন এবং অবস্থান আকারের সমন্বয় করুন।

  5. স্থিতিশীলতা পরীক্ষা করার জন্য দীর্ঘ সময় ব্যাকটেস্ট করুন।

  6. ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস ব্যবস্থা যোগ করুন।

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

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


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

//@version=4

strategy(title="BB training No Repainting (OTS Mode)", overlay=true)


// Strategy Rules:
// 1. Enter trade when price crosses above the lower band
// 2. Exit trade when price touches the upper band
// 

// Chart Properties
testStartYear = input(2010, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)

testStopYear = input(2030, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? #6c6f6c : na
bgcolor(testPeriodBackgroundColor, transp=97)

// User provided values
smaLength = input(title="SMA Length", type=input.integer, defval=20) // Middle band period length (moving average)
stdLength = input(title="StdDev Length", type=input.integer, defval=20) // Range to apply bands to
ubOffset = input(title="Upper Band Offset", type=input.float, defval=2.0, step=0.5) // Number of standard deviations above MA
lbOffset = input(title="Lower Band Offset", type=input.float, defval=2.0, step=0.5) // Number of standard deviation below MA

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false

smaValue = sma(close, smaLength) // Middle band
stdDev = stdev(close, stdLength)
upperBand = smaValue + stdDev * ubOffset // Top band
lowerBand = smaValue - stdDev * lbOffset // Bottom band

// Plot bands to chart
plot(series=smaValue, title="SMA", color=color.green)
plot(series=upperBand, title="UB", color=color.blue, linewidth=2)
plot(series=lowerBand, title="LB", color=color.blue, linewidth=2)

longCondition = (crossover(close, lowerBand))
closeLongCondition = (close >= upperBand)

if (longCondition and testPeriod())
    strategy.entry(id="CALL", long=true)

strategy.close(id="CALL", when=closeLongCondition)


আরো