এই কৌশলটি বিভিন্ন প্রযুক্তিগত সূচককে একত্রিত করে ট্রেড সিগন্যালের জন্য প্রবণতা দিকনির্দেশ এবং অতিরিক্ত ক্রয়/অতিরিক্ত বিক্রয়ের মাত্রা চিহ্নিত করে।
ব্যবহৃত প্রধান সূচকগুলি হলঃ
গড় দিকনির্দেশক সূচক (ADX): প্রবণতা শক্তি
Relative Strength Index (RSI): অতিরিক্ত ক্রয়/অতিরিক্ত বিক্রয়
সহজ চলমান গড় (এসএমএ): স্বল্পমেয়াদী প্রবণতা
সুপারট্রেন্ডঃ দীর্ঘ/স্বল্পমেয়াদী প্রবণতা
চ্যানেল ব্রেকআউটঃ ট্রেন্ড ব্রেকআউট এন্ট্রি
লেনদেনের যুক্তি হচ্ছেঃ
এডিএক্স ট্রেন্ডের উপস্থিতি এবং শক্তি দেখায়
সুপারট্রেন্ড দীর্ঘ/স্বল্পমেয়াদী প্রবণতার সমন্বয় নিশ্চিত করেছে
আরএসআই অতিরিক্ত ক্রয়/অতিরিক্ত বিক্রয় অঞ্চল চিহ্নিত করে
এসএমএ ক্রসওভারে লিখুন
চ্যানেল ব্রেকআউট এ প্রবেশ করুন
একাধিক সূচক সমন্বয় সংকেত নির্ভুলতা উন্নত করে। বিভিন্ন কৌশল একটি পদ্ধতিগত পদ্ধতিতে একত্রিত হয়।
একাধিক সূচক গুণমান উন্নত করে
পদ্ধতিগত প্রবেশের জন্য কৌশলগুলি একত্রিত হয়
ADX প্রবণতা, RSI overbought/oversold চিহ্নিত করে
সুপারট্রেন্ড ট্রেন্ড, এসএমএ এবং চ্যানেল ব্রেকআউট এন্ট্রি ধরছে
মাল্টি-প্যারামিটার টিউনিং অপ্টিমাইজেশান প্রয়োজন
সংমিশ্রণ অবস্থার ঘটনা কম ঘটে
দ্বন্দ্বপূর্ণ সূচক সংকেতগুলি সমাধান করা কঠিন
এই কৌশলটি একটি শক্তিশালী সিস্টেম তৈরির জন্য বিভিন্ন সূচকগুলির শক্তির সম্পূর্ণ ব্যবহার করে। তবে পরামিতি অপ্টিমাইজেশন আদর্শ বাণিজ্য ফ্রিকোয়েন্সির মূল চাবিকাঠি। সামগ্রিকভাবে এটি শক্তিশালী প্রবণতা সনাক্তকরণকে দক্ষ এন্ট্রিগুলির সাথে একত্রিত করে।
/*backtest start: 2023-09-12 00:00:00 end: 2023-09-13 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // strategy("Combined Strategy", overlay=true, default_qty_value=100, initial_capital=1000, margin_long=0.1) adxlen = input(7, title="ADX Smoothing") dilen = input(7, title="DI Length") dirmov(len) => up = ta.change(high) down = -ta.change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) truerange = ta.rma(ta.tr, len) plus = fixnan(100 * ta.rma(plusDM, len) / truerange) minus = fixnan(100 * ta.rma(minusDM, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) sig = adx(dilen, adxlen) // The same on Pine Script™ pine_supertrend(factor, atrPeriod) => src = hl2 atr = ta.atr(atrPeriod) upperBand = src + factor * atr lowerBand = src - factor * atr prevLowerBand = nz(lowerBand[1]) prevUpperBand = nz(upperBand[1]) lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand upperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBand int direction = na float superTrend = na prevSuperTrend = superTrend[1] if na(atr[1]) and ta.rsi(close, 21) < 66 and ta.rsi(close,3) > 80 and ta.rsi(close, 28) > 49 and sig > 20 direction := 1 else if prevSuperTrend == prevUpperBand direction := close > upperBand ? -1 : 1 else direction := close < lowerBand ? 1 : -1 superTrend := direction == -1 ? lowerBand : upperBand [superTrend, direction] [pineSupertrend, pineDirection] = pine_supertrend(3, 10) upTrend = pineDirection < 0 downTrend = pineDirection > 0 // Define the 20-period SMA sma20 = ta.sma(close, 20) a = ta.rsi(close,14) OB = input(70) OS = input(30) os = a > OB ob = a < OS if upTrend and close > pineSupertrend and close > sma20 and os strategy.entry("Buy", strategy.long) if ta.crossunder(close, sma20) or ob strategy.close_all() //define when to breakout of channel //("ChannelBreakOutStrategy", overlay=true) length = input.int(title="Length", minval=1, maxval=1000, defval=5) upBound = ta.highest(high, length) downBound = ta.lowest(low, length) if (not na(close[length])) strategy.entry("ChBrkLE", strategy.long, stop=upBound + syminfo.mintick, comment="ChBrkLE") strategy.entry("ChBrkSE", strategy.short, stop=downBound - syminfo.mintick, comment="ChBrkSE")