
یہ حکمت عملی ایک کمپاؤنڈ قسم کا مقداری تجارتی نظام ہے جو فیبونیکی واپسی اور توسیع کی سطح پر مبنی ہے اور ای ایم اے اوسط رجحان کے فیصلے کے ساتھ مل کر ہے۔ حکمت عملی مارکیٹ میں اہم معاون مزاحمت کی سطح کی نشاندہی کرکے رجحان کے اشارے کے ساتھ تجارت کرتی ہے۔ یہ نظام مارکیٹ میں رجحانات کا اندازہ لگانے کے لئے 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")