বিবি কেল্টনার সংকোচন ট্রেডিং কৌশল বোলিংজার ব্যান্ড এবং কেল্টনার চ্যানেলগুলির মধ্যে সংকোচনের সন্ধানে প্রবণতা বিপরীতগুলি সনাক্ত করে। এটি একটি স্বল্পমেয়াদী ট্রেডিং কৌশল। কৌশলটি বেস সূচক হিসাবে বোলিংজার ব্যান্ড এবং সংকেতগুলি নিশ্চিত করার জন্য কেল্টনার চ্যানেলগুলি ব্যবহার করে। যখন মূল্য বোলিংজার ব্যান্ডগুলি থেকে বেরিয়ে আসে, তখন কেল্টনার চ্যানেলগুলির সাথে একটি সংকোচন প্রবণতা বিপরীতের সংকেত দেয়।
এই কৌশলটির মূল নীতিগুলি হল:
বোলিংজার ব্যান্ডগুলি মূল্যের অস্থিরতা পরিমাপ করে। এটিতে উপরের, মাঝের এবং নীচের ব্যান্ড রয়েছে যদি দামটি অস্থির অবস্থায় থাকে তা সনাক্ত করতে।
কেল্টনার চ্যানেলগুলি বোলিঞ্জার সংকেতগুলি যাচাই করে। কেল্টনার চ্যানেলগুলি দামের অস্থিরতাও পরিমাপ করে। যখন দাম বোলিঞ্জার ব্যান্ডের কাছাকাছি আসে, তখন কেল্টনারের সাথে একটি সংকোচন উচ্চতর অস্থিরতা এবং সম্ভাব্য বিপরীতমুখী বোঝায়।
ট্রেডিং সংকেতগুলি সংকোচনের উপর ভিত্তি করে উত্পন্ন হয়। বোলিংজার উপরের ব্যান্ডের উপরে ব্রেকআউটগুলি এর নীচে কেল্টনার সংকীর্ণ সংকেত লং। বোলিংজার নিম্ন ব্যান্ডের নীচে ব্রেকআউটগুলি এর উপরে কেল্টনার সংকীর্ণ সংকেত শর্টস।
মাঝারি ব্যান্ড প্রবণতার দিক নির্দেশ করে। মাঝারি ব্যান্ডের উপরে দামগুলি আপট্রেন্ডের সংকেত দেয়, এবং নীচে ডাউনট্রেন্ডের সংকেত দেয়।
প্রবেশ এবং প্রস্থান মধ্যব্যাণ্ড দিক উপর ভিত্তি করে করা হয়। মধ্যব্যাণ্ড দিক নিশ্চিত সংকেত সঙ্গে সংকোচনের উপর দীর্ঘ / সংক্ষিপ্ত; দিক flips যদি সমতল।
এই কৌশলটি বিপরীতমুখী পয়েন্টগুলি সনাক্ত করতে কেল্টনার চ্যানেলগুলির সাথে বোলিংজার ব্যান্ডগুলিকে পরিপূরক করে। এটি গড় বিপরীতমুখী ট্রেডিং কৌশলগুলির উদাহরণ।
এই কৌশলটির প্রধান সুবিধাগুলো হল:
দুটি সূচককে একত্রিত করা সিগন্যালের নির্ভরযোগ্যতা উন্নত করে, একক সূচক থেকে মিথ্যা বিরতি এড়ায়।
মধ্যবর্তী ব্যান্ড ব্যবহার করে স্পষ্ট প্রবণতা সনাক্তকরণ. স্বজ্ঞাতভাবে রিয়েল টাইম প্রবণতা ট্র্যাক.
মাঝারি ব্যান্ড মেচিং এর উপর ভিত্তি করে নমনীয় এন্ট্রি/এক্সট লজিক। ট্রেন্ডের বিরুদ্ধে ট্রেডিং এড়ায়।
এটি স্বল্পমেয়াদী ট্রেডিংয়ের জন্য উপযুক্ত। দ্রুত মুনাফা অর্জনের জন্য স্বল্পমেয়াদী ব্রেকআউট এবং কম্প্রেশনগুলি ক্যাপচার করে।
স্বজ্ঞাত ভিজ্যুয়ালগুলি সংকোচন, মধ্যবর্তী ব্যান্ড, এমএসিডি হিস্টোগ্রাম ইত্যাদি হাইলাইট করে। পরিষ্কার গ্রাফিকাল উপস্থাপনা।
সহজেই বাস্তবায়ন এবং প্রতিলিপি করা যায়। সহজ যুক্তি এবং কনফিগারযোগ্য পরামিতিগুলি গ্রহণকে সহজ করে তোলে।
মূল ঝুঁকিগুলি বিবেচনা করা উচিতঃ
প্রসারিত মুভ থেকে ড্রাউডাউন ঝুঁকি। শক্তিশালী প্রবণতা চলাকালীন কম্প্রেশনগুলি হারাতে পারে।
ব্যর্থ ব্রেকআউটের ঝুঁকি। প্রাথমিক বোলিংজার ব্রেকআউটগুলি অল্পকালীন নকল হতে পারে।
প্যারামিটার অপ্টিমাইজেশান ঝুঁকি। ব্যান্ড এবং চ্যানেলের ভুল সুরক্ষা কর্মক্ষমতা হ্রাস করতে পারে। কঠোর পরীক্ষার প্রয়োজন।
বড় বাজার ঝুঁকি দীর্ঘমেয়াদী আপট্রেন্ডের কারণে অত্যধিক শর্টস। বড় বাজার চলার সময় প্রয়োগ করা এড়িয়ে চলুন।
উচ্চ ফ্রিকোয়েন্সি ট্রেডিং ঝুঁকি। স্বল্পমেয়াদী প্রকৃতি ফি এবং স্লিপিং থেকে খরচ বৃদ্ধি করতে পারে।
সূচক ব্যর্থতার ঝুঁকি। চরম অবস্থার সময় সংকেত কাজ বন্ধ করতে পারে।
স্টপ লস, পজিশন সাইজিং, প্যারামিটার টিউনিং এবং শক্তিশালী জরুরী পরিকল্পনার মাধ্যমে ঝুঁকির সক্রিয় ব্যবস্থাপনা প্রয়োজন।
কৌশল উন্নত করার কিছু উপায় হল:
সিগন্যালকে শক্তিশালী করতে অতিরিক্ত সূচক যুক্ত করুন, বিজয় হার উন্নত করুন।
হ্রাসকে সীমাবদ্ধ করার জন্য টেলিং স্টপ বা এটিআর স্টপগুলির মতো স্টপ লস প্রক্রিয়া যুক্ত করুন।
কঠোর পরীক্ষার মাধ্যমে ব্যান্ড এবং চ্যানেলের জন্য প্যারামিটার অপ্টিমাইজ করুন।
বাজারের পরিস্থিতি এবং প্রবণতার শক্তির উপর ভিত্তি করে পজিশনের আকারগুলি সামঞ্জস্য করুন।
প্যারামিটার অপ্টিমাইজেশান, সিগন্যাল বর্ধন এবং অভিযোজনের জন্য মেশিন লার্নিং প্রয়োগ করুন।
ষাঁড় এবং ভালুকের মধ্যে পার্থক্য করুন। শক্তিশালী দিকনির্দেশমূলক পক্ষপাতের সময় বিপরীত প্রবণতা ব্যবসায় হ্রাস করুন।
সংকেত বৈচিত্র্য সমৃদ্ধ করার জন্য ভলিউম, গতির সূচক দিয়ে পরিপূরক করুন।
ক্রমাগত উন্নতির মাধ্যমে, কৌশলটি বিভিন্ন বাজারে একটি শক্তিশালী এবং সামঞ্জস্যপূর্ণ স্বল্পমেয়াদী ট্রেডিং সিস্টেমে পরিণত হতে পারে।
বিবি কেল্টনার সংকোচন কৌশল বোলিংজার ব্যান্ড এবং কেল্টনার চ্যানেলগুলির মধ্যে সংকোচনের মাধ্যমে মূল্য বিপরীতমুখী উপর মূলধন করে। এটি উচ্চ সম্ভাব্যতার সংকেতগুলির জন্য দ্বৈত সূচকগুলিকে একত্রিত করে, প্রবণতার দিক পরিমাপের জন্য মধ্যবর্তী ব্যান্ড ব্যবহার করে এবং সংকোচনের মাধ্যমে আসন্ন বিপরীতমুখী চিহ্নিত করে। কৌশলটি ঘন ঘন সুযোগের সন্ধানকারী স্বল্পমেয়াদী ব্যবসায়ীদের জন্য উপযুক্ত। তবে ড্রডাউন নিয়ন্ত্রণ এবং পরামিতি টিউনিং অপরিহার্য। চলমান উন্নতির সাথে এটি একটি টেকসই স্বল্পমেয়াদী ট্রেডিং কৌশল হয়ে উঠার সম্ভাবনা রয়েছে।
/*backtest start: 2023-09-17 00:00:00 end: 2023-09-24 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("BB Keltner Squeeze Strategy", overlay=true, initial_capital=10000, currency='USD') length = input(title="Length", type=input.integer, defval=20, minval=0) src = input(close, title="Source") bband(length, mult) => sma(close, length) + mult * stdev(close, length) keltner(length, mult) => ema(close, length) + mult * ema(tr, length) //BB B2mult = input(2.0, minval=0.001, maxval=50, title="Band 1 StDev") B2basis = sma(src, length) B2dev = B2mult * stdev(src, length) B2upper = B2basis + B2dev B2lower = B2basis - B2dev plot(B2basis, color=color.blue) p1 = plot(B2upper, color=#00ffff, linewidth=2, title="Band 2SD upper") p2 = plot(B2lower, color=#00ffff, linewidth=2, title="Band 2SD lower") //Keltner useTrueRange = input(true) Kmult = input(1.5, title="Keltner Range") Kma = ema(src, length) Krange = useTrueRange ? tr : high - low Krangema = ema(Krange, length) Kupper = Kma + Krangema * Kmult Klower = Kma - Krangema * Kmult p5 = plot(Kupper, color=color.yellow, linewidth=2, style=plot.style_circles, title="Keltner upper") p6 = plot(Klower, color=color.yellow, linewidth=2, style=plot.style_circles, title="Keltner lower") e1 = (highest(high, length) + lowest(low, length)) / 2 + sma(close, length) osc = linreg(close - e1 / 2, length, 0) diff = bband(length, 2) - keltner(length, 1) osc_color = osc[1] < osc[0] ? osc[0] >= 0 ? #00ffff : #cc00cc : osc[0] >= 0 ? #009b9b : #ff9bff mid_color = diff >= 0 ? color.green : color.red fromYear = year > 2014 toYear = year < 2016 direction = 0 squeeze = Kupper > B2upper midc = 0 midc := squeeze ? 0 : close > B2basis ? 1 : 2 midcolor = midc == 0 ? #666666 : midc == 1 ? #00ff00 : #ff0000 direction := midc[1] plot(B2basis, color=midcolor, linewidth=4, title="BB Mid") bgcolor(midc == 0 ? #333333 : #000000, transp=75) if direction == 0 if midc[1] == 0 and midc == 1 strategy.entry("LONG", strategy.long) direction := 1 else if midc[1] == 0 and midc == 2 strategy.entry("SHORT", strategy.short) direction := 2 else if direction != midc strategy.close_all() direction := 0