یہ حکمت عملی ایک رجحان کے بعد ٹریڈنگ سسٹم ہے جو رشتہ دار طاقت انڈیکس (آر ایس آئی) اور سادہ چلتی اوسط (ایس ایم اے) کو جوڑتا ہے۔ یہ آر ایس آئی کے ساتھ رفتار کی تصدیق کرتے ہوئے چلتی اوسط کا استعمال کرتے ہوئے مارکیٹ کے رجحان کی سمت کی نشاندہی کرتا ہے ، جب رجحان اور رفتار سیدھے ہوجاتے ہیں تو تجارت انجام دیتا ہے۔ اس حکمت عملی میں مؤثر رسک کنٹرول کے لئے جامع اسٹاپ نقصان اور منافع لینے کے طریقہ کار شامل ہیں۔
بنیادی منطق دو تکنیکی اشارے کے امتزاج پر مبنی ہے:
ٹریڈنگ سگنل جنریشن منطق:
خطرے کے کنٹرول میں فیصد پر مبنی سٹاپ نقصان اور منافع لینے کی سطح استعمال کی جاتی ہے، جو انٹری قیمت کے مقررہ فیصد کے طور پر مقرر کی جاتی ہے۔
یہ حکمت عملی رجحان اور رفتار کے اشارے کو جوڑ کر منطقی طور پر واضح اور خطرہ پر قابو پانے والا تجارتی نظام تیار کرتی ہے۔ اگرچہ موروثی خطرات موجود ہیں ، لیکن حکمت عملی مناسب پیرامیٹر کی ترتیبات اور رسک کنٹرول کے ذریعے اچھی عملی کارکردگی کا مظاہرہ کرتی ہے۔ مستقبل کی اصلاح متحرک پیرامیٹر ایڈجسٹمنٹ ، مارکیٹ کے ماحول کی پہچان اور سگنل کے معیار میں بہتری پر مرکوز ہے ، جس سے ممکنہ طور پر حکمت عملی کے استحکام اور منافع میں اضافہ ہوتا ہے۔
/*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"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © raiford87 //@version=6 strategy("RSI + MA Trend Strategy (v6)", shorttitle="RSI_MA_Trend_v6", overlay=true, initial_capital=50000, default_qty_type=strategy.fixed, default_qty_value=1) // ───────────────────────────────────────────────────────────────────────────────────── // 1. USER INPUTS // ───────────────────────────────────────────────────────────────────────────────────── maLength = input.int(50, "Moving Average Length") rsiLength = input.int(14, "RSI Length") rsiBuyLevel = input.int(55, "RSI > X for Buy", minval=1, maxval=99) rsiSellLevel = input.int(45, "RSI < X for Sell", minval=1, maxval=99) stopLossPerc = input.float(1.0, "Stop Loss %", minval=0.1) takeProfitPerc = input.float(2.0, "Take Profit %", minval=0.1) // ───────────────────────────────────────────────────────────────────────────────────── // 2. INDICATOR CALCULATIONS // ───────────────────────────────────────────────────────────────────────────────────── maValue = ta.sma(close, maLength) rsiVal = ta.rsi(close, rsiLength) // Trend conditions bullTrend = close > maValue bearTrend = close < maValue // RSI conditions rsiBull = rsiVal > rsiBuyLevel rsiBear = rsiVal < rsiSellLevel // ───────────────────────────────────────────────────────────────────────────────────── // 3. ENTRY CONDITIONS // ───────────────────────────────────────────────────────────────────────────────────── longCondition = bullTrend and rsiBull shortCondition = bearTrend and rsiBear if longCondition strategy.entry("RSI MA Long", strategy.long) if shortCondition strategy.entry("RSI MA Short", strategy.short) // ───────────────────────────────────────────────────────────────────────────────────── // 4. STOP LOSS & TAKE PROFIT // ───────────────────────────────────────────────────────────────────────────────────── stopLossLevel = stopLossPerc * 0.01 takeProfitLevel = takeProfitPerc * 0.01 if strategy.position_size > 0 stopPriceLong = strategy.position_avg_price * (1 - stopLossLevel) tpPriceLong = strategy.position_avg_price * (1 + takeProfitLevel) strategy.exit("Exit Long", from_entry="RSI MA Long", stop=stopPriceLong, limit=tpPriceLong) if strategy.position_size < 0 stopPriceShort = strategy.position_avg_price * (1 + stopLossLevel) tpPriceShort = strategy.position_avg_price * (1 - takeProfitLevel) strategy.exit("Exit Short", from_entry="RSI MA Short", stop=stopPriceShort, limit=tpPriceShort) // ───────────────────────────────────────────────────────────────────────────────────── // 5. PLOT SIGNALS & LEVELS // ───────────────────────────────────────────────────────────────────────────────────── plot(maValue, color=color.yellow, linewidth=2, title="Moving Average") plotchar(longCondition, title="Long Signal", char='▲', location=location.belowbar, color=color.green, size=size.tiny) plotchar(shortCondition, title="Short Signal", char='▼', location=location.abovebar, color=color.red, size=size.tiny) // Plot Stop & TP lines posIsLong = strategy.position_size > 0 posIsShort = strategy.position_size < 0 plotStopLong = posIsLong ? strategy.position_avg_price * (1 - stopLossLevel) : na plotTpLong = posIsLong ? strategy.position_avg_price * (1 + takeProfitLevel): na plotStopShort= posIsShort? strategy.position_avg_price * (1 + stopLossLevel) : na plotTpShort = posIsShort? strategy.position_avg_price * (1 - takeProfitLevel): na plot(plotStopLong, color=color.red, linewidth=2, style=plot.style_line, title="Stop Loss Long") plot(plotTpLong, color=color.green, linewidth=2, style=plot.style_line, title="Take Profit Long") plot(plotStopShort, color=color.red, linewidth=2, style=plot.style_line, title="Stop Loss Short") plot(plotTpShort, color=color.green, linewidth=2, style=plot.style_line, title="Take Profit Short")