یہ حکمت عملی لیکویڈیٹی ویٹڈ چلتی اوسط پر مبنی ایک تجارتی نظام ہے ، جو قیمت کی نقل و حرکت اور تجارتی حجم کے مابین تعلقات کے ذریعے مارکیٹ کی لیکویڈیٹی کی پیمائش کرتا ہے۔ یہ تیز رفتار اور سست چلتی اوسط تیار کرتا ہے تاکہ جب تیز لائن سست لائن سے تجاوز کرتی ہے تو خرید سگنل پیدا کیے جائیں اور جب یہ نیچے سے تجاوز کرتی ہے تو سگنل فروخت کریں۔ یہ حکمت عملی خاص طور پر غیر معمولی لیکویڈیٹی واقعات پر مرکوز ہے ، زیادہ درست تجارتی مواقع کے لئے ایک صف میں کلیدی قیمت کی سطح کو ریکارڈ کرتی ہے۔
بنیادی میکانزم مارکیٹ کی لیکویڈیٹی کو حجم اور قیمت کی نقل و حرکت کے تناسب کے ذریعے پیمائش کرنے پر مبنی ہے۔ اس کے نفاذ میں مندرجہ ذیل اقدامات ہیں: لیکویڈیٹی اشارے کا حساب لگائیں: حجم بند اور کھلی قیمتوں کے درمیان مطلق فرق سے تقسیم لیکویڈیٹی کی حد مقرر کریں: ای ایم اے اور معیاری انحراف کا استعمال کرتے ہوئے غیر معمولی لیکویڈیٹی کی نشاندہی کریں قیمتوں کی صف کو برقرار رکھیں: جب لیکویڈیٹی کی حد کو توڑا جاتا ہے تو قیمتوں کا ریکارڈ رکھیں چلتی اوسط کی تعمیر: لیکویڈیٹی کے واقعات کی بنیاد پر تیز اور سست ای ایم اے کا حساب لگائیں 5. تجارتی سگنل تیار کریں: حرکت پذیر اوسط کراس اوورز کے ذریعے انٹری اور آؤٹ پوائنٹس کا تعین کریں
یہ جدید حکمت عملی لیکویڈیٹی تجزیہ کو تکنیکی اشارے کے ساتھ جوڑتی ہے ، جو مارکیٹ کی لیکویڈیٹی کی خرابیوں کی نگرانی کرکے روایتی حرکت پذیر اوسط کراس اوور سسٹم کو بہتر بناتی ہے۔ اگرچہ یہ مخصوص مارکیٹ کے حالات میں امید افزا نتائج دکھاتی ہے ، لیکن استحکام اور قابل اطلاق کو بہتر بنانے کے لئے مزید اصلاحات کی ضرورت ہے۔ تاجروں کو براہ راست نفاذ سے پہلے اچھی طرح سے جانچ کرنا چاہئے اور زیادہ مضبوط تجارتی نظام کے ل other دوسرے اشارے کے ساتھ جوڑنے پر غور کرنا چاہئے۔
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-16 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //Liquidity ignoring price location //@version=6 strategy("Liquidity Weighted Moving Averages [AlgoAlpha]", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3) // Inputs outlierThreshold = input.int(10, "Outlier Threshold Length") fastMovingAverageLength = input.int(50, "Fast MA Length") slowMovingAverageLength = input.int(100, "Slow MA Length") start_date = input(timestamp("2018-01-01 00:00"), title="Start Date") end_date = input(timestamp("2069-12-31 23:59"), title="End Date") // Define liquidity based on volume and price movement priceMovementLiquidity = volume / math.abs(close - open) // Calculate the boundary for liquidity to identify outliers liquidityBoundary = ta.ema(priceMovementLiquidity, outlierThreshold) + ta.stdev(priceMovementLiquidity, outlierThreshold) // Initialize an array to store liquidity values when they cross the boundary var liquidityValues = array.new_float(5) // Check if the liquidity crosses above the boundary and update the array if ta.crossover(priceMovementLiquidity, liquidityBoundary) array.insert(liquidityValues, 0, close) if array.size(liquidityValues) > 5 array.pop(liquidityValues) // Calculate the Exponential Moving Averages for the close price at the last liquidity crossover fastEMA = ta.ema(array.size(liquidityValues) > 0 ? array.get(liquidityValues, 0) : na, fastMovingAverageLength) slowEMA = ta.ema(array.size(liquidityValues) > 0 ? array.get(liquidityValues, 0) : na, slowMovingAverageLength) // Trading Logic in_date_range = true buy_signal = ta.crossover(fastEMA, slowEMA) and in_date_range sell_signal = ta.crossunder(fastEMA, slowEMA) and in_date_range // Strategy Entry and Exit if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.close("Buy") // Plotting fastPlot = plot(fastEMA, color=fastEMA > slowEMA ? color.new(#00ffbb, 50) : color.new(#ff1100, 50), title="Fast EMA") slowPlot = plot(slowEMA, color=fastEMA > slowEMA ? color.new(#00ffbb, 50) : color.new(#ff1100, 50), title="Slow EMA") // Create a fill between the fast and slow EMA plots with appropriate color based on crossover fill(fastPlot, slowPlot, fastEMA > slowEMA ? color.new(#00ffbb, 50) : color.new(#ff1100, 50))