لیکویڈیٹی سویپ کثیر تصدیقی حکمت عملی

LIQUIDITY VOLUME EMA Pivot
تخلیق کی تاریخ: 2025-12-17 15:33:28 آخر میں ترمیم کریں: 2025-12-17 15:33:28
کاپی: 10 کلکس کی تعداد: 288
2
پر توجہ دیں
421
پیروکار

لیکویڈیٹی سویپ کثیر تصدیقی حکمت عملی لیکویڈیٹی سویپ کثیر تصدیقی حکمت عملی

لیکویڈیٹی صفائی + ٹرانزیکشن کی توثیق ، حقیقی ادارہ سوچ

ایک ہی اشارے پر بھروسہ نہ کریں۔ اس حکمت عملی میں تین جہتوں کا ایک کامل امتزاج ہے: لیکویڈیٹی صفائی ، ٹرانزٹ کی غیر معمولی ، EMA رجحانات ، 11 سائیکل سلائیونگ کی شناخت اہم معاون مزاحمت ، 31 سائیکل EMA فلٹرنگ رجحانات کی سمت۔ ریٹرننگ سے پتہ چلتا ہے کہ متعدد تصدیق کے طریقہ کار نے جعلی توڑنے کی مداخلت کو مؤثر طریقے سے کم کیا ہے ، لیکن اس کی قیمت پر سگنل کی تعدد میں تقریبا 30 فیصد کمی واقع ہوئی ہے۔

کم معیار کے سگنل کو مسترد کرنے کے لئے فلٹر کو 1 گنا بڑھا دیں

معمول کی نقل و حرکت کی صفائی کی حکمت عملی کا سب سے بڑا مسئلہ بہت زیادہ شور ہے۔ یہاں 11 سائیکل ٹرانزیکشن اوسط لائن کا 1 گنا فلٹر کے طور پر استعمال کیا جاتا ہے ، اور صرف حجم کی توسیع ہی سگنل کو متحرک کرتی ہے۔ اعداد و شمار سے پتہ چلتا ہے کہ ٹرانزیکشن کی توثیق میں شامل ہونے سے جیت کی شرح میں 15-20 فیصد اضافہ ہوتا ہے ، لیکن ہلکے وزن کی سطح کے کچھ موثر پیشرفتوں سے محروم ہوجاتا ہے۔ لہذا یہ ایک اختیاری مسئلہ ہے ، کامل حل نہیں۔

ریورس سگنل نے براہ راست توازن قائم کیا ، کبھی بھی جنگ میں شامل نہ ہوں

یہاں سب سے تیز ڈیزائن ہے: فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر فوری طور پر

ای ایم اے کے تحت جبری انخلا ، رجحان بادشاہ ہے

31 سائیکل ای ایم اے نہ صرف داخلے کے فلٹر کے طور پر استعمال کیا جاتا ہے بلکہ جبری باہر نکلنے کے لئے آخری دفاعی لائن بھی ہے۔ جب قیمت ای ایم اے سے نیچے آجاتی ہے تو غیر مشروط صفائی ، یہ ڈیزائن ‘رجحان بادشاہ ہے’ کے بنیادی نظریہ کی عکاسی کرتا ہے۔ تاریخ کی نظر ثانی سے پتہ چلتا ہے کہ یہ طریقہ کار بڑے پیمانے پر واپسی سے بچنے کے لئے موثر ہے ، لیکن زلزلے کے حالات میں اکثر متحرک ہوتا ہے۔

اینٹی ڈپلیکیٹ سگنل لاکنگ میکانزم ، ضرورت سے زیادہ تجارت سے بچنے کے لئے

کوڈ میں buy_lock اور sell_lock ڈیزائن بہت ہوشیار ہے۔ ایک بار جب صفائی کا اشارہ ہوتا ہے تو ، اسی سمت کے اشارے کو لاک کر دیا جاتا ہے جب تک کہ قیمت دوبارہ کلیدی مقام پر واپس نہ آجائے۔ اس سے ایک ہی لہر کی صورتحال میں پوزیشن کھولنے سے بچ جاتا ہے ، جس سے تجارت کی لاگت اور خطرے کی نمائش میں کمی واقع ہوتی ہے۔

قابل اطلاق منظر نامہ: رجحانات کے ساتھ اتار چڑھاؤ کا بازار

یہ حکمت عملی واضح رجحانات لیکن زیادہ اتار چڑھاؤ کے ساتھ مارکیٹ کے ماحول کے لئے موزوں ہے۔ ایک طرفہ عروج یا زوال میں عمدہ کارکردگی کا مظاہرہ کیا گیا ہے ، لیکن کراس ڈسک کے اتار چڑھاؤ میں اکثر نقصان ہوتا ہے۔ یہ مشورہ دیا گیا ہے کہ دن کی سطح پر استعمال کیا جائے ، منٹ کی سطح پر شور بہت زیادہ ہے۔

خطرے کی نوک: ماضی کی واپسی مستقبل کی آمدنی کی نمائندگی نہیں کرتی

حکمت عملی میں مسلسل نقصانات کا خطرہ ہوتا ہے ، خاص طور پر جب مارکیٹ کی ساخت میں تبدیلی آتی ہے۔ 11 سائیکلوں کی اتار چڑھاؤ کی شناخت کچھ انتہائی حالات میں ناکام ہوسکتی ہے ، 31 سائیکل ای ایم اے میں تیزی سے الٹ جانے میں تاخیر ہوتی ہے۔ یہ تجویز کی جاتی ہے کہ ایک ہی پوزیشن کو کل فنڈز کے 10٪ سے زیادہ پر سختی سے کنٹرول کیا جائے اور پیرامیٹرز کو مارکیٹ کے حالات کے مطابق ایڈجسٹ کیا جائے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-12-17 00:00:00
end: 2025-12-15 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/

//@version=5
strategy(
     "Liquidity Sweep + Volume + OB + EMA Cross Exit (Fixed)",
     overlay=true,
     max_boxes_count=500,
     max_lines_count=500,
     initial_capital=100000,
     default_qty_type=strategy.percent_of_equity,
     default_qty_value=10,
     pyramiding=1)

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// INPUTS
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
len = input.int(11, "Swing Length", minval=1)

volLen  = input.int(11, "Volume MA Length", group="Volume Filter")
volMult = input.float(1, "Volume Multiplier", step=0.1, group="Volume Filter")

emaLength  = input.int(31, "EMA Length", minval=1, group="EMA Filter")
extendBoxes = input.bool(true, "Extend Boxes")

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// EMA
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
emaVal = ta.ema(close, emaLength)
plot(emaVal, title="EMA", color=color.orange)


//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// COLORS
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
buyCol   = color.lime
sellCol  = color.red

liqBuyCol  = color.new(color.lime, 85)
liqSellCol = color.new(color.red, 85)

obBuyCol  = color.new(color.green, 75)
obSellCol = color.new(color.maroon, 75)

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// VOLUME FILTER
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
volMA   = ta.sma(volume, volLen)
highVol = volume > volMA * volMult

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// PIVOTS
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ph = ta.pivothigh(len, len)
pl = ta.pivotlow(len, len)

var float lastPH = na
var float lastPL = na

if not na(ph)
    lastPH := ph
if not na(pl)
    lastPL := pl

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// LIQUIDITY SWEEPS
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
sellSweep = not na(lastPH) and high > lastPH and close < lastPH and highVol
buySweep  = not na(lastPL) and low  < lastPL and close > lastPL and highVol

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// ANTI-SPAM LOCK
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
var bool buyLock  = false
var bool sellLock = false

if buySweep
    buyLock := true
else if not na(lastPL) and close < lastPL
    buyLock := false

if sellSweep
    sellLock := true
else if not na(lastPH) and close > lastPH
    sellLock := false

buySignal  = buySweep  and not buyLock[1]
sellSignal = sellSweep and not sellLock[1]

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// TRADE STATE
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
var float entryPrice = na
var int   entryBar   = na
var int   entryDir   = 0   // 1 = BUY, -1 = SELL
var bool  tradeAlive = false

//━━━━━━━━ ENTRY ━━━━━━━━━━━━━━━━━━━
if buySignal and not tradeAlive
    strategy.entry("BUY", strategy.long)
    entryPrice := close
    entryBar   := bar_index
    entryDir   := 1
    tradeAlive := true

if sellSignal and not tradeAlive
    strategy.entry("SELL", strategy.short)
    entryPrice := close
    entryBar   := bar_index
    entryDir   := -1
    tradeAlive := true

barsFromEntry = tradeAlive ? bar_index - entryBar : na

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// EXIT LOGIC
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
exitBuyAfter3  = tradeAlive and entryDir == 1  and barsFromEntry >= 3 and close < entryPrice
exitSellAfter3 = tradeAlive and entryDir == -1 and barsFromEntry >= 3 and close > entryPrice

exitOppBuy  = tradeAlive and entryDir == 1  and sellSignal
exitOppSell = tradeAlive and entryDir == -1 and buySignal

// EMA downside cross exit
emaCrossDown = tradeAlive and ta.crossunder(close, emaVal)
exitEMA      = emaCrossDown

exitSignal = exitBuyAfter3 or exitSellAfter3 or exitOppBuy or exitOppSell or exitEMA

if exitSignal
    if entryDir == 1
        strategy.close("BUY")
    if entryDir == -1
        strategy.close("SELL")

    tradeAlive := false
    entryPrice := na
    entryBar   := na
    entryDir   := 0

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// PLOTS
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
plotshape(buySignal,  "BUY",  shape.labelup,   location.belowbar, color=buyCol,  text="BUY",  textcolor=color.black)
plotshape(sellSignal, "SELL", shape.labeldown, location.abovebar, color=sellCol, text="SELL", textcolor=color.white)

plotshape(exitBuyAfter3,  "EXIT BUY 3+",  shape.xcross, location.abovebar, color=color.orange)
plotshape(exitSellAfter3, "EXIT SELL 3+", shape.xcross, location.belowbar, color=color.orange)

plotshape(exitOppBuy,  "EXIT BUY OPP",  shape.flag, location.abovebar, color=color.yellow)
plotshape(exitOppSell, "EXIT SELL OPP", shape.flag, location.belowbar, color=color.yellow)

plotshape(exitEMA and entryDir == 1, "EXIT EMA BUY",  shape.triangledown, location.abovebar, color=color.blue)
plotshape(exitEMA and entryDir == -1, "EXIT EMA SELL", shape.triangleup,  location.belowbar, color=color.blue)

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// ALERTS
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
alertcondition(buySignal,  "BUY Alert",  "Liquidity Sweep BUY")
alertcondition(sellSignal, "SELL Alert", "Liquidity Sweep SELL")
alertcondition(exitEMA,title="EXIT EMA CROSS",message="Price crossed below EMA")