آر ایم آئی ٹرینڈ سنک حکمت عملی مؤثر طریقے سے رشتہ دار رفتار انڈیکس (آر ایم آئی) اور سپر ٹرینڈ اشارے کی طاقتوں کو یکجا کرتی ہے تاکہ رفتار تجزیہ اور رجحان فیصلے کے انضمام کا احساس ہو۔ قیمتوں میں تبدیلی کے رجحانات اور مارکیٹ کی رفتار کی سطح کی بیک وقت نگرانی کرکے ، حکمت عملی مارکیٹ کے رجحانات کو زیادہ جامع نقطہ نظر سے طے کرتی ہے۔
آر ایم آئی رلیٹیو فورس انڈیکس (آر ایس آئی) کا ایک بہتر ورژن ہے۔ اس میں قیمتوں میں ہونے والی تبدیلیوں کی مزید خصوصیات شامل ہیں جیسے سمت اور شدت تاکہ مارکیٹ کی رفتار کو زیادہ درست طریقے سے اندازہ کیا جاسکے۔
RMI حساب کتاب کا طریقہ یہ ہے: پہلے ایک خاص مدت کے دوران اوسط منافع اور اوسط نقصان کا حساب لگائیں۔ RSI کے برعکس ، RMI سادہ مثبت اور منفی نمو کے بجائے موجودہ اختتامی قیمت اور پچھلی اختتامی قیمت کے درمیان تبدیلی کا استعمال کرتا ہے۔ پھر اوسط منافع کو اوسط نقصان سے تقسیم کریں اور قدر کو 0-100 پیمانے میں فٹ ہونے کے لئے معمول پر لائیں۔
اس حکمت عملی میں RMI اور MFI کی اوسط قیمت کا استعمال پہلے سے طے شدہ مثبت رفتار اور منفی رفتار کی حدوں کے ساتھ موازنہ کرنے کے لئے داخلہ اور باہر نکلنے کے فیصلوں کے لئے مارکیٹ کی موجودہ رفتار کی سطح کا تعین کرنے کے لئے کیا جاتا ہے۔
سپر ٹرینڈ اشارے کا حساب ایک اعلی ٹائم فریم کی بنیاد پر کیا جاتا ہے ، جو اہم رجحانات کے بارے میں فیصلے فراہم کرسکتا ہے۔ یہ مؤثر طریقے سے رجحان کی تبدیلیوں کی نشاندہی کرنے کے لئے حقیقی اتار چڑھاؤ اے ٹی آر پر مبنی پیرامیٹرز کو متحرک طور پر ایڈجسٹ کرتا ہے۔
اس حکمت عملی میں حجم وزن شدہ چلتی اوسط (VWMA) کو بھی شامل کیا گیا ہے تاکہ اہم رجحان کی تبدیلیوں کا پتہ لگانے کی صلاحیت کو مزید بہتر بنایا جاسکے۔
یہ حکمت عملی طویل ، مختصر یا دو طرفہ تجارت کا انتخاب کرنے کی اجازت دیتی ہے۔ یہ لچک تاجروں کو اپنے مارکیٹ کے نظریات اور خطرہ کی خواہش کو اپنانے کے قابل بناتی ہے۔
صرف رفتار یا رجحان کے اشارے پر انحصار کرنے والی حکمت عملیوں کے مقابلے میں ، یہ حکمت عملی آر ایم آئی اور سپر ٹرینڈ کی طاقتوں کو مربوط کرکے مارکیٹ کے رجحان کی زیادہ درست نشاندہی کرتی ہے۔
مختلف ٹائم فریموں میں RMI اور Super Trend کا اطلاق مختصر مدت اور طویل مدتی رجحانات دونوں کو بہتر طور پر سمجھنے کی طرف جاتا ہے۔
سپر ٹرینڈ پر مبنی ریئل ٹائم اسٹاپ نقصان کا طریقہ کار فی تجارت نقصان کو مؤثر طریقے سے محدود کرسکتا ہے۔
طویل، مختصر یا دو طرفہ تجارت کے درمیان انتخاب اس حکمت عملی کو مختلف مارکیٹ کے ماحول کو اپنانے کی اجازت دیتا ہے.
RMI اور سپر ٹرینڈ جیسے پیرامیٹرز کے لئے اصلاح کافی پیچیدہ ہے۔ نامناسب ترتیبات حکمت عملی کی کارکردگی کو کمزور کرسکتی ہیں۔
چھوٹی اتار چڑھاؤ کے لئے زیادہ حساس ہونے کے نتیجے میں زیادہ سے زیادہ سٹاپ نقصان کا باعث بن سکتا ہے۔
حل: سٹاپ نقصان کی حد کو مناسب طریقے سے کم کریں یا دیگر اتار چڑھاؤ پر مبنی سٹاپ نقصان کے طریقوں کو اپنائیں۔
قابل اطلاق اثاثوں کی توسیع اور مختلف اثاثوں کے لئے پیرامیٹر کی اصلاح کی سمتوں کی نشاندہی ، تاکہ زیادہ سے زیادہ مارکیٹوں میں وسیع تر نقل ممکن ہو۔
موجودہ سوئنگ لہروں کو بہتر طریقے سے ٹریک کرنے اور معمولی ریٹریکشنز کی وجہ سے زیادہ سٹاپ نقصان کو کم کرنے کے لئے متحرک اسٹاپ نقصان کے میکانزم شامل کریں۔
واضح سگنل کے بغیر پوزیشنوں میں داخل ہونے سے بچنے کے لئے فلٹر حالات کے طور پر مزید اشارے سے فیصلے شامل کریں.
آر ایم آئی اور سپر ٹرینڈ کے تخلیقی امتزاج کے ذریعے ، یہ حکمت عملی مارکیٹ کی صورتحال کے بارے میں درست فیصلے کرتی ہے۔ یہ رسک کنٹرول میں بھی بہترین ہے۔ گہری اصلاح کے ساتھ ، یہ خیال کیا جاتا ہے کہ اس کی کارکردگی زیادہ اثاثوں اور وقت کے فریموں میں تیزی سے قابل ذکر ہوگی۔
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 3h 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/ // @ presentTrading //@version=5 strategy("RMI Trend Sync - Strategy [presentTrading]", shorttitle = "RMI Sync [presentTrading]", overlay=true ) // ---> Inputs -------------- // Add Button for Trading Direction tradeDirection = input.string("Both", "Select Trading Direction", options=["Long", "Short", "Both"]) // Relative Momentum Index (RMI) Settings Length = input.int(21, "RMI Length", group = "RMI Settings") pmom = input.int(70, "Positive Momentum Threshold", group = "RMI Settings") nmom = input.int(30, "Negative Momentum Threshold", group = "RMI Settings") bandLength = input.int(30, "Band Length", group = "Momentum Settings") rwmaLength = input.int(20, "RWMA Length", group = "Momentum Settings") // Super Trend Settings len = input.int(10, "Super Trend Length", minval=1, group="Super Trend Settings") higherTf1 = input.timeframe('480', "Higher Time Frame", group="Super Trend Settings") factor = input.float(3.5, "Super Trend Factor", step=.1, group="Super Trend Settings") maSrc = input.string("WMA", "MA Source", options=["SMA", "EMA", "WMA", "RMA", "VWMA"], group="Super Trend Settings") atr = request.security(syminfo.tickerid, higherTf1, ta.atr(len)) TfClose1 = request.security(syminfo.tickerid, higherTf1, close) // Visual Settings filleshow = input.bool(true, "Display Range MA", group = "Visual Settings") bull = input.color(#00bcd4, "Bullish Color", group = "Visual Settings") bear = input.color(#ff5252, "Bearish Color", group = "Visual Settings") // Calculation of Bar Range barRange = high - low // RMI and MFI Calculations upChange = ta.rma(math.max(ta.change(close), 0), Length) downChange = ta.rma(-math.min(ta.change(close), 0), Length) rsi = downChange == 0 ? 100 : upChange == 0 ? 0 : 100 - (100 / (1 + upChange / downChange)) mf = ta.mfi(hlc3, Length) rsiMfi = math.avg(rsi, mf) // Momentum Conditions positiveMomentum = rsiMfi[1] < pmom and rsiMfi > pmom and rsiMfi > nmom and ta.change(ta.ema(close,5)) > 0 negativeMomentum = rsiMfi < nmom and ta.change(ta.ema(close,5)) < 0 // Momentum Status bool positive = positiveMomentum ? true : negativeMomentum ? false : na bool negative = negativeMomentum ? true : positiveMomentum ? false : na // Band Calculation calculateBand(len) => math.min(ta.atr(len) * 0.3, close * (0.3/100)) * 4 band = calculateBand(bandLength) // Range Weighted Moving Average (RWMA) Calculation calculateRwma(range_, period) => weight = range_ / math.sum(range_, period) sumWeightedClose = math.sum(close * weight, period) totalWeight = math.sum(weight, period) sumWeightedClose / totalWeight rwma = calculateRwma(barRange, rwmaLength) colour = positive ? bull : negative ? bear : na rwmaAdjusted = positive ? rwma - band : negative ? rwma + band : na max = rwma + band min = rwma - band longCondition = positive and not positive[1] shortCondition = negative and not negative[1] longExitCondition = shortCondition shortExitCondition = longCondition // Dynamic Trailing Stop Loss vwma1 = switch maSrc "SMA" => ta.sma(TfClose1*volume, len) / ta.sma(volume, len) "EMA" => ta.ema(TfClose1*volume, len) / ta.ema(volume, len) "WMA" => ta.wma(TfClose1*volume, len) / ta.wma(volume, len) upperBand = vwma1 + factor * atr lowerBand = vwma1 - factor * atr prevLowerBand = nz(lowerBand[1]) prevUpperBand = nz(upperBand[1]) float superTrend = na int direction = na superTrend := direction == -1 ? lowerBand : upperBand longTrailingStop = superTrend - atr * factor shortTrailingStop = superTrend + atr * factor // Strategy Order Execution if (tradeDirection == "Long" or tradeDirection == "Both") strategy.entry("Long", strategy.long, when = longCondition) strategy.exit("Exit Long", "Long", when=longExitCondition, stop = longTrailingStop) if (tradeDirection == "Short" or tradeDirection == "Both") strategy.entry("Short", strategy.short, when =shortCondition) strategy.exit("Exit Short", "Short", when=shortExitCondition, stop = shortTrailingStop)