یہ حکمت عملی مارکیٹ کے رجحانات کا فیصلہ کرنے کے لئے بولنگر بینڈ ، آر ایس آئی ، اے ڈی ایکس ، ایم اے سی ڈی جیسے متعدد اشارے اپناتی ہے اور اس میں رجحان کی نشاندہی کی مضبوط صلاحیت ہے۔ جب اشارے کے اشارے بیک وقت تیزی سے ہوتے ہیں تو یہ رجحان کی پیروی کرنے والی حکمت عملی اختیار کرتا ہے۔ جب اشارے کے اشارے بیک وقت bearish ہوتے ہیں تو یہ نقصان کو روکنے کے لئے پوزیشنیں بند کرتا ہے۔
متعدد اشارے کے مجموعی فیصلے کے ذریعے ، یہ قیمتوں کے رجحانات کی درستگی سے نشاندہی کرسکتا ہے اور جب رجحان ظاہر ہوتا ہے تو اضافی منافع حاصل کرنے کے لئے بروقت ان کا سراغ لگاسکتا ہے۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ اشارے کے مجموعے کا فیصلہ زیادہ جامع اور درست ہے ، جو قیمتوں کے رجحانات کو مؤثر طریقے سے پہچان سکتا ہے اور ایک اشارے کی وجہ سے غلط اشاروں سے بچ سکتا ہے۔
خاص طور پر، فوائد یہ ہیں:
اشارے کے مجموعے کے ذریعے، یہ غلط سگنل کو زیادہ سے زیادہ کم کر سکتا ہے اور حکمت عملی کے استحکام کو بڑھا سکتا ہے.
اس حکمت عملی کے اہم خطرات مندرجہ ذیل ہیں:
خطرے 1 کے لیے متعدد اشارے پر انحصار ایک اشارے کی ناکامی کے مسئلے کو کسی حد تک کم کر سکتا ہے، لیکن خطرے کے انتظام کے طریقہ کار کو ابھی بھی بہتر بنانے کی ضرورت ہے۔
خطرہ 2 کے لئے پیرامیٹرز کو مناسب طریقے سے تنگ ٹریڈنگ رینج میں ایڈجسٹ کیا جاسکتا ہے اور خطرات کو کم کرنے کے لئے ٹریڈنگ کی تعدد کو کم کیا جاسکتا ہے۔
اس حکمت عملی کے اہم بہتر پہلوؤں میں شامل ہیں:
مسلسل اصلاح کی طرف سے، مسلسل پیرامیٹر مضبوطی کو بہتر بنانے اور جھوٹے سگنل کے امکانات کو کم.
مجموعی طور پر اس حکمت عملی میں اشارے کے مجموعی فیصلوں کے ذریعے رجحان سگنل کی نشاندہی کرنے کی نسبتا strong مضبوط صلاحیت ہے جو قیمتوں کے رجحانات کی مؤثر طریقے سے نشاندہی کرسکتی ہے۔
لیکن اس میں کچھ خطرات بھی ہیں ، مستحکم طویل مدتی کارروائیوں کے ل risk خطرہ مینجمنٹ اور پیرامیٹر کی اصلاح کو مستقل طور پر بہتر بنانے کی ضرورت ہے۔ اگر پیرامیٹرز کی خودکار اصلاح کے حصول کے لئے مشین لرننگ جیسے طریقے بعد میں متعارف کرائے جاسکتے ہیں تو ، اس سے حکمت عملی کی مضبوطی اور منافع میں بہت اضافہ ہوگا۔
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 00:00:00 period: 5h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © abilash.s.90 dIMinusCalc(adxLen) => smoothedTrueRange = 0.0 smoothedDirectionalMovementMinus = 0.0 dIMinus = 0.0 trueRange = 0.0 directionalMovementMinus = 0.0 trueRange := max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1]))) directionalMovementMinus := nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0 smoothedTrueRange := nz(smoothedTrueRange[1]) - (nz(smoothedTrueRange[1])/adxLen) + trueRange smoothedDirectionalMovementMinus := nz(smoothedDirectionalMovementMinus[1]) - (nz(smoothedDirectionalMovementMinus[1])/adxLen) + directionalMovementMinus dIMinus := smoothedDirectionalMovementMinus / smoothedTrueRange * 100 dIMinus dIPlusCalc(adxLen) => smoothedTrueRange = 0.0 smoothedDirectionalMovementPlus = 0.0 dIPlus = 0.0 trueRange = 0.0 directionalMovementPlus = 0.0 trueRange := max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1]))) directionalMovementPlus := high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0 smoothedTrueRange := nz(smoothedTrueRange[1]) - (nz(smoothedTrueRange[1])/adxLen) + trueRange smoothedDirectionalMovementPlus := nz(smoothedDirectionalMovementPlus[1]) - (nz(smoothedDirectionalMovementPlus[1])/adxLen) + directionalMovementPlus dIPlus := smoothedDirectionalMovementPlus / smoothedTrueRange * 100 dIPlus Adx(adxLen) => dIPlus = 0.0 dIMinus = 0.0 dX = 0.0 aDX = 0.0 dIPlus := dIPlusCalc(adxLen) dIMinus := dIMinusCalc(adxLen) dX := abs(dIPlus-dIMinus) / (dIPlus+dIMinus)*100 aDX := sma(dX, adxLen) aDX BarInSession(sess) => time(timeframe.period, sess) != 0 //@version=4 strategy("Bollinger Band + RSI + ADX + MACD", overlay=true) //Session session = input(title="Trading Session", type=input.session, defval="0930-1500") sessionColor = BarInSession(session) ? color.green : na bgcolor(color=sessionColor, transp=95) // Bollinger Bands src = input(high, title="Bollinger Band Source", type=input.source) length = input(3, minval=1, type=input.integer, title="Bollinger Band Length") mult = input(4.989, minval=0.001, maxval=50, step=0.001, type=input.float, title="Bollinger Band Std Dev") basis = sma(src, length) dev = mult * stdev(src, length) upper = basis + dev lower = basis - dev plot(upper, title="Bollinger Band Upper", color=color.red) plot(lower, title="Bollinger Band Lower", color=color.green) // RSI rsiSrc = input(close, title="RSI Source", type=input.source) rsiLength = input(16, minval=1, type=input.integer, title="RSI Length") rsiComparator = input(39.2, title="RSI Comparator", type=input.float, step=0.1) rsi = rsi(rsiSrc, rsiLength) // ADX adxLength = input(14, minval=1, type=input.integer, title="ADX Length") adxComparator = input(14, minval=1, type=input.integer, title="ADX Comparator") adx = Adx(adxLength) // Heikinashi haClose = security(heikinashi(syminfo.ticker), timeframe.period, close) haOpen = security(heikinashi(syminfo.ticker), timeframe.period, open) nextHaOpen = (haOpen + haClose) / 2 //MACD macdCalcTypeProcessed = input(title="MACD Source", type=input.source, defval=high) fast = input(12, title="MACD Fast") slow = input(20, title="MACD Slow") signalLen = input(15, title="MACD Signal") fastMA = ema(macdCalcTypeProcessed, fast) slowMA = ema(macdCalcTypeProcessed, slow) macd = fastMA - slowMA signal = sma(macd, signalLen) longCondition() => (low < lower) and (rsi[0] > rsiComparator) and (adx > adxComparator) and (close > nextHaOpen) and BarInSession(session) and macd > signal stop = (close - max((low - (low * 0.0022)), (close - (close * 0.0032)))) / syminfo.mintick target = (max(upper, (close + (close * 0.0075))) - close) / syminfo.mintick strategy.entry("SX,LE", strategy.long, when=longCondition(), comment="SX,LE") strategy.close_all(when=(not BarInSession(session))) strategy.exit("LX", from_entry="SX,LE", profit=target, loss=stop)