
یہ ایک رجحان الٹ ٹریڈنگ حکمت عملی ہے جس میں ایک نسبتا weak مضبوط اشارے ((RSI) اور ایک بے ترتیب نسبتا strong مضبوط اشارے ((Stochastic RSI) کو ملا دیا گیا ہے۔ اس حکمت عملی میں مارکیٹ میں اوورلوڈ اور اوور سیل کی حیثیت کی نشاندہی کی گئی ہے تاکہ ممکنہ الٹ کو پکڑنے کے لئے تجارت کی جاسکے۔ اس حکمت عملی کا مرکز آر ایس آئی کو بنیادی متحرک اشارے کے طور پر استعمال کرنا ہے ، اور پھر اس کی بنیاد پر اسٹوکاسٹک آر ایس آئی کا حساب کتاب کرنا ہے تاکہ قیمت کی نقل و حرکت کی سمت کی مزید تصدیق کی جاسکے۔
حکمت عملی کی بنیادی منطق میں درج ذیل اہم اقدامات شامل ہیں:
یہ ایک جامع حکمت عملی ہے جس میں حرکیات اور رجحان کی الٹیاں شامل ہیں تاکہ آر ایس آئی اور اسٹوکاسٹک آر ایس آئی کے ہم آہنگی کے ذریعہ ممکنہ تجارتی مواقع کی نشاندہی کی جاسکے۔ حکمت عملی کا ڈیزائن معقول ہے ، اس میں بہتر ایڈجسٹ ایبلٹی اور موافقت ہے۔ لیکن عملی اطلاق میں مارکیٹ کے ماحول کے انتخاب اور خطرے پر قابو پانے پر دھیان دینا ضروری ہے ، اور عملی تجارت سے پہلے کافی ریٹرننگ اور پیرامیٹرز کی اصلاح کی سفارش کی جاتی ہے۔
/*backtest
start: 2024-06-15 00:00:00
end: 2025-02-19 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("RSI + Stochastic RSI Strategy", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// INPUTS
// RSI settings
rsiLength = input.int(14, "RSI Length", minval=1)
rsiOverbought = input.int(70, "RSI Overbought Level")
rsiOversold = input.int(30, "RSI Oversold Level")
// Stochastic RSI settings
stochLength = input.int(14, "Stoch RSI Length", minval=1)
smoothK = input.int(3, "Stoch %K Smoothing", minval=1)
smoothD = input.int(3, "Stoch %D Smoothing", minval=1)
stochOverbought = input.int(80, "Stoch Overbought Level")
stochOversold = input.int(20, "Stoch Oversold Level")
// CALCULATIONS
// Compute RSI value on the closing price
rsiValue = ta.rsi(close, rsiLength)
// Calculate Stochastic RSI using the RSI value as source
rsiStoch = ta.stoch(rsiValue, rsiValue, rsiValue, stochLength)
kValue = ta.sma(rsiStoch, smoothK)
dValue = ta.sma(kValue, smoothD)
// PLOTTING
// Plot RSI and reference lines
plot(rsiValue, title="RSI", color=color.blue)
hline(rsiOverbought, "RSI Overbought", color=color.red)
hline(rsiOversold, "RSI Oversold", color=color.green)
// Plot Stochastic RSI %K and %D along with overbought/oversold levels
plot(kValue, title="Stoch %K", color=color.orange)
plot(dValue, title="Stoch %D", color=color.purple)
hline(stochOverbought, "Stoch Overbought", color=color.red, linestyle=hline.style_dotted)
hline(stochOversold, "Stoch Oversold", color=color.green, linestyle=hline.style_dotted)
// STRATEGY CONDITIONS
// Long Condition: RSI below oversold and Stoch RSI crosses upward while in oversold territory
longCondition = (rsiValue < rsiOversold) and (kValue < stochOversold) and ta.crossover(kValue, dValue)
// Long Exit: When RSI goes above overbought or a downward cross occurs on the Stoch RSI
longExit = (rsiValue > rsiOverbought) or ta.crossunder(kValue, dValue)
// Short Condition: RSI above overbought and Stoch RSI crosses downward while in overbought territory
shortCondition = (rsiValue > rsiOverbought) and (kValue > stochOverbought) and ta.crossunder(kValue, dValue)
// Short Exit: When RSI goes below oversold or an upward cross occurs on the Stoch RSI
shortExit = (rsiValue < rsiOversold) or ta.crossover(kValue, dValue)
// EXECUTE TRADES
if (longCondition)
strategy.entry("Long", strategy.long)
if (longExit)
strategy.close("Long")
if (shortCondition)
strategy.entry("Short", strategy.short)
if (shortExit)
strategy.close("Short")