এই কৌশলটি গতির সূচকগুলির উপর ভিত্তি করে একটি অভিযোজিত স্টক ট্রেডিং কৌশল। এটি অটোমেটেড ট্রেডিংয়ের জন্য প্রবণতা বিচার, অগ্রগতি পয়েন্ট সনাক্তকরণ এবং স্টপ-লস প্রস্থান অর্জনের জন্য বোলিংজার ব্যান্ড, কেল্টনার চ্যানেল এবং মূল্য সংকোচনের সূচককে একীভূত করে।
এই কৌশলটির মূল বিষয় হল বোলিংজার ব্যান্ড এবং কেল্টনার চ্যানেলের মাধ্যমে একটি মূল্য চ্যানেল তৈরি করা এবং যখন দাম চ্যানেলটি ভেঙে যায় তখন ট্রেডিং সংকেতগুলি সনাক্ত করা। যখন দাম চ্যানেলটি ভেঙে যায় তখন এটি দীর্ঘ অবস্থান নেবে এবং যখন দাম চ্যানেলটি ভেঙে যায় তখন শর্ট অবস্থান নেবে। এছাড়াও, যখন চ্যানেলটিতে দাম সংকুচিত হয়, তখন কৌশলটি মূল্য সংকোচনের সূচকের ইতিবাচক এবং নেতিবাচক মানের উপর ভিত্তি করে অপারেশন দিক নির্ধারণ করবে।
বিশেষত, বোলিংজার ব্যান্ডগুলি উপরের এবং নীচের রেলটি প্লট করার জন্য দামের স্ট্যান্ডার্ড বিচ্যুতি গণনা করে; কেল্টনার চ্যানেলগুলি গড় মূল্য ± গড় অস্থিরতার পরিসরের উপর ভিত্তি করে উপরের এবং নীচের রেলটি প্লট করে। যখন চ্যানেল ফিউশন দুটির মধ্যে ঘটে, তখন পরবর্তী ব্রেকআউটের অপেক্ষায় থাকা অবস্থায় বাজারটি একীকরণে প্রবেশ করে বলে মনে করা হয়। মূল্য সংকোচনের সূচকটি দুটি চ্যানেলের মধ্যে দাম সংকুচিত হয়েছে কিনা তা প্রতিফলিত করে। কৌশলটি সংকোচনের সূচকের ইতিবাচক এবং নেতিবাচক মানের উপর ভিত্তি করে বাজার দিক নির্ধারণ করে।
সংক্ষেপে, এই কৌশলটি মূল্যের গতিবিধি বিচার করার জন্য একাধিক সূচককে একত্রিত করে এবং একটি পরিষ্কার দীর্ঘ এবং সংক্ষিপ্ত যুক্তি গঠন করে, যা কার্যকরভাবে মিথ্যা ব্রেকআউটগুলি ফিল্টার করতে পারে এবং উচ্চ সম্ভাব্যতার ট্রেডিং সুযোগগুলি সনাক্ত করতে পারে।
শক্তিশালী বিচার ক্ষমতা সহ একাধিক সূচক একীভূত করে। সূচকগুলির সংমিশ্রণ নির্ভুলতা উন্নত করতে পারে।
সূচক পার্থক্য নির্ধারণ, মিথ্যা ব্রেকআউট কমাতে। সূচক পার্থক্য অপ্রয়োজনীয় ট্রেডিং এড়ানোর জন্য একটি সহায়ক শর্ত হিসাবে কাজ করে।
অভিযোজিত চ্যানেল স্টপ লস, কার্যকরভাবে ঝুঁকি পরিচালনা করে। চ্যানেলটি স্টপ-লস পজিশন হিসাবে কাজ করে, যা বাজারের অস্থিরতার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করতে পারে যাতে ক্ষতি হ্রাস পায়।
সহজ প্যারামিটার সেটিং, অটোমেশনের জন্য উপযুক্ত। মাত্র কয়েকটি মূল প্যারামিটার দিয়ে, এটি পরীক্ষা করা, অপ্টিমাইজ করা এবং স্বয়ংক্রিয় ট্রেডিং সিস্টেমে একীভূত করা সহজ।
বাজারে তীব্র ওঠানামা হলে ঘন ঘন লং-শর্ট স্যুইচ করা, যার ফলে ট্রেডের সংখ্যা বৃদ্ধি পায়।
ভুল সূচক পরামিতি ভাল ট্রেডিং সুযোগ মিস করতে পারে। সর্বোত্তম পরামিতি খুঁজে পেতে পর্যাপ্ত পরীক্ষা এবং অপ্টিমাইজেশান প্রয়োজন।
শুধুমাত্র স্পষ্ট দিকনির্দেশের সাথে স্টকগুলির জন্য প্রযোজ্য, অত্যন্ত অস্থির বাজারের জন্য উপযুক্ত নয়। সূচকগুলি সহজেই ভুল হতে পারে এবং মিথ্যা সংকেত তৈরি করতে পারে।
মূলধন ব্যবহারের দক্ষতা বাড়ানোর জন্য অবস্থান নিয়ন্ত্রণ মডিউল বৃদ্ধি করুন। উদাহরণস্বরূপ, ব্রেকআউট শক্তির ভিত্তিতে মূলধন বরাদ্দ করুন।
মেশিন লার্নিং মডেলকে গতিশীলভাবে সূচক পরামিতিগুলি সামঞ্জস্য করার জন্য উন্নত করুন, যাতে সূচকগুলি স্বয়ংক্রিয়ভাবে বিভিন্ন চক্র এবং বিভিন্ন স্টকগুলিতে মানিয়ে নিতে পারে।
স্টপ লস সময় নির্ধারণের জন্য আরও সহায়ক সূচক প্রবর্তন করে স্টপ লস কৌশল উন্নত করুন। উন্নত কৌশল মূল পয়েন্টগুলিতে স্টপ লসের সংখ্যা হ্রাস করতে পারে।
এই কৌশলটি বোলিংজার ব্যান্ড, কেল্টনার চ্যানেল এবং মূল্য সংকোচনের সূচককে সমন্বিত করে বিচার এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থার জন্য একটি স্পষ্ট যুক্তি গঠন করে। এটি প্রবণতা বিচার এবং ব্রেকআউট অপারেশনগুলিকে একত্রিত করে, স্বয়ংক্রিয়ভাবে বাজারের অবস্থার সাথে খাপ খাইয়ে নিতে পারে এবং উচ্চ সম্ভাব্যতার ট্রেডিং সুযোগগুলি সনাক্ত করতে পারে। আরও পরামিতি অপ্টিমাইজেশন এবং সহায়ক অবস্থার উন্নতির সাথে, এই কৌশলটি পরিমাণগত ব্যবসায়ের জন্য একটি গুরুত্বপূর্ণ সরঞ্জামে আরও শক্তিশালী করা যেতে পারে।
/*backtest start: 2022-12-29 00:00:00 end: 2024-01-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © juliopetronilo //@version=4 strategy("DMI/ADX/Squeeze Robot", shorttitle="DMI/ADX/SQZ", overlay=true) // Squeeze Momentum Indicator 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)") source = close basis = sma(source, length) dev = multKC * stdev(source, length) upperBB = basis + dev lowerBB = basis - dev ma = sma(source, lengthKC) rangeKC = useTrueRange ? tr : (high - low) rangema = sma(rangeKC, lengthKC) upperKC = ma + rangema * multKC lowerKC = ma - rangema * multKC sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC) sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC) noSqz = not (sqzOn or sqzOff) val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)), sma(close, lengthKC)), lengthKC, 0) // DMI/ADX Plot adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") keyLevel = input(23, title="Key Level for ADX") dirmov(len) => up = change(high) down = -change(low) truerange = rma(tr, len) plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange) minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx_val = abs(plus - minus) / (sum == 0 ? 1 : sum) * 100 [adx_val, plus, minus] [sig, up, down] = adx(dilen, adxlen) // Estrategia de Trading strategy.entry("Buy", strategy.long, when=sqzOn and crossover(up, down) and crossover(val, 0)) strategy.entry("Sell", strategy.short, when=sqzOn and crossunder(up, down) and crossunder(val, 0)) strategy.close("Buy", when=sqzOff) strategy.close("Sell", when=sqzOff) // Plot de los indicadores plot(val, color=color.blue, style=plot.style_histogram, linewidth=4) plot(0, color=noSqz ? color.blue : sqzOn ? color.black : color.rgb(236, 238, 247), style=plot.style_cross, linewidth=2) plot(up, color=color.blue, title="+DI") plot(down, color=color.gray, title="-DI") plot(keyLevel, color=color.white, title="Key Level")