آر ایم آئی ٹرینڈ سنک حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-16 14:10:25
ٹیگز:

img

جائزہ

آر ایم آئی ٹرینڈ سنک حکمت عملی مؤثر طریقے سے رشتہ دار رفتار انڈیکس (آر ایم آئی) اور سپر ٹرینڈ اشارے کی طاقتوں کو یکجا کرتی ہے تاکہ رفتار تجزیہ اور رجحان فیصلے کے انضمام کا احساس ہو۔ قیمتوں میں تبدیلی کے رجحانات اور مارکیٹ کی رفتار کی سطح کی بیک وقت نگرانی کرکے ، حکمت عملی مارکیٹ کے رجحانات کو زیادہ جامع نقطہ نظر سے طے کرتی ہے۔

حکمت عملی کے اصول

رشتہ دار رفتار انڈیکس (RMI)

آر ایم آئی رلیٹیو فورس انڈیکس (آر ایس آئی) کا ایک بہتر ورژن ہے۔ اس میں قیمتوں میں ہونے والی تبدیلیوں کی مزید خصوصیات شامل ہیں جیسے سمت اور شدت تاکہ مارکیٹ کی رفتار کو زیادہ درست طریقے سے اندازہ کیا جاسکے۔

RMI حساب کتاب کا طریقہ

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)

مزید