
14 سائیکل RSI کا استعمال نہ کریں۔ یہ حکمت عملی RSI سائیکل کو براہ راست 8 تک کمپیکٹ کرتی ہے ، 14 پوائنٹس کی حرکیات کی کمی کے ساتھ ، خاص طور پر مختصر لائنوں کے پھوٹ کو پکڑنے کے لئے۔ روایتی RSI حکمت عملی کو بار بار جھٹکے والی مارکیٹوں میں سامنا کرنا پڑتا ہے ، اور یہ جوڑا اعلی تعدد کے اتار چڑھاؤ میں زیادہ مستحکم ہے۔
بنیادی منطق بہت سیدھی ہے: جب RSI کی رفتار میں تبدیلی> 14 ہوتی ہے تو کثیر سر سگنل کو متحرک کیا جاتا ہے ، <-14 پر ایک خالی سر سگنل کو متحرک کیا جاتا ہے۔ اس کے ساتھ ہی ، 13 سے زیادہ سائیکل کی اوسط رقم کی ضرورت ہوتی ہے ، اس بات کو یقینی بنائیں کہ یہ جعلی بریک نہیں ہے۔ یہ ڈیزائن 1-2 سائیکلوں سے پہلے سادہ آر ایس آئی او ایس او ایس او ایس او ایس او ایس کے اشارے سے آگے ہے ، اور رجحان کے آغاز کے سنہری لمحے کو پکڑتا ہے۔
اسٹاپ اسٹاپ 4.15٪ ، اسٹاپ نقصان 1.85٪ ، اور رسک کمائی کا تناسب 2.24: 1 تک پہنچ گیا ہے۔ یہ تناسب کھال کھینچنے کی حکمت عملی میں سخت ہے ، لیکن 2.55٪ متحرک اسٹاپ کے ساتھ ، اصل خطرے پر قابو پانا زیادہ سخت ہے۔
کلیدی بات یہ ہے کہ متحرک اسٹاپ ڈیزائن کیا گیا ہے: جب قیمت فائدہ مند سمت میں چلتی ہے تو ، اسٹاپ لائن اعلی ترین / نچلے حصے کی متحرک ایڈجسٹمنٹ کی پیروی کرتی ہے۔ اس کا مطلب یہ ہے کہ زیادہ تر منافع کو لاک کیا جاسکتا ہے یہاں تک کہ اگر 4.15٪ اسٹاپ ہدف تک نہیں پہنچتا ہے۔ عملی طور پر ، بہت ساری تجارت 2-3٪ کی پوزیشن پر متحرک اسٹاپ کے ذریعہ کی جاتی ہے ، جس سے منافع کی واپسی سے بچا جاتا ہے۔
تجارت کرنے کے لئے 13 سائیکل اوسط سے زیادہ ہونا ضروری ہے۔ اس ڈیزائن نے 90٪ جھوٹے سگنل کو فلٹر کیا۔ بہت سے آر ایس آئی حکمت عملی کم مقدار کے ماحول میں بار بار پوزیشن کھولتی ہیں ، اور اس کے نتیجے میں اس کا سامنا کرنا پڑتا ہے۔
13 سائیکلوں کا ٹرانزیکشن میڈین لائن عام 20 سائیکلوں کے مقابلے میں زیادہ حساس ہے ، اور اس سے زیادہ تیزی سے فنڈز کی آمد کی شناخت کی جاسکتی ہے۔ 1 گنا کی تعداد زیادہ نہیں لگتی ہے ، لیکن 8 سائیکلوں کے آر ایس آئی کے ساتھ مل کر اس کی تیز رفتار ردعمل کے ساتھ ، حقیقی کامیابی کے مواقع کو چھاننا کافی ہے۔
ایک سے زیادہ داخلہ کے لئے تین شرائط میں سے ایک کو پورا کرنا ضروری ہے: آر ایس آئی کی حرکیات> 14 ، آر ایس آئی نے اوور سیل زون سے بازیافت کیا ، اور آر ایس آئی نے اوور سیل لائن کو عبور کیا۔ یہ ڈیزائن ایک ہی شرط سے زیادہ لچکدار ہے اور مارکیٹ کی مختلف حالتوں کے مطابق ہے۔
اوور سیل لائن کو 10 پر سیٹ کریں ، اوور خرید لائن کو 90 پر سیٹ کریں ، جو روایتی 30⁄70 سے زیادہ انتہائی ہے۔ اس کا فائدہ یہ ہے کہ غلط سگنل کو کم کیا جائے ، نقصان یہ ہے کہ کچھ مواقع ضائع ہوسکتے ہیں۔ لیکن کھوپڑی کی حکمت عملی کے ل for ، بہتر ہے کہ نہ ہی غلطی سے گزرے۔
یہ حکمت عملی کریپٹو کرنسیوں ، غیر ملکی کرنسی کے اہم کرنسی کے جوڑوں ، اور مقبول اسٹاک جیسے اعلی اتار چڑھاؤ والی اقسام کے لئے بہترین ہے۔ کم اتار چڑھاؤ والے بلیو فائنڈ اسٹاک یا بانڈز پر کارکردگی کو نمایاں طور پر کم کردیا جائے گا۔
بہترین ٹائم ونڈو یوروپی اور امریکی ٹریڈنگ ٹائم کے اوپری حصے میں ہے ، اس وقت لیکویڈیٹی بہترین ہے ، اور ٹرانزیکشن حجم فلٹر سب سے زیادہ موثر ہے۔ ایشین ٹائم کے دوران کم ٹرانزیکشن حجم کی وجہ سے ، سگنل کا معیار کم ہوجاتا ہے۔
ریٹائرمنٹ کے اعداد و شمار سے پتہ چلتا ہے کہ اس حکمت عملی میں مسلسل نقصان کا خطرہ ہے ، خاص طور پر افقی جھٹکے والے بازاروں میں۔ 8 سائیکل آر ایس آئی بہت حساس ہے ، جو وقفے وقفے کے جھٹکے میں بار بار نقصان پہنچا سکتا ہے۔
تجویز ہے کہ ایک بار کا خطرہ اکاؤنٹ کے 2 فیصد سے زیادہ نہ ہو اور 3 مسلسل نقصانات کے بعد تجارت کو روک دیا جائے۔ تاریخی ریٹرننگ مستقبل کی آمدنی کی نمائندگی نہیں کرتی ہے ، اور ریئل اسٹیک ٹریڈنگ میں سخت فنڈ مینجمنٹ اور نفسیاتی کنٹرول کی ضرورت ہوتی ہے۔
/*backtest
start: 2024-09-29 00:00:00
end: 2025-09-26 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Bybit","currency":"ETH_USDT","balance":500000}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © MonkeyPhone
//@version=5
strategy("RSI Momentum Scalper", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, calc_on_order_fills=true)
// Trading Mode Selection
tradeMode = input.string("Both", title="Trade Mode", options=["Both", "Long Only", "Short Only"])
// RSI Settings
rsiLength = input.int(8, title="RSI Length", minval=2, maxval=30)
rsiOverbought = input.int(90, title="RSI Overbought", minval=60, maxval=99)
rsiOversold = input.int(10, title="RSI Oversold", minval=1, maxval=40)
rsiMomentumThreshold = input.float(14, title="RSI Momentum Threshold", minval=1, maxval=15, step=0.5)
// Volume Settings
volMultiplier = input.float(1, title="Volume Multiplier", minval=1.0, maxval=3.0, step=0.1)
volLookback = input.int(13, title="Volume MA Length", minval=5, maxval=50)
// Exit Settings
takeProfitPercent = input.float(4.15, title="Take Profit %", minval=0.1, maxval=10.0, step=0.1)
stopLossPercent = input.float(1.85, title="Stop Loss %", minval=0.1, maxval=6.0, step=0.1)
trailingStopPercent = input.float(2.55, title="Trailing Stop %", minval=0.1, maxval=4.0, step=0.05)
// Calculate RSI
rsi = ta.rsi(close, rsiLength)
rsiMA = ta.sma(rsi, 3)
// Calculate RSI Momentum
rsiMomentum = rsi - rsi[1]
// Volume Analysis
volMA = ta.sma(volume, volLookback)
highVolume = volume > volMA * volMultiplier
// Entry Conditions - Long
bullishMomentum = rsiMomentum > rsiMomentumThreshold
oversoldBounce = rsi < rsiOversold and rsi > rsi[1]
bullishCross = ta.crossover(rsi, rsiOversold)
longCondition = (bullishMomentum or oversoldBounce or bullishCross) and highVolume and close > close[1]
// Entry Conditions - Short
bearishMomentum = rsiMomentum < -rsiMomentumThreshold
overboughtReversal = rsi > rsiOverbought and rsi < rsi[1]
bearishCross = ta.crossunder(rsi, rsiOverbought)
shortCondition = (bearishMomentum or overboughtReversal or bearishCross) and highVolume and close < close[1]
// Apply trade mode filter
longEntry = longCondition and (tradeMode == "Both" or tradeMode == "Long Only")
shortEntry = shortCondition and (tradeMode == "Both" or tradeMode == "Short Only")
// Entry Logic
strategy.entry("Long", strategy.long, when=longEntry and strategy.position_size == 0)
strategy.entry("Short", strategy.short, when=shortEntry and strategy.position_size == 0)
// Declare and initialize trailing variables
var float highest_since_long = na
var float lowest_since_short = na
var float long_trailing_level = na
var float short_trailing_level = na
var float long_fixed_sl = na
var float long_tp = na
var float short_fixed_sl = na
var float short_tp = na
// Update trailing levels using ternary operators with math.max/min
highest_since_long := strategy.position_size > 0 ? math.max(na(highest_since_long[1]) ? math.max(high, strategy.position_avg_price) : highest_since_long[1], high) : na
lowest_since_short := strategy.position_size < 0 ? math.min(na(lowest_since_short[1]) ? math.min(low, strategy.position_avg_price) : lowest_since_short[1], low) : na
// Calculate exit levels
long_fixed_sl := strategy.position_size > 0 ? strategy.position_avg_price * (1 - stopLossPercent / 100) : na
long_tp := strategy.position_size > 0 ? strategy.position_avg_price * (1 + takeProfitPercent / 100) : na
long_trailing_level := strategy.position_size > 0 ? highest_since_long * (1 - trailingStopPercent / 100) : na
short_fixed_sl := strategy.position_size < 0 ? strategy.position_avg_price * (1 + stopLossPercent / 100) : na
short_tp := strategy.position_size < 0 ? strategy.position_avg_price * (1 - takeProfitPercent / 100) : na
short_trailing_level := strategy.position_size < 0 ? lowest_since_short * (1 + trailingStopPercent / 100) : na
// Effective stop loss levels
effective_long_sl = strategy.position_size > 0 ? math.max(long_fixed_sl, long_trailing_level) : na
effective_short_sl = strategy.position_size < 0 ? math.min(short_fixed_sl, short_trailing_level) : na
// Exit Logic
strategy.exit("Long Exit", "Long", limit=long_tp, stop=effective_long_sl, when=strategy.position_size > 0)
strategy.exit("Short Exit", "Short", limit=short_tp, stop=effective_short_sl, when=strategy.position_size < 0)
// Plot TP, fixed SL, and trailing SL levels on chart when in position
plot(strategy.position_size > 0 ? long_tp : na, title="Long TP", color=color.green, style=plot.style_linebr)
plot(strategy.position_size > 0 ? long_fixed_sl : na, title="Long Fixed SL", color=color.red, style=plot.style_linebr)
plot(strategy.position_size > 0 ? long_trailing_level : na, title="Long Trailing SL", color=color.orange, style=plot.style_linebr)
plot(strategy.position_size < 0 ? short_tp : na, title="Short TP", color=color.green, style=plot.style_linebr)
plot(strategy.position_size < 0 ? short_fixed_sl : na, title="Short Fixed SL", color=color.red, style=plot.style_linebr)
plot(strategy.position_size < 0 ? short_trailing_level : na, title="Short Trailing SL", color=color.orange, style=plot.style_linebr)
// Alerts
alertcondition(longEntry, title="Long Entry Alert", message="RSI Momentum Long Signal")
alertcondition(shortEntry, title="Short Entry Alert", message="RSI Momentum Short Signal")