یہ حکمت عملی رشتہ دار طاقت انڈیکس (آر ایس آئی) ، تیزی سے چلنے والی اوسط (ای ایم اے) ، اور اوسط حقیقی رینج (اے ٹی آر) پر مبنی ایک جامع مقداری تجارتی نظام ہے۔ یہ حکمت عملی ای ایم اے کا استعمال کرتے ہوئے آر ایس آئی کو ہموار کرتی ہے ، کلیدی سطحوں پر آر ایس آئی بریک آؤٹ کے ذریعے تجارت کو متحرک کرتی ہے ، اور مؤثر رسک کنٹرول کے حصول کے لئے متحرک اسٹاپ نقصان اور منافع لینے کی سطحوں کے لئے اے ٹی آر کا استعمال کرتی ہے۔ اس کے علاوہ ، اس حکمت عملی میں ٹریڈ سگنل گنتی اور ریکارڈنگ کے افعال شامل ہیں تاکہ تاجروں کو بیک ٹیسٹنگ اور اصلاح میں مدد ملے۔
بنیادی منطق میں مندرجہ ذیل اہم اجزاء شامل ہیں:
یہ حکمت عملی تین کلاسیکی تکنیکی اشارے - آر ایس آئی ، ای ایم اے ، اور اے ٹی آر کو یکجا کرتی ہے تاکہ ایک مکمل مقداری تجارتی نظام بنایا جاسکے۔ اس سے سگنل کی تخلیق ، رسک کنٹرول ، اور تجارتی عمل درآمد میں مضبوط عملیت کا مظاہرہ ہوتا ہے۔ مسلسل اصلاح اور بہتری کے ذریعے ، یہ حکمت عملی رواں تجارت میں مستحکم کارکردگی کا وعدہ کرتی ہے۔ تاہم ، صارفین کو حکمت عملی کی کارکردگی پر مارکیٹ کے حالات کے اثرات پر غور کرنے ، پیرامیٹرز کو مناسب طریقے سے ترتیب دینے ، اور مناسب رسک کنٹرول کو برقرار رکھنے کی ضرورت ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("RSI Trading Strategy with EMA and ATR Stop Loss/Take Profit", overlay=true) length = input.int(14, minval=1, title="RSI Length") src = input(close, title="Source") rsi = ta.rsi(src, length) smoothingLength = input.int(14, minval=1, title="Smoothing Length") smoothedRsi = ta.ema(rsi, smoothingLength) // استفاده از EMA برای صاف کردن RSI atrLength = input.int(14, title="ATR Length") atrMultiplier = input.float(1, title="ATR Multiplier") atrValue = ta.atr(atrLength) // محاسبه ATR level1 = 30 level2 = 70 // تنظیمات استراتژی var table crossingTable = table.new(position.top_right, 2, 5, border_width=1) var int crossCount = 0 var float crossPrice = na // شرط ورود به معامله خرید زمانی که RSI از سطح 70 به بالا عبور میکند if (ta.crossover(smoothedRsi, level2)) strategy.entry("Long", strategy.long) // تنظیم حد سود و حد ضرر strategy.exit("Take Profit/Stop Loss", "Long", stop=close - atrMultiplier * atrValue, limit=close + atrMultiplier * atrValue, comment="") crossCount := crossCount + 1 crossPrice := close // شرط ورود به معامله فروش زمانی که RSI از سطح 70 به پایین عبور میکند if (ta.crossunder(smoothedRsi, level2)) strategy.entry("Short", strategy.short) // تنظیم حد سود و حد ضرر strategy.exit("Take Profit/Stop Loss", "Short", stop=close + atrMultiplier * atrValue, limit=close - atrMultiplier * atrValue, comment="") crossCount := crossCount + 1 crossPrice := close // شرط ورود به معامله خرید زمانی که RSI از سطح 30 به بالا عبور میکند if (ta.crossover(smoothedRsi, level1)) strategy.entry("Long", strategy.long) // تنظیم حد سود و حد ضرر strategy.exit("Take Profit/Stop Loss", "Long", stop=close - atrMultiplier * atrValue, limit=close + atrMultiplier * atrValue, comment="") crossCount := crossCount + 1 crossPrice := close // شرط ورود به معامله فروش زمانی که RSI از سطح 30 به پایین عبور میکند if (ta.crossunder(smoothedRsi, level1)) strategy.entry("Short", strategy.short) // تنظیم حد سود و حد ضرر strategy.exit("Take Profit/Stop Loss", "Short", stop=close + atrMultiplier * atrValue, limit=close - atrMultiplier * atrValue, comment="") crossCount := crossCount + 1 crossPrice := close if (not na(crossPrice)) table.cell(crossingTable, 0, crossCount % 5, text=str.tostring(crossCount), bgcolor=color.green) table.cell(crossingTable, 1, crossCount % 5, text=str.tostring(crossPrice), bgcolor=color.green) // ترسیم خطوط و مقادیر RSI plot(smoothedRsi, title="Smoothed RSI", color=color.blue) hline(level1, "Level 30", color=color.red) hline(level2, "Level 70", color=color.green)