ডুয়াল ট্রেন্ড ব্রেকআউট কৌশলটি ট্রেন্ড লাইন, চলমান গড় ক্রসওভার এবং মূল্য চ্যানেল ব্রেকআউট সহ একাধিক প্রযুক্তিগত সূচককে একীভূত করে বাজারের সম্ভাব্য টার্নিং পয়েন্টগুলি সনাক্ত করতে। এটি প্রবণতা ক্যাপচার এবং গতির পরিবর্তনের উপর মূলধন অর্জনের লক্ষ্য রাখে। এই কৌশলটি তুলনামূলকভাবে শক্তিশালী এন্ট্রি এবং প্রস্থানগুলির জন্য প্রবণতা ট্র্যাকিং এবং ব্রেকআউট সংকেতগুলিকে একত্রিত করে, তবে এটি মিথ্যা ব্রেকআউটগুলির কিছু ঝুঁকি বহন করে।
এই কৌশলটি প্রথমে উত্থান এবং হ্রাস প্রবণতা বিভক্ত করতে পিভট উচ্চ এবং নিম্ন ব্যবহার করে। যখন মূল্য প্রবণতা লাইনটি ভেঙে যায়, এটি একটি সম্ভাব্য প্রবণতা বিপরীতের সংকেত দেয়। প্রকৃত ওঠানামা বজায় রাখার জন্য এটিআর পদ্ধতি ব্যবহার করে ঢাল গণনা করা হয়।
কৌশলটি দ্রুত এবং ধীর ক্রসওভার ট্রেডিংয়ের জন্য একটি 5 দিনের স্বল্পমেয়াদী চলমান গড় এবং 34 দিনের দীর্ঘমেয়াদী চলমান গড় গ্রহণ করে। দীর্ঘ এমএ এর উপরে একটি সংক্ষিপ্ত এমএ ক্রসিং ক্রয় সংকেত দেয়, যখন নীচে ক্রসিং বিক্রয় সংকেত দেয়। দ্রুত এমএ স্বল্পমেয়াদী প্রবণতা ক্যাপচার করে এবং ধীর এমএ দীর্ঘমেয়াদী প্রবণতা ট্র্যাক করে।
কৌশলটিতে একটি 5-দিনের মূল্য চ্যানেলও কনফিগার করা হয়েছে। উপরের ব্যান্ডের উপরে ভাঙ্গন দীর্ঘ এন্ট্রি ট্রিগার করে এবং নিম্ন ব্যান্ডের নীচে ভাঙ্গন স্বল্পমেয়াদী দামের ব্রেকআউটগুলি ক্যাপচার করার জন্য সংক্ষিপ্ত এন্ট্রি ট্রিগার করে। এটি ব্রেকআউট সংকেতগুলির নির্ভরযোগ্যতা নির্ধারণের জন্য এমএ ক্রসওভারের সাথে কাজ করে।
এই তিনটি প্রকারের প্রযুক্তিগত সূচককে একটি শক্তিশালী দ্বৈত নিশ্চিতকরণ প্রক্রিয়া গঠনের জন্য একটি কৌশলতে একীভূত করা হয়েছে, যা মিথ্যা লেনদেন এড়ায়।
তুলনামূলকভাবে নির্ভরযোগ্য সংকেতের জন্য একাধিক সূচক একীভূত করে, মিথ্যা ব্রেকআউট থেকে ক্ষতি হ্রাস করে।
দ্রুত এমএ এবং মূল্য চ্যানেল দ্রুত স্বল্পমেয়াদী প্রবণতা পরিবর্তনগুলি ক্যাপচার করে। ধীর এমএ এবং প্রবণতা লাইনগুলি স্থিতিশীল প্রবেশ এবং প্রস্থানগুলির জন্য দীর্ঘমেয়াদী প্রবণতা অনুসরণ করে।
বিভিন্ন পণ্য এবং সময়সীমার মধ্যে অপ্টিমাইজেশনের জন্য নিয়মিত পরামিতি সহ পরিষ্কার কোড কাঠামো।
প্রবণতা ট্র্যাকিং এবং ব্রেকআউট সংকেতগুলিকে শক্তিশালী প্রবণতাগুলিতে মুনাফা অর্জনের জন্য এবং পরিসীমা সীমাবদ্ধ বাজারে হুইপস এড়ানোর জন্য একত্রিত করে।
বিশেষ করে পরিসীমা সীমাবদ্ধ পরিস্থিতিতে, মিথ্যা ব্রেকআউটের কিছু ঝুঁকি থাকতে পারে, যা ক্ষতির দিকে পরিচালিত করে।
মেরুভিত্তিক মুদ্রাস্ফীতির ক্রসিংয়ের পেছনের প্রকৃতিতে বড় ধরনের প্রবণতা বিপরীত হওয়ার পর শীর্ষ বা নীচের অংশ কেনার ঝুঁকি রয়েছে।
একাধিক ইন্টিগ্রেটেড সূচকগুলির জন্য ভারী ব্যাকটেস্টিং এবং প্যারামিটার টিউনিংয়ের জন্য গণনা প্রয়োজন।
ব্রেকআউট বৈধকরণের জন্য ভলিউম সূচক যোগ করা যেতে পারে, উদাহরণস্বরূপ ব্রেকআউটের ক্ষেত্রে ভলিউম সম্প্রসারণের প্রয়োজন।
অত্যধিক বিক্রয়/অতিরিক্ত ক্রয়ের সূচকগুলি ক্রয়/বিক্রয় ক্লান্তিকর দৃশ্যকল্পগুলিকে প্রতিরোধ করে।
মিথ্যা ট্রেডের ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস।
মেশিন লার্নিং ব্যাপক ঐতিহাসিক তথ্যের মাধ্যমে দ্রুত সর্বোত্তম পরামিতি খুঁজে পেতে।
ভলিউম বা আরএসআই ফিল্টার যোগ করুন যা নির্ভরযোগ্য ট্রেন্ড পরিবর্তন নিশ্চিত করে, মিথ্যা ব্রেকআউট থেকে ক্ষতি এড়ানোর জন্য কঠোর ফিল্টার সেট করে।
বিভিন্ন পণ্যের জন্য এমএ এবং চ্যানেলের পরামিতিগুলি তাদের বৈশিষ্ট্যগুলির সাথে মেলে।
ট্রেড প্রতি ক্ষতি সীমাবদ্ধ করার জন্য স্টপ লস, স্টপ লিমিট অর্ডারের মাধ্যমে স্টপ লস মেকানিজম যুক্ত করুন।
ব্যাপ্তি-বান্ধব বাজারে কম ঘন ঘন এবং শক্তিশালী প্রবণতার সময় ট্রেড করার জন্য অভিযোজিত পদ্ধতি গ্রহণ করা।
কেবলমাত্র প্রযুক্তিগত সূচক ব্যবহারের পরিবর্তে ক্রয়/বিক্রয় সংকেত তৈরি করতে গভীর শেখার মডেলগুলিকে প্রশিক্ষণ দিন, আরও ভবিষ্যদ্বাণীমূলক কৌশলগুলি খুঁজে পেতে নিউরাল নেটওয়ার্কগুলির প্যাটার্ন স্বীকৃতি ক্ষমতা ব্যবহার করে।
এই কৌশলটি একাধিক জনপ্রিয় প্রযুক্তিগত সূচককে একত্রিত করে একটি দ্বৈত নিশ্চিতকরণ ব্যবস্থা গঠন করে, যা তুলনামূলকভাবে স্থিতিশীল ব্যাকটেস্ট ফলাফলের সাথে প্রবণতা পরিবর্তনগুলি কার্যকরভাবে ক্যাপচার করতে সক্ষম। তবে মিথ্যা ব্রেকআউটের কিছু ঝুঁকি রয়েছে, যা ফিল্টার, স্টপ লস, প্যারামিটার টিউনিং এবং মেশিন লার্নিং কৌশল যুক্ত করে আরও উন্নত করা যেতে পারে। এটি লাইভ ট্রেডিংয়ের জন্য কৌশলটির দৃust়তাকে শক্তিশালী করতে পারে।
/*backtest start: 2024-02-11 00:00:00 end: 2024-02-18 00:00:00 period: 1h basePeriod: 15m 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/ // © FinanceUpPvtLtd //@version=5 strategy("FINANCE UP FREE STRATEGY (+919665229664)", overlay=true) // Script 01 - Trendlines length_tl = input.int(14, 'Swing Detection Lookback') mult_tl = input.float(1., 'Slope', minval=0, step=.1) calcMethod_tl = input.string('Atr', 'Slope Calculation Method', options=['Atr', 'Stdev', 'Linreg']) backpaint_tl = input(true, tooltip='Backpainting offset displayed elements in the past. Disable backpainting to see real-time information returned by the indicator.') upCss_tl = input(color.teal, 'Up Trendline Color', group='Style') dnCss_tl = input(color.red, 'Down Trendline Color', group='Style') showExt_tl = input(true, 'Show Extended Lines') var upper_tl = 0. var lower_tl = 0. var slope_ph_tl = 0. var slope_pl_tl = 0. var offset_tl = backpaint_tl ? length_tl : 0 n_tl = bar_index src_tl = close ph_tl = ta.pivothigh(length_tl, length_tl) pl_tl = ta.pivotlow(length_tl, length_tl) slope_tl = switch calcMethod_tl 'Atr' => ta.atr(length_tl) / length_tl * mult_tl 'Stdev' => ta.stdev(src_tl, length_tl) / length_tl * mult_tl 'Linreg' => math.abs(ta.sma(src_tl * n_tl, length_tl) - ta.sma(src_tl, length_tl) * ta.sma(n_tl, length_tl)) / ta.variance(n_tl, length_tl) / 2 * mult_tl slope_ph_tl := ph_tl ? slope_tl : slope_ph_tl slope_pl_tl := pl_tl ? slope_tl : slope_pl_tl upper_tl := ph_tl ? ph_tl : upper_tl - slope_ph_tl lower_tl := pl_tl ? pl_tl : lower_tl + slope_pl_tl var upos_tl = 0 var dnos_tl = 0 upos_tl := ph_tl ? 0 : close > upper_tl - slope_ph_tl * length_tl ? 1 : upos_tl dnos_tl := pl_tl ? 0 : close < lower_tl + slope_pl_tl * length_tl ? 1 : dnos_tl // var uptl_tl = line.new(na, na, na, na, color=upCss_tl, style=line.style_dashed, extend=extend.right) // var dntl_tl = line.new(na, na, na, na, color=dnCss_tl, style=line.style_dashed, extend=extend.right) // if ph_tl and showExt_tl // uptl_tl.set_xy1(n_tl - offset_tl, backpaint_tl ? ph_tl : upper_tl - slope_ph_tl * length_tl) // uptl_tl.set_xy2(n_tl - offset_tl + 1, backpaint_tl ? ph_tl - slope_tl : upper_tl - slope_ph_tl * (length_tl + 1)) // if pl_tl and showExt_tl // dntl_tl.set_xy1(n_tl - offset_tl, backpaint_tl ? pl_tl : lower_tl + slope_pl_tl * length_tl) // dntl_tl.set_xy2(n_tl - offset_tl + 1, backpaint_tl ? pl_tl + slope_tl : lower_tl + slope_pl_tl * (length_tl + 1)) plot(backpaint_tl ? upper_tl : upper_tl - slope_ph_tl * length_tl, 'Upper', color=ph_tl ? na : upCss_tl, offset=-offset_tl) plot(backpaint_tl ? lower_tl : lower_tl + slope_pl_tl * length_tl, 'Lower', color=pl_tl ? na : dnCss_tl, offset=-offset_tl) plotshape(upos_tl > upos_tl[1] ? low : na, "Upper Break", shape.labelup, location.absolute, upCss_tl, text="B", textcolor=color.white, size=size.tiny) plotshape(dnos_tl > dnos_tl[1] ? high : na, "Lower Break", shape.labeldown, location.absolute, dnCss_tl, text="B", textcolor=color.white, size=size.tiny) alertcondition(upos_tl > upos_tl[1], 'Upward Breakout', 'Price broke the down-trendline upward') alertcondition(dnos_tl > dnos_tl[1], 'Downward Breakout', 'Price broke the up-trendline downward') // Script 02 - Channel Breakout length_channel = input.int(title="Channel Length", minval=1, maxval=1000, defval=5) upBound_channel = ta.highest(high, length_channel) downBound_channel = ta.lowest(low, length_channel) if (not na(close[length_channel])) strategy.entry("LE-LE", strategy.long, stop=upBound_channel + syminfo.mintick, comment="LE-LE") strategy.entry("BECH-DE", strategy.short, stop=downBound_channel - syminfo.mintick, comment="BECH-DE") // Script 03 - MA Cross shortlen_ma = input.int(5, "Short MA Length", minval=1) longlen_ma = input.int(34, "Long MA Length", minval=1) short_ma = ta.sma(close, shortlen_ma) long_ma = ta.sma(close, longlen_ma) plot(short_ma, color=#FF6D00, title="Short MA") plot(long_ma, color=#43A047, title="Long MA") plot(ta.cross(short_ma, long_ma) ? short_ma : na, color=#2962FF, style=plot.style_cross, linewidth=4, title="Cross")