লিকুইডিটি সুইপ মাল্টি-কনফার্মেশন কৌশল

LIQUIDITY VOLUME EMA Pivot
সৃষ্টির তারিখ: 2025-12-17 15:33:28 অবশেষে সংশোধন করুন: 2025-12-17 15:33:28
অনুলিপি: 10 ক্লিকের সংখ্যা: 288
2
ফোকাস
421
অনুসারী

লিকুইডিটি সুইপ মাল্টি-কনফার্মেশন কৌশল লিকুইডিটি সুইপ মাল্টি-কনফার্মেশন কৌশল

লিকুইডিটি সাফাই + ট্রানজেকশন কনফার্মেশন, এটিই আসল প্রাতিষ্ঠানিক চিন্তাভাবনা

একক সূচককে আর বিশ্বাস করবেন না। এই কৌশলটি তরলতা ঝাঁকুনি, ট্র্যাফিকের অস্বাভাবিকতা, ইএমএ প্রবণতার তিনটি মাত্রাকে নিখুঁতভাবে একত্রিত করে, ১১-চক্রের দোলনাগুলি মূল সমর্থন প্রতিরোধকে চিহ্নিত করে, 31-চক্রের ইএমএ প্রবণতার দিকনির্দেশগুলি ফিল্টার করে। পুনরাবৃত্তির ফলাফলগুলি দেখায় যে একাধিক নিশ্চিতকরণ প্রক্রিয়াটি কার্যকরভাবে ভুয়া ব্রেকিংয়ের ঝামেলা হ্রাস করে, তবে প্রায় 30% সংকেত ফ্রিকোয়েন্সি হ্রাস করে।

কম মানের সংকেত প্রত্যাখ্যান করতে ফিল্টারটি 1x বড় করুন

সাধারণ তরলতা পরিস্কার করার কৌশলগুলির মধ্যে সবচেয়ে বড় সমস্যা হ’ল প্রচুর শব্দ। এখানে 11 চক্রের ট্র্যাফিক গড়ের 1 গুণ ফিল্টার হিসাবে ব্যবহৃত হয়, কেবলমাত্র ভলিউম ব্রেকিংয়ের মাধ্যমে সংকেতটি ট্রিগার করা হয়। ডেটা প্রমাণ করে যে ট্র্যাফিক নিশ্চিতকরণের সাথে যুক্ত হওয়ার পরে, বিজয়ী হওয়ার হার 15-20% বৃদ্ধি পায়, তবে কিছু হালকা ভলিউমের কার্যকর ব্রেকিং মিস করা হবে। সুতরাং এটি একটি বিকল্প সমস্যা, নিখুঁত সমাধান নয়।

বিপরীত সিগন্যাল সরাসরি পলাতক, কখনো যুদ্ধ করবে না

এখানে সবচেয়ে চতুর নকশাটি হলঃ বিপরীত তরলতা সাফ করার সংকেত পাওয়ার সাথে সাথে অবিলম্বে পজিশনটি খালি করা। এই “প্রতিপক্ষ-আমি-পিছনে” লজিকটি প্রচলিত স্টপ ক্ষতির চেয়ে বেশি সংবেদনশীল এবং প্রবণতা বিপরীত হওয়ার প্রথম দিকে প্রত্যাহার করতে পারে। দামের সাথে মিলিত 3 চক্রের পরে পজিশনটি খালি করার প্রক্রিয়াটি দ্বৈত সুরক্ষা তৈরি করে। তবে সতর্কতা অবলম্বন করুন যে খুব সংবেদনশীলতা ঘন ঘন ক্ষতির কারণ হতে পারে।

ইএমএ-র অধীনে বাধ্যতামূলক প্রস্থান, প্রবণতা রাজা

৩১ চক্রের ইএমএ কেবলমাত্র প্রবেশের ফিল্টার হিসাবেই ব্যবহৃত হয় না, বরং এটি প্রস্থানকে বাধ্য করার জন্য শেষ প্রতিরক্ষা হিসাবেও ব্যবহৃত হয়। দামগুলি যখন ইএমএ-তে নেমে যায় তখন শর্তহীন সমতলতা, এই নকশাটি “প্রবণতা রাজা” এর মূল মনোভাবকে প্রতিফলিত করে। ইতিহাসের পুনর্বিবেচনা দেখায় যে এই প্রক্রিয়াটি ব্যাপক প্রত্যাহার এড়াতে কার্যকর, তবে এটি ঘন ঘন অস্থিরতার সময় ট্রিগার করা হয়।

পুনরাবৃত্তি প্রতিরোধক সংকেত লকিং ব্যবস্থা, অত্যধিক লেনদেন এড়াতে

কোডের buy_lock এবং sell_lock ডিজাইনটি খুব বুদ্ধিমান। একবার সাফ করার সংকেত ট্রিগার হয়ে গেলে, একই দিকের সংকেতটি লক হয়ে যায় যতক্ষণ না দামটি মূল অবস্থানে ফিরে আসে। এটি একই তরঙ্গের মধ্যে পুনরাবৃত্তি পজিশন খোলার এড়াতে পারে, লেনদেনের ব্যয় এবং ঝুঁকির এক্সপোজার হ্রাস করে।

প্রযোজ্য দৃশ্যপটঃ প্রবণতা-প্রদর্শনী বাজারের অস্থিরতা

এই কৌশলটি স্পষ্ট প্রবণতাযুক্ত তবে উচ্চতর ওঠানামাযুক্ত বাজার পরিবেশে সবচেয়ে উপযুক্ত। এটি একতরফা উত্থান বা পতনের ক্ষেত্রে দুর্দান্ত পারফরম্যান্স করে, তবে এটি প্রায়শই পার্শ্বীয় অস্থিরতার সময় ক্ষতিগ্রস্থ হয়। এটি সূর্যের স্তরে ব্যবহার করার পরামর্শ দেওয়া হয়, মিনিট স্তরের শব্দটি খুব বেশি। এটিও মনে রাখবেন যে কম তরল জাতগুলি মিথ্যা সংকেত দেখা দিতে পারে।

ঝুঁকিপূর্ণ টিপসঃ অতীতের পুনর্বিবেচনা ভবিষ্যতের উপার্জনের প্রতিনিধিত্ব করে না

কৌশলটিতে ক্রমাগত ক্ষতির ঝুঁকি রয়েছে, বিশেষত যখন বাজারের কাঠামো পরিবর্তিত হয়। ১১-চক্রের দোলনা সনাক্তকরণ কিছু চরম পরিস্থিতিতে ব্যর্থ হতে পারে, ৩১-চক্রের ইএমএ দ্রুত বিপরীত দিকে পিছিয়ে রয়েছে। একক পজিশনের অবস্থানটি মোট মূলধনের ১০% এর বেশি নয় এমন কঠোরভাবে নিয়ন্ত্রণ করার পরামর্শ দেওয়া হয় এবং বাজারের পরিস্থিতি অনুসারে প্যারামিটারগুলি সামঞ্জস্য করা হয়।

কৌশল সোর্স কোড
/*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")