এই কৌশলটির মূল ধারণাটি ক্রয় এবং বিক্রয়ের সময় বিশ্লেষণের জন্য লেজিবিয়ারের সংকোচন গতির সূচকের উপর ভিত্তি করে। এটি গতির প্রবণতার inflection পয়েন্টগুলি বিশ্লেষণ করে, যথাক্রমে বিক্রয় এবং ক্রয়ের সংকেত হিসাবে শিখর এবং নীচে অবস্থান করে। এটি একটি দীর্ঘ কৌশল হিসাবে, এটি ঊর্ধ্বমুখী প্রবণতা সনাক্ত করতে 50 সময়ের এক্সপোনেনশিয়াল মুভিং গড়ও বিবেচনা করে। যদি মোমবাতিটির বন্ধের মূল্য 50EMA এর উপরে থাকে এবং 50EMA এর ঢালটি ঊর্ধ্বমুখী হয় তবে ক্রয় সংকেতটি কার্যকর করা হয়।
এই কৌশলটি প্রবণতা এবং সংকুচিত অঞ্চলগুলি সনাক্ত করতে বোলিংজার ব্যান্ড এবং কেল্টনার চ্যানেলকে অন্তর্ভুক্ত করে। বিশেষত, এটি একটি 20 পিরিয়ড বোলিংজার ব্যান্ড এবং 20 পিরিয়ড কেল্টনার চ্যানেল গণনা করে। যখন বোলিংজার ব্যান্ডগুলি সম্পূর্ণরূপে কেল্টনার চ্যানেলের মধ্যে পড়ে, এটিকে সংকুচিত সংকেত হিসাবে দেখা হয়। যখন বোলিংজার ব্যান্ডের নিম্ন ব্যান্ড কেল্টনার চ্যানেলের নিম্ন ব্যান্ডের উপরে যায় এবং বোলিংজার ব্যান্ডের উপরের ব্যান্ড কেল্টনার চ্যানেলের উপরের ব্যান্ডের নীচে যায় তখন সংকুচিত অঞ্চলটি সনাক্ত করা হয়। বিপরীতভাবে, যখন বোলিংজার ব্যান্ডের নিম্ন ব্যান্ড কেল্টনার চ্যানেলের নিম্ন ব্যান্ডের নীচে পড়ে এবং বোলিংজার ব্যান্ডের উপরের ব্যান্ড কেল্টনার চ্যানেলের উপরের ব্যান্ডের উপরে উঠে যায়, এটি একটি নন-স্ক্রাইজ অঞ্চল।
এছাড়াও, কৌশলটি গতির ঢালের পরিবর্তনের বিশ্লেষণের জন্য রৈখিক রিগ্রেশন ব্যবহার করে। এটি গত 20 টি সময়ের মধ্যে মূল্যের রৈখিক রিগ্রেশন মান বিয়োগ করে সাধারণ মূল্য গণনা করে। যখন রৈখিক রিগ্রেশন মানের ঢাল ধনাত্মক হয়, তখন এটি একটি ঊর্ধ্বমুখী প্রবণতা হিসাবে দেখা হয়। যখন ঢাল নেতিবাচক হয়, এটি একটি নিম্নমুখী প্রবণতা। সংকোচন অঞ্চলের মধ্যে, যদি গতির ঢালের বিপরীত হয়, তবে এটি একটি ক্রয় বা বিক্রয় সংকেত দেয়। বিশেষত, যখন সংকোচন অঞ্চলের মধ্যে, একটি গতির ফ্লিপ ইতিবাচক থেকে নেতিবাচক একটি বিক্রয় সংকেত জারি করে। এবং যখন সংকোচন অঞ্চলের মধ্যে, একটি গতির ফ্লিপ নেতিবাচক থেকে ইতিবাচক একটি ক্রয় সংকেত জারি করে।
মিথ্যা সংকেতগুলি ফিল্টার করার জন্য, কৌশলটিও বিচার করে যে বন্ধের দামটি 50 দিনের এক্সপোনেনশিয়াল মুভিং এভারেজের উপরে এবং 50 দিনের এক্সপোনেনশিয়াল মুভিং এভারেজটি একটি উপরের ঢেউতে রয়েছে কিনা। শুধুমাত্র যখন উভয় শর্ত পূরণ করা হয় তখনই ক্রয় সংকেত কার্যকর করা হবে।
এটি একটি খুব স্মার্ট কৌশল, যা বাজারের বহু-মাত্রিক বিচার করার জন্য দুটি ভিন্ন ধরণের সূচক ব্যবহার করে, যা কার্যকরভাবে মিথ্যা সংকেতগুলি এড়াতে পারে। বিশেষত এর সুবিধাগুলি হলঃ
বহুমাত্রিক বিশ্লেষণ এবং উন্নত নির্ভুলতার জন্য বলিংজার ব্যান্ড, কেল্টনার চ্যানেল এবং গতির সূচকগুলির ব্যাপক প্রয়োগ।
স্ক্র্যাজ জোনগুলি গতির বিপরীতমুখী শিখর এবং নীচে কার্যকরভাবে সনাক্ত করতে পারে এবং সঠিকভাবে বাঁকগুলি ক্যাপচার করতে পারে।
বন্ধের মূল্য এবং ৫০ দিনের EMA-র উপর ভিত্তি করে ট্রেন্ড ফিল্টারিং একত্রীকরণের সময় পজিশন পুনরাবৃত্তি করা এড়ায়।
শুধুমাত্র সংকুচিত অঞ্চলে সিগন্যাল প্রেরণ করা মিথ্যা সংকেত হ্রাস করে এবং লাভজনকতার হার উন্নত করে।
বড় প্যারামিটার অপ্টিমাইজেশান স্পেস সামঞ্জস্য সময় ইত্যাদি মাধ্যমে লক্ষ্যবস্তু অপ্টিমাইজেশান অনুমতি দেয়
দীর্ঘ ও স্বল্প সময় সংমিশ্রণ, বড় চক্রের প্রবণতা বিবেচনা করে এবং মাঝারি মেয়াদী সূচকগুলিকে একীভূত করে, দীর্ঘ দিক পরিষ্কার।
যদিও এই কৌশলটিতে একাধিক প্রযুক্তিগত সূচক রয়েছে, তবুও কিছু ঝুঁকি রয়েছেঃ
বোলিংজার ব্যান্ড এবং কেল্টনার চ্যানেলের বিচ্ছিন্নতার সময় কেনা/বিক্রয় সুযোগ হারাতে হবে।
বাজারের প্রবল উত্থান বা পতনের সময় বড় ক্ষতি হতে পারে।
উচ্চ অস্থিরতার বাজারে, সংকোচনের পরিস্থিতি স্পষ্ট নাও হতে পারে, যার ফলে কম সংকেত পাওয়া যায়।
গরু-ঘোড়ার পরিবর্তনের সময় সংশোধন হ্রাসের প্রবণতা।
এই ঝুঁকিগুলি এড়াতে, আমরা নিম্নলিখিত ব্যবস্থা গ্রহণ করতে পারিঃ
বোলিংজার ব্যান্ড এবং কেল্টনার চ্যানেলকে যতটা সম্ভব সিঙ্ক্রোনাইজ করার জন্য পরামিতিগুলি অপ্টিমাইজ করুন।
একক ক্ষতি নিয়ন্ত্রণে স্টপ লস সেট করুন।
এই কৌশলটি একটি পোর্টফোলিও কৌশল অংশ হিসাবে ব্যবহার করুন, অন্যান্য কৌশল সঙ্গে মিলিত।
উচ্চ অস্থিরতা বাজারের সময় পজিশন যথাযথভাবে হ্রাস করুন।
এই কৌশলটি মূলত নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করার জন্য এখনও অনেক জায়গা রয়েছেঃ
বোলিঞ্জার ব্যান্ড এবং কেল্টনার চ্যানেলের সময়কালকে সর্বোচ্চভাবে সিঙ্ক্রোনাইজ করার জন্য অপ্টিমাইজ করুন।
সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে পেতে বিভিন্ন গুণক ফ্যাক্টর পরীক্ষা করুন।
নিশ্চিতকরণের জন্য অন্যান্য সূচক যেমন আরএসআই ইত্যাদি প্রবর্তন করার চেষ্টা করুন।
ওয়েন হুয়া ফাইভ কালার লাইন মডেলের উপর ভিত্তি করে, বাজার পর্যায়ে নির্ভর করে এই কৌশলটি বেছে বেছে ব্যবহার করুন।
মেশিন লার্নিং ইত্যাদি গ্রহণ করে গতিশীলভাবে পরামিতিগুলি অনুকূলিত করুন।
সবচেয়ে উপযুক্ত ট্রেডিং পণ্য খুঁজে পেতে বিভিন্ন মুদ্রার উপর ব্যাকটেস্ট।
এই কৌশলটির কার্যকারিতা আরও দীর্ঘ সময়ের জন্য (দৈনিক, সাপ্তাহিক ইত্যাদি) পরীক্ষা করুন।
ল্যাজিবিয়ার স্প্রেজ মোমেন্টাম স্ট্র্যাটেজি বিভিন্ন প্রযুক্তিগত সূচককে ব্যাপকভাবে ব্যবহার করে, স্প্রেজ জোনের সময় ট্রেডিংয়ের জন্য গতি বিপরীতকরণের সঠিকভাবে সনাক্ত করে, প্রবণতাহীন বাজারের সময় পুনরাবৃত্তিমূলক পজিশন খোলার এড়ানো। এটি পদ্ধতিগতভাবে পরিমাণযুক্ত ক্রয় এবং বিক্রয় নিয়মগুলি সংজ্ঞায়িত করেছে, ব্যাকটেস্টে দুর্দান্ত পারফর্ম করেছে। প্যারামিটার সেটিংস অপ্টিমাইজ করার মাধ্যমে, নতুন বিচার সূচক ইত্যাদি প্রবর্তন করে, এই কৌশলটির উন্নতির জন্য প্রচুর জায়গা রয়েছে এবং কোয়ান্ট ট্রেডারদের দ্বারা গভীর গবেষণা এবং প্রয়োগের মূল্যবান।
/*backtest start: 2023-11-20 00:00:00 end: 2023-12-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // // @author LazyBear // List of all my indicators: https://www.tradingview.com/v/4IneGo8h/ // initialBalance = 8000 strategy("Crypto momentum strategy", overlay=false) length = input(20, title="BB Length") mult = input(2.0, title="BB MultFactor") lengthKC = input(20, title="KC Length") multKC = input(1.5, title="KC MultFactor") useTrueRange = input(true, title="Use TrueRange (KC)", type=input.bool) // Calculate BB source = close basis = sma(source, length) ema = ema(source, 50) dev = multKC * stdev(source, length) upperBB = basis + dev lowerBB = basis - dev // Calculate KC ma = sma(source, lengthKC) range = useTrueRange ? tr : high - low rangema = sma(range, lengthKC) upperKC = ma + rangema * multKC lowerKC = ma - rangema * multKC sqzOn = lowerBB > lowerKC and upperBB < upperKC sqzOff = lowerBB < lowerKC and upperBB > upperKC noSqz = sqzOn == false and sqzOff == false val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)), sma(close, lengthKC)), lengthKC, 0) slope = (val - val[2]) emaSlope = (ema - ema[1]) bcolor = iff(slope > 0, color.lime, color.red) scolor = noSqz ? color.green : sqzOn ? color.black : color.green squeeze = (noSqz ? 0 : sqzOn ? 1 : 0) plot(val, color=color.gray, style=plot.style_line, linewidth=1, title="momentum") plot(slope, color=bcolor, style=plot.style_circles, linewidth=2, title="slope") plot(0, color=scolor, style=plot.style_line, linewidth=2, title="squeeze-zero") co = crossover(slope / abs(slope), 0) cu = crossunder(slope / abs(slope), 0) if co and source > ema and emaSlope > 0 strategy.entry("long", strategy.long, comment="long") if cu strategy.close("long")