
متحرک رجحانات کی ہم آہنگی کی حکمت عملی نے رشتہ دار متحرک انڈیکس ((RMI) اور سپر ٹرینڈ اشارے کے فوائد کو مربوط کرکے متحرک تجزیہ اور رجحان کا فیصلہ کرنے کا ایک مؤثر امتزاج حاصل کیا۔ اس حکمت عملی میں قیمتوں میں تبدیلی کے رجحانات اور مارکیٹ کی متحرک سطح پر بھی توجہ دی جاتی ہے ، تاکہ مارکیٹ کی سمت کو زیادہ جامع نقطہ نظر سے فیصلہ کیا جاسکے۔
آر ایم آئی رشتہ دار طاقت انڈیکس (آر ایس آئی) کا ایک بہتر ورژن ہے۔ اس میں قیمتوں میں تبدیلی کی سمت اور شدت جیسی مزید خصوصیات شامل ہیں ، جس سے مارکیٹ کی نقل و حرکت کا زیادہ درست اندازہ لگایا جاسکتا ہے۔
آر ایم آئی کا حساب کتاب کرنے کا طریقہ یہ ہے: پہلے ایک خاص دورانیے کے دوران اوسطا اضافے اور اوسطا کمی کا حساب لگائیں۔ آر ایس آئی کے برعکس ، آر ایم آئی اس دن کی اختتامی قیمت کو پچھلے دن کی اختتامی قیمت کے مقابلے میں تبدیل کرنے کی قدر کا استعمال کرتا ہے ، نہ کہ سادہ مثبت اضافے اور منفی اضافے کا۔ پھر اوسطا اضافے کو اوسطا کمی سے تقسیم کریں ، اور پھر یکسانیت کا علاج کریں ، تاکہ یہ 0-100 کی حد میں ہو۔
اس حکمت عملی میں آر ایم آئی اور ایم ایف آئی کی اوسط قیمت کا استعمال کیا گیا ہے تاکہ مارکیٹ کی موجودہ متحرک سطح کا اندازہ لگایا جاسکے ، جس کا اندازہ لگایا گیا ہے کہ اس کی پوزیشنوں اور فلیٹ پوزیشنوں کا فیصلہ کیا جائے۔
سپر ٹرینڈ اشارے اعلی ٹائم پیکیج کی بنیاد پر بڑے رجحانات کا فیصلہ فراہم کرتا ہے۔ یہ اصل طول و عرض ATR متحرک ایڈجسٹمنٹ پیرامیٹرز پر مبنی ہے ، جس سے رجحان کی تبدیلی کے مقامات کو مؤثر طریقے سے پہچانا جاسکتا ہے۔
اس حکمت عملی میں VWMA بھی شامل کیا گیا ہے، جس سے اہم رجحانات کی شناخت کی صلاحیت کو مزید بڑھا دیا گیا ہے.
اس حکمت عملی میں آپ کو زیادہ، کم یا دو طرفہ تجارت کرنے کا اختیار دیا گیا ہے۔ اس سے تاجر کو اپنے مارکیٹ کے نقطہ نظر اور خطرے کی ترجیحات کے مطابق لچکدار ایڈجسٹمنٹ کرنے کی اجازت ملتی ہے۔
اس حکمت عملی میں مارکیٹ کی سمت کا زیادہ درست اندازہ لگانے کے لئے آر ایم آئی اور سپر ٹرینڈ اشارے کو مربوط کرنے کے فوائد کو شامل کیا گیا ہے ، اس حکمت عملی کے مقابلے میں جو صرف حرکیات کے اشارے یا رجحان اشارے کا استعمال کرتی ہے۔
مختصر اور طویل مدتی رجحانات کو بہتر بنانے کے لئے مختلف دوروں کے آر ایم آئی اور سپر ٹرینڈ اشارے کا استعمال کریں۔
سپر ٹرینڈ پر مبنی ریئل ٹائم اسٹاپ نقصان کا طریقہ کار ، جو انفرادی نقصان کو مؤثر طریقے سے کنٹرول کرسکتا ہے۔
زیادہ، مختصر یا دو طرفہ تجارت کا انتخاب کریں تاکہ حکمت عملی مختلف مارکیٹ کے حالات کے مطابق ہو۔
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)