
یہ حکمت عملی ایک رجحان کی پیروی کرنے والا تجارتی نظام ہے جو رشتہ دار طاقت انڈیکس (RSI) اور سادہ موونگ ایوریج (SMA) کو یکجا کرتا ہے۔ یہ حکمت عملی مارکیٹ کے رجحان کی سمت کا تعین کرنے کے لیے متحرک اوسط کا استعمال کرتی ہے اور رفتار کی تصدیق کے لیے RSI اشارے کا استعمال کرتی ہے، تاکہ جب رجحان اور رفتار گونجتی ہو تو تجارت کی جا سکے۔ حکمت عملی نے ایک مکمل سٹاپ پرافٹ اور سٹاپ لوس میکانزم تیار کیا ہے، جو مؤثر طریقے سے خطرات کو کنٹرول کر سکتا ہے۔
حکمت عملی کی بنیادی منطق دو تکنیکی اشارے کے مشترکہ استعمال پر مبنی ہے:
ٹریڈنگ سگنل جنریشن منطق:
رسک کنٹرول فیصد سٹاپ نقصان اور ٹیک پرافٹ کے طریقے استعمال کرتا ہے، جو بالترتیب داخلہ قیمت کے مقررہ فیصد کے طور پر متعین ہوتے ہیں۔
یہ حکمت عملی واضح منطق اور قابل کنٹرول خطرات کے ساتھ تجارتی نظام بنانے کے لیے رجحان اور رفتار کے اشارے کو یکجا کرتی ہے۔ اگرچہ کچھ موروثی خطرات ہیں، حکمت عملی معقول پیرامیٹر کی ترتیب اور رسک کنٹرول کے ذریعے اچھی عملییت کو ظاہر کرتی ہے۔ بعد میں اصلاح کی ہدایات بنیادی طور پر متحرک پیرامیٹر ایڈجسٹمنٹ، مارکیٹ کے ماحول کی شناخت اور سگنل کے معیار میں بہتری پر توجہ مرکوز کریں گی، جس سے حکمت عملی کے استحکام اور منافع میں مزید بہتری کی توقع ہے۔
/*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")