یہ حکمت عملی رشتہ دار طاقت انڈیکس (آر ایس آئی) پر مبنی ایک ذہین تجارتی نظام ہے ، جس میں مارکیٹ کے زیادہ خریدنے اور زیادہ فروخت والے زونوں کی نشاندہی کرکے مختلف چلتی اوسط اور بولنگر بینڈ کو وقت کی تجارت میں جوڑتا ہے۔ بنیادی طریقہ کار آر ایس آئی کی پیشرفت اور پل بیک سگنلز پر انحصار کرتا ہے ، جس میں رجحان کی تصدیق کے لئے مختلف قسم کے چلتے اوسط کی تکمیل ہوتی ہے ، جس سے موثر سوئنگ ٹریڈنگ ممکن ہوتی ہے۔ حکمت عملی میں مضبوط موافقت کا مظاہرہ کیا گیا ہے اور اسے مارکیٹ کے مختلف حالات کے لئے ایڈجسٹ کیا جاسکتا ہے۔
یہ حکمت عملی 14 پیریڈ آر ایس آئی کو اپنے بنیادی اشارے کے طور پر استعمال کرتی ہے ، جو 30 اور 70 کی کلیدی سطحوں کے ساتھ آر ایس آئی کراس اوورز کی نگرانی کرکے تجارتی سگنل تیار کرتی ہے۔ جب آر ایس آئی 30 سے اوپر جاتا ہے تو ایک طویل سگنل ٹرگر ہوتا ہے ، جس سے زیادہ فروخت سے تیزی کی حالت میں شفٹ کا اشارہ ہوتا ہے۔ جب آر ایس آئی 70 سے نیچے آجاتا ہے تو ایک اختتامی سگنل تیار ہوتا ہے ، جس سے یہ ظاہر ہوتا ہے کہ زیادہ خریدنے سے لے کر bearish حالات میں منتقلی ہوتی ہے۔ حکمت عملی میں مختلف حرکت پذیر اوسط (ایس ایم اے ، ای ایم اے ، ایس ایم ایم اے ، ڈبلیو ایم اے ، وی ڈبلیو ایم اے) اور بولنگر بینڈ شامل ہوتے ہیں جو تصدیق اور اتار چڑھاؤ کے رجحان کی تشخیص کے لئے اضافی اشارے ہیں۔
یہ حکمت عملی RSI اشارے کے ذریعہ مارکیٹ میں زیادہ خریدنے اور زیادہ فروخت کے مواقع کو حاصل کرتی ہے ، متعدد تکنیکی اشارے کے ساتھ سگنلز کی تصدیق کرتی ہے ، جس سے مضبوط عملی اور قابل اعتماد کا مظاہرہ ہوتا ہے۔ حکمت عملی کے ڈیزائن میں رسک کنٹرول پر مکمل طور پر غور کیا جاتا ہے اور پیرامیٹر کی اصلاح اور اشارے کے امتزاج کے ذریعے مختلف مارکیٹ کے ماحول میں موافقت پذیر ہوسکتا ہے۔ تاجروں کو مشورہ دیا جاتا ہے کہ وہ براہ راست نفاذ سے پہلے جامع بیک ٹیسٹنگ کریں اور مخصوص مارکیٹ کی خصوصیات کے مطابق پیرامیٹرز کو ایڈجسٹ کریں۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Demo GPT - Relative Strength Index", shorttitle="RSI Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.1, slippage=3) // Inputs rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings") rsiSourceInput = input.source(close, "Source", group="RSI Settings") calculateDivergence = input.bool(false, title="Calculate Divergence", group="RSI Settings", tooltip="Calculating divergences is needed in order for divergence alerts to fire.") // RSI Calculation change = ta.change(rsiSourceInput) up = ta.rma(math.max(change, 0), rsiLengthInput) down = ta.rma(-math.min(change, 0), rsiLengthInput) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) // RSI Plots rsiPlot = plot(rsi, "RSI", color=#7E57C2) rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86) midline = hline(50, "RSI Middle Band", color=color.new(#787B86, 50)) rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86) fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill") plot(50, color=na, editable=false, display=display.none) // Moving Averages maTypeInput = input.string("SMA", "Type", options=["None", "SMA", "SMA + Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Moving Average") maLengthInput = input.int(14, "Length", group="Moving Average") bbMultInput = input.float(2.0, "BB StdDev", minval=0.001, maxval=50, step=0.5, group="Moving Average") enableMA = maTypeInput != "None" isBB = maTypeInput == "SMA + Bollinger Bands" // MA Calculation ma(source, length, MAtype) => switch MAtype "SMA" => ta.sma(source, length) "SMA + Bollinger Bands" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) smoothingMA = enableMA ? ma(rsi, maLengthInput, maTypeInput) : na smoothingStDev = isBB ? ta.stdev(rsi, maLengthInput) * bbMultInput : na plot(smoothingMA, "RSI-based MA", color=color.yellow, display=enableMA ? display.all : display.none) bbUpperBand = plot(smoothingMA + smoothingStDev, title="Upper Bollinger Band", color=color.green, display=isBB ? display.all : display.none) bbLowerBand = plot(smoothingMA - smoothingStDev, title="Lower Bollinger Band", color=color.green, display=isBB ? display.all : display.none) fill(bbUpperBand, bbLowerBand, color=isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display=isBB ? display.all : display.none) // Trade Logic longCondition = ta.crossover(rsi, 30) exitCondition = ta.crossunder(rsi, 70) // Start Date & End Date startDate = input(timestamp("2018-01-01 00:00"), "Start Date", group="Date Range") endDate = input(timestamp("2069-12-31 23:59"), "End Date", group="Date Range") inDateRange = true // Execute Trades if (longCondition and inDateRange) strategy.entry("Long", strategy.long) if (exitCondition and inDateRange) strategy.close("Long")