
یہ حکمت عملی ایک جامع تجارتی نظام ہے جس میں متعدد تکنیکی اشارے شامل ہیں ، بنیادی طور پر ایک مکمل تجارتی فریم ورک کی تشکیل کے لئے گھوسٹ مووینگ اوسط ، ایک متحرک اشارے ، اور ایک فیبونیکی ریڈیکشن لیول کا امتزاج کیا گیا ہے۔ یہ حکمت عملی مارکیٹ کے رجحان کی سمت کا تعین کرنے کے لئے گھوسٹ مووینگ اوسط کا استعمال کرتی ہے ، سگنل کی طاقت کی توثیق کرنے کے لئے متحرک اشارے کے ساتھ مل کر ، اور خطرے کے انتظام کو خودکار بنانے کے لئے فیبونیکی لیول کا استعمال کرتے ہوئے خود کار طریقے سے اہداف اور قیمتوں کے نقصانات کو روکنے کے لئے استعمال کرتی ہے۔ اس کے علاوہ ، اس حکمت عملی میں ایک حقیقی وقت کا تجارتی آلہ بھی شامل ہے ، جو تاجروں کو اہم معلومات اور فیصلہ سازی کی مدد فراہم کرتا ہے۔
گھوسٹ متحرک اوسط (جی ایم اے)یہ حکمت عملی کا ایک بنیادی جزو ہے جو ایک خاص حساب کتاب کے ذریعہ قیمتوں کے رجحان کا اشارہ فراہم کرتا ہے جو روایتی منتقل اوسط سے زیادہ حساس ہے۔ اس کا حساب کتاب کرنے کا فارمولا یہ ہے: پہلے نصف دورانیہ کے وزن والے منتقل اوسط کو دوگنا کریں ((WMA) پورے دورانیے کے وزن والے منتقل اوسط کو کم کریں ، اور پھر اس کے نتیجے میں ایک بار پھر ایک دورانیے کو اصل دورانیے کے مربع جڑ کے وزن والے منتقل اوسط کا اطلاق کریں۔
رفتار اشارےحکمت عملی: مارکیٹ کی حرکیات کی پیمائش کرنے کے لئے موجودہ قیمتوں اور کسی خاص دورانیے سے پہلے کی قیمتوں کے درمیان فرق کا استعمال کرتے ہوئے ، اشاریہ حرکت پذیری اوسط ((EMA) کے ذریعہ ہموار کیا جاتا ہے ، اور پھر معیاری فرق کے ذریعہ یکساں کیا جاتا ہے ، جس سے حرکیات کے اشارے زیادہ مستحکم اور قابل اعتماد ہوجاتے ہیں۔
رجحانات کا تعین: مارکیٹ کے رجحانات کا تعین کرنے کے لئے ماضی میں منتقل ہونے والی اوسط کی پیمائش کی طرف سے پیمائش کی جاتی ہے، اس کی مثبت پیمائش بڑھتی ہوئی رجحان کی نمائندگی کرتی ہے، اور اس کی منفی پیمائش کی کمی کی نمائندگی کرتی ہے.
فبونیکی ہدف قیمت اور سٹاپ نقصان: حکمت عملی فیبونیکی سطح پر واپس جانے والی مدت کے لئے زیادہ سے زیادہ قیمت اور کم سے کم قیمت پر مبنی ہے ، جس میں 0.618 ، 1.0 اور 1.618 کو ہدف کی قیمت اور 0.382 کو روکنے کی سطح کے طور پر استعمال کیا گیا ہے۔
داخلے کی شرائط:
رجحانات اور رفتار کی دوہری تصدیق: اسٹریٹجی کو اس وقت تک مؤثر طریقے سے کم کیا جاسکتا ہے جب تک کہ فینٹم منتقل اوسط اور متحرک اشارے کے ساتھ مل کر ، صرف اس صورت میں ٹریڈنگ سگنل کو متحرک کیا جاسکتا ہے جب دونوں اشارے ایک ساتھ مل جائیں۔
خود کار طریقے سے خطرے کا انتظام: فبونیکی سطح کا استعمال کرتے ہوئے خود کار طریقے سے ہدف کی قیمت اور روکنے کے نقطہ کو مقرر کرنے کا طریقہ ، جو مارکیٹ میں اتار چڑھاؤ کے مطابق خود بخود ایڈجسٹ ہوتا ہے ، مختلف مارکیٹ کے حالات میں مناسب رسک ریٹرن فراہم کرتا ہے۔
بصری ٹریڈنگ ڈیسکحکمت عملی میں شامل ٹریڈنگ ڈیسک ٹاپ ٹرینڈ کی حیثیت ، ٹریڈنگ سگنل ، داخلے کی وجوہات اور ہدف کی قیمت اور اسٹاپ نقصان جیسی اہم معلومات کو بصری طور پر ظاہر کرتا ہے ، جس سے تاجروں کو فوری فیصلے کرنے میں مدد ملتی ہے۔
مارکیٹ کے اتار چڑھاو کے ساتھ نمٹنے: پریت کی حرکت پذیری اوسط قیمتوں میں تبدیلی کے لئے روایتی حرکت پذیری اوسط کے مقابلے میں زیادہ حساس ہے، رجحان کی تبدیلیوں کو تیزی سے شناخت کرنے اور lags کو کم کرنے کے لئے.
واضح تجارتی قواعدحکمت عملی واضح داخلے اور باہر نکلنے کی شرائط فراہم کرتی ہے ، جس سے تاجر کی نظم و ضبط کو برقرار رکھنے میں مدد ملتی ہے۔
زیادہ تجارت کا خطرہ: ہنگامہ خیز مارکیٹوں میں ، قیمتیں اکثر ماضی کی متحرک اوسط کو عبور کرسکتی ہیں ، جس کی وجہ سے بہت زیادہ تجارتی سگنل ہوتے ہیں۔ اس کا حل اضافی فلٹرنگ شرائط کو شامل کرنا ہے ، جیسے صرف واضح رجحانات میں تجارت کرنا یا سگنل کی تصدیق کی مدت میں اضافہ کرنا۔
سٹاپ نقصان کی ترتیب کا خطرہ: فکسڈ تناسب فبونیکی اسٹاپ بہت زیادہ اتار چڑھاؤ والی مارکیٹوں میں کافی لچکدار نہیں ہوسکتا ہے ، جس کی وجہ سے اسٹاپ نقصان بہت زیادہ نرمی یا بہت سخت ہوسکتا ہے۔ مختلف مارکیٹ کے حالات کے مطابق فبونیکی تناسب کو متحرک طور پر ایڈجسٹ کرنے کی تجویز ہے۔
پیرامیٹر کی حساسیت: حکمت عملی کی کارکردگی بہت زیادہ پیرامیٹرز کی ترتیبات پر منحصر ہے ، جیسے جی ایم اے کی لمبائی ، حرکیات کا دورانیہ ، وغیرہ۔ مختلف مارکیٹوں اور ٹائم فریموں میں مختلف پیرامیٹرز کے مختلف مجموعوں کی ضرورت ہوسکتی ہے۔ بہترین پیرامیٹرز تلاش کرنے کے لئے بیک اپ کی سفارش کی جاتی ہے۔
رجحانات کا تعین کرنے میں تاخیر: اگرچہ پریت کی حرکت پذیری اوسط روایتی حرکت پذیری اوسط سے زیادہ حساس ہے ، لیکن اس میں ابھی بھی کچھ تاخیر موجود ہے ، اور رجحانات کے آغاز میں کچھ مواقع ضائع ہوسکتے ہیں۔ رجحانات میں تبدیلیوں کو پہلے سے ہی دریافت کرنے کے لئے مختصر مدت کے اشارے کے ساتھ مل کر غور کیا جاسکتا ہے۔
ریٹرننگ انحراف: حکمت عملی کی فبونیکی سطح تاریخی اعداد و شمار پر مبنی ہے ، اس میں فارورڈ تعصب ہوسکتا ہے۔ حقیقی تجارت میں اس پر توجہ دی جانی چاہئے ، اور اہم سطحوں کے حساب کتاب کے لئے زیادہ متحرک طریقہ استعمال کرنے پر غور کیا جانا چاہئے۔
موافقت پذیر پیرامیٹرز کی اصلاح: موجودہ حکمت عملی میں فکسڈ پیرامیٹرز کی ترتیبات کا استعمال کیا جاتا ہے ، جس میں خود کار طریقے سے مارکیٹ کے اتار چڑھاؤ کے مطابق جی ایم اے کی لمبائی اور حرکیات کی مدت کو خود بخود ایڈجسٹ کرنے کے لئے موافقت کا طریقہ کار متعارف کرایا جاسکتا ہے ، تاکہ حکمت عملی مختلف مارکیٹ کے حالات میں بہترین کارکردگی کا مظاہرہ کرسکے۔
ملٹی ٹائم فریم تجزیہ: ایک سے زیادہ ٹائم فریموں کے تجزیے کو شامل کرنا ، صرف اس وقت تجارت کرنا جب ایک سے زیادہ ٹائم فریموں کے سگنل ایک جیسے ہوں ، جس سے سگنل کے معیار اور کامیابی کی شرح میں نمایاں اضافہ ہوسکتا ہے۔
متحرک سٹاپ ہدف: موجودہ حکمت عملی میں فکسڈ فبونیکی سطح کو ہدف کی قیمت کے طور پر استعمال کیا جاتا ہے ، مارکیٹ میں اتار چڑھاؤ کی متحرک حالت کے مطابق ہدف کی قیمت کو ایڈجسٹ کرنے پر غور کیا جاسکتا ہے ، یا منافع کی صلاحیت کو زیادہ سے زیادہ کرنے کے لئے ٹریک اسٹاپ حکمت عملی پر عمل درآمد کیا جاسکتا ہے۔
حجم تجزیہ: قیمت کے رجحانات کی تاثیر کی توثیق کرنے کے لئے ٹرانزیکشن حجم کے اشارے کے ساتھ مل کر ، صرف اس صورت میں تجارت کی جائے جب قیمت اور ٹرانزیکشن حجم دونوں کی تصدیق ہوجائے ، جس سے جھوٹے بریک سگنل کو کم کیا جاسکے۔
مشین سیکھنے میں اضافہ: مشین لرننگ الگورتھم متعارف کرانے کے لئے داخلہ کی شرائط اور پیرامیٹرز کے انتخاب کو بہتر بنانے کے لئے، ماضی کے اعداد و شمار کے ذریعے تربیت یافتہ ماڈل، بہترین ٹریڈنگ کے مواقع اور خطرے کے انتظام کی حکمت عملی کی پیش گوئی.
جذباتی انڈیکس انضمام: مارکیٹ کے جذبات کے اشارے شامل کریں ، جیسے اتار چڑھاؤ کے اشارے یا دیگر مشتق اشارے ، تاکہ مارکیٹ کے انتہائی حالات میں حکمت عملی کے رویے کو ایڈجسٹ کیا جاسکے ، اور خطرے سے نمٹنے کی صلاحیت کو بہتر بنایا جاسکے۔
فبونیکی ٹارگٹ پرائس اینڈ اسٹاپ اسٹریٹجی ایک جامع تکنیکی تجزیہ ٹریڈنگ سسٹم ہے جو متعدد اشارے اور ٹیکنالوجیز کو ملا کر ایک منظم تجارتی فریم ورک مہیا کرتا ہے۔ اس حکمت عملی کا بنیادی فائدہ رجحانات اور حرکیات کی دوہری تصدیق کا میکانزم ہے ، اور مارکیٹ میں اتار چڑھاؤ پر مبنی خود کار طریقے سے رسک مینجمنٹ سسٹم ہے۔ اگرچہ کچھ موروثی خطرات جیسے پیرامیٹر حساسیت اور ممکنہ حد سے زیادہ تجارت موجود ہیں ، لیکن تجویز کردہ اصلاح کی سمت سے اس حکمت عملی کی استحکام اور تاثیر میں نمایاں اضافہ کیا جاسکتا ہے۔ یہ ایک قابل غور حکمت عملی کا فریم ورک ہے خاص طور پر ان سرمایہ کاروں کے لئے جو سسٹم سازی کا طریقہ ڈھونڈ رہے ہیں۔ واضح رجحانات والی مارکیٹوں میں۔ اس حکمت عملی کو مستقل طور پر بہتر بنانے اور مختلف مارکیٹ کے حالات کے مطابق ڈھالنے کے ذریعہ ، یہ ایک طاقتور آلہ بن سکتا ہے۔
/*backtest
start: 2024-04-02 00:00:00
end: 2025-04-01 00:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Ghost MA + Momentum + Fib TP/SL + Dashboard", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTS ===
src = input(close, "Source")
gmaLength = input.int(20, "GMA Length")
momentumLength = input.int(20, "Momentum Length")
momentumSmoothing = input.int(10, "Momentum Smoothing")
swingLookback = input.int(50, "Fibonacci Swing Lookback")
// === GHOST MOVING AVERAGE ===
gma = ta.wma(2 * ta.wma(src, gmaLength / 2) - ta.wma(src, gmaLength), math.round(math.sqrt(gmaLength)))
plot(gma, title="Ghost MA", color=color.teal, linewidth=2)
// === MOMENTUM GHOST OSCILLATOR ===
momentum = src - src[momentumLength]
smoothMomentum = ta.ema(momentum, momentumSmoothing)
normalizedMomentum = smoothMomentum / ta.stdev(momentum, momentumLength)
// === MARKET TREND ===
gmaSlope = gma - gma[1]
marketTrend = gmaSlope > 0 ? "UPTREND" : "DOWNTREND"
// === SWING POINTS FOR FIBONACCI ===
highestHigh = ta.highest(high, swingLookback)
lowestLow = ta.lowest(low, swingLookback)
fibRange = highestHigh - lowestLow
entryPrice = close
// === FIBONACCI TP/SL LEVELS ===
tp1_long = entryPrice + (fibRange * 0.618)
tp2_long = entryPrice + (fibRange * 1.0)
tp3_long = entryPrice + (fibRange * 1.618)
sl_long = entryPrice - (fibRange * 0.382)
tp1_short = entryPrice - (fibRange * 0.618)
tp2_short = entryPrice - (fibRange * 1.0)
tp3_short = entryPrice - (fibRange * 1.618)
sl_short = entryPrice + (fibRange * 0.382)
// === STRATEGY CONDITIONS ===
longCond = ta.crossover(src, gma) and normalizedMomentum > 0
shortCond = ta.crossunder(src, gma) and normalizedMomentum < 0
if (longCond)
strategy.entry("Long", strategy.long)
strategy.exit("TP/SL Long", from_entry="Long", limit=tp1_long, stop=sl_long)
if (shortCond)
strategy.entry("Short", strategy.short)
strategy.exit("TP/SL Short", from_entry="Short", limit=tp1_short, stop=sl_short)
// === SIGNAL LABELS ON CHART ===
if (longCond)
label.new(bar_index, low, "BUY\n" + str.tostring(close, "#.##"), style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small)
if (shortCond)
label.new(bar_index, high, "SELL\n" + str.tostring(close, "#.##"), style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)
// === ALERT CONDITIONS ===
alertcondition(longCond, title="Buy Signal", message="Buy Signal Triggered: GMA Cross Up + Momentum Positive")
alertcondition(shortCond, title="Sell Signal", message="Sell Signal Triggered: GMA Cross Down + Momentum Negative")
// === DASHBOARD ===
var table dash = table.new(position.top_right, 1, 8, border_width=1)
if bar_index % 5 == 0
signal = longCond ? "BUY" : shortCond ? "SELL" : "WAIT"
reason = longCond ? "GMA↑ & Momentum+" : shortCond ? "GMA↓ & Momentum−" : "No Clear Signal"
timeframe = timeframe.period
sigColor = signal == "BUY" ? color.new(color.green, 20) : signal == "SELL" ? color.new(color.red, 20) : color.new(color.gray, 60)
trendColor = marketTrend == "UPTREND" ? color.new(color.green, 80) : color.new(color.red, 80)
table.cell(dash, 0, 0, "📊 GHOST TRADING DASHBOARD", text_color=color.black, bgcolor=color.lime, text_size=size.large)
table.cell(dash, 0, 1, "Trend: " + marketTrend, text_color=color.black, bgcolor=trendColor, text_size=size.normal)
table.cell(dash, 0, 2, "Timeframe: " + timeframe, text_color=color.black, bgcolor=color.purple, text_size=size.normal)
table.cell(dash, 0, 3, "Signal: " + signal + " @ " + str.tostring(close, "#.##"), text_color=color.black, bgcolor=sigColor, text_size=size.normal)
table.cell(dash, 0, 4, "Reason: " + reason, text_color=color.black, bgcolor=color.new(color.yellow, 60), text_size=size.normal)
table.cell(dash, 0, 5, signal == "BUY" ? "TP1: " + str.tostring(tp1_long, "#.##") +
" | TP2: " + str.tostring(tp2_long, "#.##") +
" | TP3: " + str.tostring(tp3_long, "#.##")
: signal == "SELL" ? "TP1: " + str.tostring(tp1_short, "#.##") +
" | TP2: " + str.tostring(tp2_short, "#.##") +
" | TP3: " + str.tostring(tp3_short, "#.##") : "-",
text_color=color.black, bgcolor=color.new(color.green, 80), text_size=size.normal)
table.cell(dash, 0, 6, "Reentry: " + str.tostring(gma, "#.##"), text_color=color.black, bgcolor=color.new(color.orange, 80), text_size=size.normal)
table.cell(dash, 0, 7, signal == "BUY" ? "SL: " + str.tostring(sl_long, "#.##") : signal == "SELL" ? "SL: " + str.tostring(sl_short, "#.##") : "-", text_color=color.black, bgcolor=color.new(color.red, 70), text_size=size.normal)