یہ حکمت عملی فبونیکی ریٹریکشن اور توسیع کی سطحوں پر مبنی ایک جامع مقداری تجارتی نظام ہے ، جس میں ای ایم اے کے رجحان کے تعین کے ساتھ مل کر ہے۔ یہ حکمت عملی مارکیٹ میں اہم معاونت اور مزاحمت کی سطحوں کی نشاندہی کرتی ہے اور رجحان سگنلز کی بنیاد پر تجارت انجام دیتی ہے۔ یہ نظام مارکیٹ کے رجحانات کا تعین کرنے کے لئے 20 مدت اور 50 مدت کے ای ایم اے کا استعمال کرتا ہے اور بہترین تجارتی مواقع تلاش کرنے کے لئے فبونیکی ریٹریکشن کی سطحوں کا استعمال کرتا ہے۔
بنیادی منطق میں تین اہم اجزاء شامل ہیں۔ پہلا ، یہ قیمت کی حد کا تعین کرنے کے لئے گذشتہ 10 ادوار میں سب سے زیادہ اور سب سے کم قیمتوں کا حساب لگاتا ہے۔ دوسرا ، یہ اس حد کی بنیاد پر پانچ کلیدی فبونیکی ریٹریسیشن کی سطحوں (0.236 ، 0.382 ، 0.5 ، 0.618 ، 0.786) کا حساب لگاتا ہے۔ آخر میں ، یہ 20 اور 50 ادوار کے ای ایم اے کے کراس اوور کے ذریعے رجحان کی سمت کا تعین کرتا ہے۔ جب قیمت اپ ٹرینڈ میں ریٹریسیشن کی سطح سے تجاوز کرتی ہے تو خرید سگنل پیدا ہوتے ہیں ، جبکہ فروخت سگنل اس وقت شروع ہوتے ہیں جب قیمت ڈاؤن ٹرینڈ میں ریٹریسیشن کی سطح سے نیچے ہوتی ہے۔
حکمت عملی کلاسیکی تکنیکی تجزیہ کے اوزار کو یکجا کرکے نسبتا complete مکمل تجارتی نظام تیار کرتی ہے۔ اگرچہ اصلاح کے لئے کچھ علاقے موجود ہیں ، لیکن مجموعی فریم ورک مارکیٹ میں اچھی موافقت کا مظاہرہ کرتا ہے۔ مسلسل اصلاح اور بہتری کے ذریعے ، حکمت عملی اصل تجارت میں بہتر کارکردگی کا وعدہ کرتی ہے۔ براہ راست تجارت سے پہلے تاریخی ڈیٹا بیک ٹیسٹنگ اور پیرامیٹر کی اصلاح کا مکمل عمل کرنے کی سفارش کی جاتی ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Fibonacci Retracement and Extension Strategy", overlay=true) // Define the Fibonacci levels for retracement and extension fibRetracementLevels = array.new_float(5) array.set(fibRetracementLevels, 0, 0.236) array.set(fibRetracementLevels, 1, 0.382) array.set(fibRetracementLevels, 2, 0.5) array.set(fibRetracementLevels, 3, 0.618) array.set(fibRetracementLevels, 4, 0.786) fibExtensionLevels = array.new_float(5) array.set(fibExtensionLevels, 0, 1.618) array.set(fibExtensionLevels, 1, 2.618) array.set(fibExtensionLevels, 2, 3.618) array.set(fibExtensionLevels, 3, 4.236) array.set(fibExtensionLevels, 4, 5.618) // Calculate the high and low prices for the last 10 bars highPrice = ta.highest(high, 10) lowPrice = ta.lowest(low, 10) // Calculate the Fibonacci retracement levels fibRetracement = array.new_float(5) for i = 0 to 4 array.set(fibRetracement, i, highPrice - (highPrice - lowPrice) * array.get(fibRetracementLevels, i)) // Calculate the trend using the Exponential Moving Average (EMA) shortEMA = ta.ema(close, 20) longEMA = ta.ema(close, 50) // Define the trend conditions isUptrend = shortEMA > longEMA isDowntrend = shortEMA < longEMA // Generate buy and sell signals var float lastFibRetracementLevel = na var float lastFibExtensionLevel = na // Buy condition: price crosses above the highest retracement level if (isUptrend) for i = 0 to 4 if (close > array.get(fibRetracement, i)) lastFibRetracementLevel := array.get(fibRetracement, i) strategy.entry("Buy", strategy.long) // Sell condition: price crosses below the lowest retracement level if (isDowntrend) for i = 0 to 4 if (close < array.get(fibRetracement, i)) lastFibRetracementLevel := array.get(fibRetracement, i) strategy.entry("Sell", strategy.short) // Plotting the Fibonacci levels on the chart // for i = 0 to 4 // line.new(bar_index[10], array.get(fibRetracement, i), bar_index, array.get(fibRetracement, i), color=color.new(color.blue, 70), width=1) // Plot the EMAs plot(shortEMA, color=color.red, title="Short EMA") plot(longEMA, color=color.blue, title="Long EMA")