
کیا آپ جانتے ہیں؟ یہ حکمت عملی ایک سپر پرسکون “بلبلا جاسوس” کی طرح ہے! جب مارکیٹ میں تیزی سے تیزی آتی ہے تو ، یہ اس کے ساتھ نہیں چلتا ہے ، بلکہ صبر سے اس وقت کا انتظار کرتا ہے جب بلبلا ٹوٹ جاتا ہے۔ جیسے دوستوں کے حلقے میں پاگل امیر آدمی کو دیکھ کر ، آپ جانتے ہیں کہ وہ جلد ہی “خراب” ہوسکتا ہے۔ 😏
توجہ مرکوز!اس حکمت عملی میں دو انتہائی ذہین مواقع ہیں:
بسوں کے انتظار کی طرح، ہر بس میں نہیں جانا چاہئے، صرف صحیح بس کا انتظار کرنا چاہئے!
گڑھے کی ہدایت نامہ آ گیا ہے!اس حکمت عملی کی سب سے بڑی طاقت اس کے “انتباہی نظام” میں ہے:
اس حکمت عملی کا گراف آئی فون کے انٹرفیس سے بھی زیادہ خوبصورت ہے!
اگر آپ اس قسم کے تاجر ہیں، تو یہ حکمت عملی آپ کے لئے تیار کی گئی ہے۔
یاد رکھیں: مارکیٹوں میں کبھی بھی مواقع کی کمی نہیں ہوتی ، اس میں صبر کی کمی ہوتی ہے جو موقع کا انتظار کرتی ہے! ✨
/*backtest
start: 2025-09-15 00:00:00
end: 2025-10-14 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/
//@version=5
strategy("Pump-Smart Shorting Strategy", overlay=true)
// Inputs
lookbackPeriod = input.int(20, "Lookback Period for New High", minval=5)
minProfitPerc = input.float(0.02, "Take Profit %", minval=0.001)
stopLossPerc = input.float(0.06, "Stop Loss %", minval=0.001)
hedgeTokens = input.int(1, "Hedge Tokens")
// Pump detection inputs
rsiPeriod = input.int(14, "RSI Period")
rsiHigh = input.float(70, "Pump RSI ≥")
rsiCool = input.float(60, "Pump cool-off RSI ≤")
volMult = input.float(1.5, "Volume Pump Multiplier")
pctUp = input.float(0.05, "1-bar Up % for Pump")
barsWait = input.int(0, "Bars to wait after pump ends", minval=0, maxval=10)
// Tech
rsi = ta.rsi(close, rsiPeriod)
avgVol = ta.sma(volume, 20)
oneBarUp = (close - close[1]) / close[1]
// Pump on if any strong up-move pattern
pumpOn = (rsi >= rsiHigh) or (volume > avgVol * volMult and oneBarUp > pctUp)
// Track pump state with var and transitions
var bool wasPump = false
pumpStart = not wasPump and pumpOn
pumpEnd = wasPump and not pumpOn
// Update state each bar
wasPump := pumpOn
// Count bars since pump ended
var int barsSincePumpEnd = 10000
barsSincePumpEnd := pumpEnd ? 0 : math.min(10000, barsSincePumpEnd + 1)
// Define "pump ended and cooled" condition
cooled = (rsi <= rsiCool) and (oneBarUp <= pctUp/2 or volume <= avgVol * (volMult * 0.8))
// Immediate short signal when pump finishes and cooled (with optional wait)
shortAfterPump = (barsSincePumpEnd >= barsWait) and cooled and not pumpOn and strategy.position_size == 0
// Also allow shorts on fresh new highs when not pumping (optional, keep for more entries)
isNewHigh = high > ta.highest(high, lookbackPeriod)[1]
shortOnPeak = isNewHigh and not pumpOn and strategy.position_size == 0
// Define conditions where we DON'T short (for red background)
noShortZone = pumpOn or (isNewHigh and pumpOn) or (barsSincePumpEnd < barsWait) or not cooled
// Preemptive close if pump turns on while short
var float shortEntry = na
inShort = strategy.position_size < 0 and not na(shortEntry)
if inShort and pumpOn
strategy.close("Short")
shortEntry := na
// Entry rules: short either right after pump ends OR on new high when not pumping
if (shortAfterPump or shortOnPeak) and strategy.position_size == 0
strategy.entry("Short", strategy.short, qty=hedgeTokens)
shortEntry := na
// Track entry price
if strategy.position_size < 0 and na(shortEntry)
shortEntry := strategy.position_avg_price
if strategy.position_size == 0
shortEntry := na
inShort := strategy.position_size < 0 and not na(shortEntry)
// TP/SL
tp = shortEntry * (1 - minProfitPerc)
sl = shortEntry * (1 + stopLossPerc)
exitTP = inShort and close <= tp
exitSL = inShort and close >= sl
if exitTP
strategy.close("Short")
if exitSL
strategy.close("Short")
// Visuals - REMOVED TEXT FROM ARROWS
plotshape(pumpStart, style=shape.circle, color=color.orange, location=location.abovebar, size=size.tiny)
plotshape(pumpEnd, style=shape.circle, color=color.teal, location=location.abovebar, size=size.tiny)
plotshape(shortAfterPump, style=shape.triangledown, color=color.blue, location=location.abovebar, size=size.small)
plotshape(shortOnPeak, style=shape.triangledown, color=color.red, location=location.abovebar, size=size.tiny)
plot(inShort ? shortEntry : na, color=color.blue, linewidth=2, title="Short Entry")
plot(inShort ? tp : na, color=color.green, linewidth=2, title="TP")
plot(inShort ? sl : na, color=color.red, linewidth=2, title="SL")
// Background colors - ADDED RED NO-SHORT ZONES
bgcolor(pumpOn ? color.new(color.orange, 92) : na, title="Pump Zone")
bgcolor(shortAfterPump ? color.new(color.blue, 92) : na, title="Post-Pump Short Zone")
bgcolor(noShortZone and not pumpOn ? color.new(color.red, 95) : na, title="No Short Zone")