حرکت پذیر اوسط رشتہ دار طاقت انڈیکس حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو مارکیٹ کے رجحانات میں مواقع کو حاصل کرنے کے لئے تجارتی سگنل کے طور پر حرکت پذیر اوسط لائنوں اور رشتہ دار طاقت انڈیکس (آر ایس آئی) دونوں کا استعمال کرتی ہے۔ یہ حکمت عملی مارکیٹ میں الٹ جانے کے مواقع کو پکڑنے کے لئے قیمت کی حرکت پذیر اوسط لائن کا RSI انڈیکس کی قیمت سے موازنہ کرکے تجارتی سگنل تیار کرتی ہے۔
یہ حکمت عملی بنیادی طور پر دو اشارے پر مبنی ہے:
حکمت عملی کا بنیادی منطق یہ ہے:
جب آر ایس آئی اشارے کی لائن حرکت پذیر اوسط لائن سے کم ہوتی ہے تو ، یہ oversold علاقے میں ہوتی ہے اور اس سے اشارہ ہوتا ہے کہ اسٹاک کی کم قیمت ہے ، جس سے خرید کا اشارہ ہوتا ہے۔ جب آر ایس آئی لائن حرکت پذیر اوسط لائن سے زیادہ ہوتی ہے تو ، یہ overbought علاقے میں ہوتی ہے اور اشارہ کرتی ہے کہ اسٹاک کی قیمت زیادہ ہے ، اس طرح فروخت کا اشارہ پیدا ہوتا ہے۔
دوسرے الفاظ میں ، حرکت پذیر اوسط لائن کسی حد تک اسٹاک کی منصفانہ قیمت کی عکاسی کرتی ہے ، جبکہ RSI اشارے کی قیمت کی موجودہ طاقت یا کمزوری کی نمائندگی کرتی ہے۔ جب RSI حرکت پذیر اوسط لائن سے انحراف کرتا ہے تو ، اس کا مطلب یہ ہے کہ الٹ جانے کا موقع ہے۔
خاص طور پر یہ حکمت عملی مندرجہ ذیل مراحل کے ذریعے تجارتی سگنل پیدا کرتی ہے:
چلتی اوسط کے رجحان کے فیصلے اور آر ایس آئی کی زیادہ خرید / فروخت کی نشاندہی کو یکجا کرکے ، یہ حکمت عملی مختلف اشارے کی طاقتوں کا فائدہ اٹھاتے ہوئے مارکیٹ میں موڑ کے مقامات کو مؤثر طریقے سے طے کرسکتی ہے۔
اہم فوائد یہ ہیں:
اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:
خطرات کے انتظام کے لئے، مندرجہ ذیل طریقوں سے اصلاحات کی جا سکتی ہیں:
مزید اصلاحاتی سمتوں میں شامل ہیں:
پیرامیٹر کی اصلاح، اشارے کی اصلاح، رسک مینجمنٹ کی اصلاح وغیرہ کے ذریعے اس حکمت عملی کے استحکام اور منافع کو مسلسل بہتر بنایا جاسکتا ہے۔
رواں اوسط آر ایس آئی حکمت عملی قیمت کے رجحان اور زیادہ خرید / فروخت کے تجزیہ دونوں کو مؤثر طریقے سے مارکیٹ کے موڑ کے مقامات کی نشاندہی کرنے اور الٹ جانے کے مواقع کو حاصل کرنے کے لئے استعمال کرتی ہے۔ اس سادہ ، عملی حکمت عملی میں قابو پانے والے خطرات ہیں اور یہ مقداری تجارت کے لئے مفید ہے۔ مزید اصلاح سے بہتر نتائج برآمد ہوسکتے ہیں۔
/*backtest start: 2023-11-20 00:00:00 end: 2023-11-24 06:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "RSI versus SMA", shorttitle = "RSI vs SMA", overlay = false, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, currency = currency.GBP) // Revision: 1 // Author: @JayRogers // // *** USE AT YOUR OWN RISK *** // - Nothing is perfect, and all decisions by you are on your own head. And stuff. // // Description: // - It's RSI versus a Simple Moving Average.. Not sure it really needs much more description. // - Should not repaint - Automatically offsets by 1 bar if anything other than "open" selected as RSI source. // === INPUTS === // rsi rsiSource = input(defval = open, title = "RSI Source") rsiLength = input(defval = 8, title = "RSI Length", minval = 1) // sma maLength = input(defval = 34, title = "MA Period", minval = 1) // invert trade direction tradeInvert = input(defval = false, title = "Invert Trade Direction?") // risk management useStop = input(defval = false, title = "Use Initial Stop Loss?") slPoints = input(defval = 25, title = "Initial Stop Loss Points", minval = 1) useTS = input(defval = true, title = "Use Trailing Stop?") tslPoints = input(defval = 120, title = "Trail Points", minval = 1) useTSO = input(defval = false, title = "Use Offset For Trailing Stop?") tslOffset = input(defval = 20, title = "Trail Offset Points", minval = 1) // === /INPUTS === // === BASE FUNCTIONS === // delay for direction change actions switchDelay(exp, len) => average = len >= 2 ? sum(exp, len) / len : exp[1] up = exp > average down = exp < average state = up ? true : down ? false : up[1] // === /BASE FUNCTIONS === // === SERIES and VAR === // rsi shunt = rsiSource == open ? 0 : 1 rsiUp = rma(max(change(rsiSource[shunt]), 0), rsiLength) rsiDown = rma(-min(change(rsiSource[shunt]), 0), rsiLength) rsi = (rsiDown == 0 ? 100 : rsiUp == 0 ? 0 : 100 - (100 / (1 + rsiUp / rsiDown))) - 50 // shifted 50 points to make 0 median // sma of rsi rsiMa = sma(rsi, maLength) // self explanatory.. tradeDirection = tradeInvert ? 0 <= rsiMa ? true : false : 0 >= rsiMa ? true : false // === /SERIES === // === PLOTTING === barcolor(color = tradeDirection ? green : red, title = "Bar Colours") // hlines medianLine = hline(0, title = 'Median', color = #996600, linewidth = 1) limitUp = hline(25, title = 'Limit Up', color = silver, linewidth = 1) limitDown = hline(-25, title = 'Limit Down', color = silver, linewidth = 1) // rsi and ma rsiLine = plot(rsi, title = 'RSI', color = purple, linewidth = 2, style = line, transp = 50) areaLine = plot(rsiMa, title = 'Area MA', color = silver, linewidth = 1, style = area, transp = 70) // === /PLOTTING === goLong() => not tradeDirection[1] and tradeDirection killLong() => tradeDirection[1] and not tradeDirection strategy.entry(id = "Buy", long = true, when = goLong()) strategy.close(id = "Buy", when = killLong()) goShort() => tradeDirection[1] and not tradeDirection killShort() => not tradeDirection[1] and tradeDirection strategy.entry(id = "Sell", long = false, when = goShort()) strategy.close(id = "Sell", when = killShort()) if (useStop) strategy.exit("XSL", from_entry = "Buy", loss = slPoints) strategy.exit("XSS", from_entry = "Sell", loss = slPoints) // if we're using the trailing stop if (useTS and useTSO) // with offset strategy.exit("XSL", from_entry = "Buy", trail_points = tslPoints, trail_offset = tslOffset) strategy.exit("XSS", from_entry = "Sell", trail_points = tslPoints, trail_offset = tslOffset) if (useTS and not useTSO) // without offset strategy.exit("XSL", from_entry = "Buy", trail_points = tslPoints) strategy.exit("XSS", from_entry = "Sell", trail_points = tslPoints)